Data stores
Read this page in the documentation
Data stores Beyond the SQL dialects, prorm ships adapters for 88 non-relational stores — documents, key-value, wide-column, graph, vector, search, object storage, queues and more. These are not dialects A SQL dialect implements a shared contract: give it a FindOptions and it returns SQL. These stores do not share one, and pretending they did would be a lie — a document store, a blob bucket and a message queue have nothing meaningful in common at the query level. So each store implements only NoSqlStore, the minimal connection lifecycle (connect, disconnect, isConnected, getClient), and then exposes its own API shape on top. MongoStore gives you filters and aggregation pipelines; RedisStore gives you commands and TTLs; S3Store gives you object operations. There are no models, no define(), no DDL and no joins. getClient() always returns the underlying driver, so anything an adapter does not wrap is still reachable. Drivers are peer dependencies Adapters lazy-load their driver, so installing prorm does not pull in 88 database clients. Install the one you need — mongodb, ioredis, @elastic/elasticsearch and so on — alongside it. 88 stores, grouped by what they are for. The catalogue Document Schema-flexible JSON-ish documents, queried by filter rather than by join. Store | What it is | --- | --- | CouchbaseStore | Reference documentation for the Couchbase store in the Prorm NoSQL layer. | RethinkDBStore | Reference documentation for RethinkDBStore, the ORM's store for RethinkDB. | SurrealStore (SurrealDB) | Reference for the SurrealStore NoSQL store. | OrientDbStore — OrientDB multi-model store | OrientDB is a multi-model database combining document, graph, key/value, and object models, queried with an extended… | MarkLogicStore — MarkLogic multi-model store | MarkLogic is a multi-model database (document, graph/RDF triples, search, relational views) where documents are… | RavenDbStore — RavenDB multi-model store | RavenDB is a transactional, multi-model document database with a unit-of-work session API (store/load/delete +… | FaunaDbStore — Fauna (FaunaDB) multi-model store | Fauna is a distributed, multi-model database (document, relational, graph) driven by FQL — a functional query… | CosmosDbStore — Azure Cosmos DB multi-model store | Azure Cosmos DB is a multi-model database — document, key/value, graph, and column-family models exposed through a… | FirestoreStore — Google Cloud Firestore store | Google Cloud Firestore is a document database organized as collections of documents, each addressed by an id, with… | Key-value A key and an opaque value. Fast, simple, and no query language to speak of. Store | What it is | --- | --- | MemcachedStore | Memcached is a distributed in-memory key-value cache. | DaxStore — Amazon DynamoDB Accelerator (DAX) | Amazon DynamoDB Accelerator (DAX) is a fully managed, in-memory, write-through cache for Amazon DynamoDB. | AerospikeStore — Aerospike key-value store | Aerospike is a distributed, flash-optimized key-value store. | Wide-column Partition key plus clustering columns. Model the table around the query — there are no joins and WHERE is restricted. Store | What it is | --- | --- | CassandraStore | Reference documentation for the Apache Cassandra (CQL) store. | ScyllaStore — ScyllaDB (CQL) wide-column store | ScyllaDB is a wide-column, partition-key-based distributed store that is wire- and query-compatible with Apache… | KeyspacesStore — Amazon Keyspaces (for Apache Cassandra) | Amazon Keyspaces is AWS's serverless, fully managed wide-column store that is compatible with Apache Cassandra: it… | HBaseStore — Apache HBase wide-column store | Apache HBase is a wide-column, sorted-map distributed store built on top of HDFS, modelled on Google's Bigtable paper. | BigtableStore — Google Cloud Bigtable wide-column store | Google Cloud Bigtable is Google's fully-managed wide-column store — the system the original Bigtable paper describes… | Graph Nodes and edges, traversed rather than joined. Store | What it is | --- | --- | DgraphStore — Dgraph native graph database | Dgraph is a distributed, native graph database queried with DQL (its GraphQL-derived query language) rather than SQL. | Vector Embedding storage with nearest-neighbour search, for semantic retrieval. Store | What it is | --- | --- | ChromaStore — Chroma (ChromaDB) vector database | Chroma (ChromaDB) is an embedding database organized around collections. | Time-series Append-heavy, timestamp-indexed data with downsampling and retention. Store | What it is | --- | --- | PrometheusStore — Prometheus time-series monitoring | Prometheus is a pull-based time-series monitoring system. | VictoriaMetricsStore — VictoriaMetrics time-series database | VictoriaMetrics is a fast, cost-effective time-series database. | Search Inverted indexes, relevance ranking and analyzers. Indexing is asynchronous — a document is not searchable the instant it is written. Store | What it is | --- | --- | OpenSearchStore | Reference for the OpenSearchStore, the ORM's NoSQL store for OpenSearch. | MeilisearchStore — Meilisearch search engine | Meilisearch is a search engine built around an inverted index with typo-tolerant, prefix, full-text search and… | TypesenseStore — Typesense search engine | Typesense is a typo-tolerant search engine built around an inverted index with faceting, filtering and ranking… | SolrStore — Apache Solr search engine | Apache Solr is a search engine built on Lucene. Documents are schema-flexible JSON records indexed into a core (or a… | Object storage Blobs addressed by key, with no query capability beyond prefix listing. Store | What it is | --- | --- | S3Store — Amazon S3 object storage | Amazon S3 (Simple Storage Service) is an object store, not a database. | GCSStore — Google Cloud Storage | GCSStore is a store for Google Cloud Storage, Google's object storage service. | AzureBlobStore | Reference for the Azure Blob Storage store. | MinioStore — MinIO object storage | MinIO is a self-hostable, S3-compatible object store. | R2Store — Cloudflare R2 object storage | Cloudflare R2 is Cloudflare's S3-compatible object store. | Streaming Ordered, replayable logs of messages, consumed by offset. Store | What it is | --- | --- | KafkaStore (Apache Kafka) | Reference for the KafkaStore NoSQL store, which wraps a kafkajs client and exposes Apache Kafka's core operations. | NatsStore | Reference for NatsStore — the ORM's NoSQL store backed by NATS and its JetStream key/value layer. | RabbitMQStore | Reference documentation for RabbitMQStore, the ORM's RabbitMQ / AMQP 0-9-1 store. | PulsarStore — Apache Pulsar pub/sub & streaming | Apache Pulsar is a distributed pub/sub messaging and streaming platform. | RedpandaStore — Redpanda streaming (Kafka-compatible) | Redpanda is a streaming data platform that is wire-compatible with the Apache Kafka protocol — it speaks the exact… | In-memory data grid Distributed memory with compute alongside the data. Store | What it is | --- | --- | HazelcastStore — Hazelcast distributed in-memory data grid | Hazelcast is a distributed in-memory data grid (IMDG). | IgniteStore — Apache Ignite distributed in-memory data grid | Apache Ignite is a distributed in-memory data grid / database. | GridGainStore — GridGain in-memory computing platform | GridGain is the commercial in-memory computing platform built on (and wire-compatible with) Apache Ignite: it speaks… | InfinispanStore — Infinispan distributed in-memory data grid | Infinispan is a distributed in-memory key/value data grid. | GeodeStore — Apache Geode distributed in-memory data grid | Apache Geode (the engine behind Pivotal/VMware GemFire) is a distributed in-memory data grid. | CoherenceStore — Oracle Coherence distributed in-memory data grid | Oracle Coherence is a distributed in-memory data grid. Data lives in named caches — its distributed maps. | Embedded storage engine A library, not a server — the database is a file in your process. Store | What it is | --- | --- | RocksDBStore — embedded LSM-tree key-value store | RocksDB is an embedded, in-process key-value store built on an LSM (log-structured merge) tree. | LevelDBStore — embedded ordered key-value store | LevelDB is an embedded, in-process ordered key-value store (no server), accessed here through the level package — an… | LmdbStore — embedded memory-mapped key-value store | LMDB (Lightning Memory-Mapped Database) is an embedded, in-process, memory-mapped ordered key-value store (no server). | UnqliteStore — embedded serverless key-value engine | UnQLite is an embedded, in-process, serverless database engine with a simple key-value store layer (it also has a… | NedbStore — embedded document database (MongoDB-like) | NeDB is an embedded, in-process document database with a MongoDB-like API, backed by an append-only file or purely… | PouchdbStore — embedded document database | PouchDB is an embedded, in-process document database (it can run purely in Node against a filesystem-backed adapter,… | Ledger / immutable Append-only with cryptographic verification, for data that must be provably unaltered. Store | What it is | --- | --- | QldbStore — Amazon QLDB ledger | Amazon QLDB (Quantum Ledger Database) is a fully managed, append-only, cryptographically verifiable ledger database. | ImmudbStore — immudb immutable key-value ledger | immudb is an immutable, append-only key-value (and SQL) database with built-in cryptographic verification: every… | BigchaindbStore — BigchainDB blockchain database | BigchainDB is a blockchain database: data is written as cryptographically signed, immutable transactions over assets. | TerminusdbStore — TerminusDB versioned document/graph store | TerminusDB is an immutable, versioned document/graph database with a git-like data model: every write produces a new… | FlureeStore — Fluree time-travel ledger (HTTP/JSON) | Fluree is an immutable, time-travel ledger database: every transaction is appended as a set of… | ProvendbStore — ProvenDB versioned documents + proofs (HTTP/JSON) | ProvenDB is a MongoDB-compatible database that adds immutable, versioned documents plus cryptographic proofs: every… | Real-time OLAP Sub-second aggregate queries over freshly ingested data. Store | What it is | --- | --- | DruidStore — Apache Druid real-time OLAP store | Apache Druid is a real-time OLAP / analytics datastore built for sub-second queries over large event streams. | PinotStore — Apache Pinot real-time OLAP store | Apache Pinot is a real-time distributed OLAP datastore built for low-latency analytics on both streaming and batch… | StarrocksStore — StarRocks real-time OLAP store | StarRocks is a high-performance real-time analytical (MPP OLAP) database. | DorisStore — Apache Doris real-time OLAP store | Apache Doris is a real-time MPP analytical (OLAP) database. | RocksetStore — Rockset real-time analytics store | Rockset is a real-time analytics database that indexes streaming and document data (a "converged index" over row,… | MaterializeStore — Materialize streaming analytics store | Materialize is a streaming (incrementally-updated) analytics database: you define SOURCEs over event streams and… | RDF / triplestore Subject-predicate-object triples queried with SPARQL. Store | What it is | --- | --- | FusekiStore — Apache Jena Fuseki RDF triplestore | Apache Jena Fuseki is a SPARQL server over the Jena RDF triplestore. | GraphdbStore — Ontotext GraphDB RDF triplestore | Ontotext GraphDB is an RDF triplestore that speaks the SPARQL 1.1 Protocol over HTTP. | StardogStore — Stardog knowledge-graph / RDF triplestore | Stardog is an enterprise knowledge-graph / RDF triplestore. It speaks the SPARQL 1.1 Protocol over HTTP. | BlazegraphStore — Blazegraph RDF triplestore | Blazegraph is a high-performance RDF triplestore. It speaks the SPARQL 1.1 Protocol over HTTP. | VirtuosoStore — OpenLink Virtuoso RDF triplestore | OpenLink Virtuoso is a multi-model server whose RDF triplestore is queried over the SPARQL 1.1 Protocol. | AllegrographStore — AllegroGraph semantic-graph / RDF triplestore | AllegroGraph is a semantic-graph / RDF triplestore. Its repositories are queried over the SPARQL 1.1 Protocol. | Cloud pub/sub & event streaming Managed messaging from the cloud providers. Store | What it is | --- | --- | KinesisStore — Amazon Kinesis Data Streams | Amazon Kinesis Data Streams is a managed, sharded, append-only record-streaming service — a cloud sibling of Kafka. | EventHubsStore — Azure Event Hubs | Azure Event Hubs is a managed, partitioned event-ingestion / event-streaming service — Azure's Kafka-like offering. | PubSubStore — Google Cloud Pub/Sub | Google Cloud Pub/Sub is a managed, topic-and-subscription messaging service. | SqsStore — Amazon SQS (Simple Queue Service) | Amazon SQS (Simple Queue Service) is a managed, pull-based message queue. | SnsStore — Amazon SNS (Simple Notification Service) | Amazon SNS (Simple Notification Service) is a managed, push-based publish/subscribe fan-out service: publishers send… | EventStoreStore — EventStoreDB (Kurrent) | EventStoreDB (recently rebranded Kurrent) is a purpose-built database for event sourcing: an append-only log of… | Edge / serverless KV Key-value storage replicated to the edge, for read-heavy access close to users. Store | What it is | --- | --- | CloudflareKvStore — Cloudflare Workers KV | Cloudflare Workers KV is a globally-distributed, eventually-consistent key-value store exposed over Cloudflare's… | VercelKvStore — Vercel KV (serverless Redis) | Vercel KV is a serverless, globally-replicated Redis-compatible key-value store fronted by the @vercel/kv client (a… | UpstashStore — Upstash Redis (serverless Redis over HTTP) | Upstash Redis is a serverless, globally-replicated Redis served over an HTTP/REST connection via the @upstash/redis… | DenoKvStore — Deno KV (serverless KV over KV Connect) | Deno KV is a globally-distributed, serverless key-value database. | MomentoStore — Momento Cache (serverless cache) | Momento is a serverless, globally-available cache accessed through the @gomomento/sdk CacheClient. | Job / task queue Durable work queues with retries and scheduling. Store | What it is | --- | --- | BeanstalkdStore — Beanstalkd work queue | Beanstalkd is a simple, fast work queue, not a database. | GearmanStore — Gearman job server | Gearman is a generic application framework for farming out work — a job server, not a database. | BullMQStore — BullMQ Redis-backed queue | BullMQ is a Redis-backed job/task queue, not a database. | NsqStore — NSQ topic/channel messaging | NSQ is a realtime distributed messaging platform, not a database. | ResqueStore — node-resque Redis-backed jobs | node-resque is a Redis-backed background-job system compatible with Ruby's Resque — not a database. | BeeQueueStore — Bee-Queue Redis-backed queue | Bee-Queue is a fast, lightweight Redis-backed job queue, not a database. | Log / observability Log and telemetry ingestion, queried by time and label. Store | What it is | --- | --- | LokiStore — Grafana Loki log aggregation | Grafana Loki is a horizontally-scalable, multi-tenant log aggregation engine. | SplunkStore — Splunk log ingestion & search | Splunk is a log-ingestion and search platform. Data is ingested through the HTTP Event Collector (HEC) and searched… | GraylogStore — Graylog centralized log management | Graylog is a centralized log-management platform. Logs are ingested in GELF (Graylog Extended Log Format) over an… | SumoLogicStore — Sumo Logic cloud log management | Sumo Logic is a cloud log-management and analytics platform. | SigNozStore — SigNoz OTLP log ingest & query | SigNoz is an open-source, ClickHouse-backed observability platform for logs, traces, and metrics. | PapertrailStore — Papertrail hosted log management | Papertrail (by SolarWinds) is a hosted log-management service. | Related reading Database types — the full 22-category taxonomy SQL dialects — the relational side Running databases in Docker — get one running locally