Document Stores and Search Engines

awslinuxperformancecompanyhttp

Stores whose unit is a self-describing document (usually JSON) rather than a row. Search engines sit here too: they store documents and their reason to exist is the inverted index over them, not the storage.

Licensing is the live issue in this family. Three of the six below are not open source under OSI terms, and the two that are plain Apache 2.0 are that way deliberately.

MongoDB

The default answer in this family, for better or worse. Check the licence before you assume it is open source: the repository ships LICENSE-Community.txt, the Server Side Public License v1, dated 16 October 2018.

hold

CouchDB

Apache-licensed. Multi-primary replication over HTTP is the distinguishing feature; built to sync with occasionally-connected clients.

adopt

RethinkDB

Push-based queries that stream changes to the client rather than making it poll. Its README now reads “RethinkDB is licensed by the Linux Foundation under the open-source Apache 2.0 license” - the project outlived the company that built it.

Elasticsearch and OpenSearch

Elasticsearch is the inverted index everyone reaches for, and the most licence-encumbered thing on this page. LICENSE.txt states a triple licence: AGPL v3 only, SSPL v1, and Elastic License 2.0, with individual files free to say otherwise.

That history produced OpenSearch: Elastic announced the move away from Apache 2.0 to the SSPL on 14 January 2021, AWS forked that year, and governance passed to the OpenSearch Software Foundation under the Linux Foundation on 16 September 2024. OpenSearch is plain Apache 2.0, and not a token fork - 1,492 commits from 213 contributors over the last twelve months, with 3.8.0 released 2026-08-05.

On performance, treat the widely-cited numbers carefully. Trail of Bits benchmarked the two and found OpenSearch 2.17.1 about 1.6x faster than Elasticsearch 8.15.4 on the Big5 workload and 11% faster on vector search - but the study was commissioned by AWS, who created OpenSearch, and the authors record that OpenSearch’s tail latency is worse, with one maximum service time at 1412x the median. The licence is the durable argument; the benchmark is not.

hold

Prefer OpenSearch, for the Apache licence.

Solr

Apache Solr is the older Lucene-based engine, plain Apache 2.0 with no asterisks, which is the main reason to prefer it.

adopt

Notes

  • Elasticsearch is commonly paired with Logstash for ingestion and Kibana for visualisation, the combination usually written ELK. Banana is a Kibana port that reads from Solr instead.
  • Couchbase’s server source is no longer published at a single public repository; see couchbase.com.

Related