databaseSupported Datastores

Overview

The GLLM DataStore library implements the Single Abstraction Pattern, meaning you interact with a unified API regardless of the underlying storage engine. Whether you use Chroma for prototyping or Elasticsearch for production, the code to store and retrieve data remains generic:

# The only difference is the initialization
store = ChromaDataStore(...)
# OR
store = ElasticsearchDataStore(...)

# The rest of your code stays the same
await store.vector.retrieve(query="...")

Feature Matrix

Datastore
Fulltext
Vector
Hybrid
Notes

Chroma

Great for local dev & prototyping.

Elasticsearch

Production-grade search engine.

OpenSearch

Open-source alternative to ES.

Milvus

High-performance vector database.

PostgreSQL

Uses pgvector for vector support.

Redis

In-memory speed with persistence.

SQL

Generic SQL support (Postgres, MySQL, SQLite).

In-Memory

For testing and ephemeral data.

Initialization Examples

To inspect the specific prerequisites for each datastore (e.g. pip install ...), please refer to the Optional Dependenciesarrow-up-right section.

Last updated

Was this helpful?