Architecture decisions for database
For building AI applications, there needs to be various databases for various requirements. Review the database architecture decisions for the speech and vision recognition with RAG AI pattern design based on functional aspects:
| Architecture decision | Requirement | Alternative | Decision | Rationale |
|---|---|---|---|---|
| Relational datastore | Provide a highly available backend database that meets availability, performance, and resiliency requirements for the application |
|
Database for PostgreSQL | A managed database that is highly available to store records across microservices. For this application, it uses IBM Cloud Databases for PostgreSQL. |
| Document datastore | Provide a document-based database optimized to store unstructured data for bespoke front end application |
|
IBM Cloudant | IBM Cloudant is available as an IBM Cloud service with a 99.99% SLA. IBM Cloudant elastically scales throughput and storage, and its API and replication protocols are compatible with Apache CouchDB for hybrid or multicloud architectures. |
| Vector datastore | Provide a highly scalable vector data for Retrieval-Augmented Generation (RAG) application |
|
watsonx.data Milvus | Milvus is a vector database that stores, indexes, and manages massive embedding vectors that are developed by deep neural networks and other machine learning (ML) models. It is developed to empower embedding similarity search and AI application. Milvus makes unstructured data search more accessible and consistent across various environments. |
| Vector Datastore for embeddings | Provide a vector data store for embeddings for machine learning. |
|
Elasticsearch | Elasticsearch is used as a Database to store vector representations also known as embeddings created by using machine learning algorithms |