Elasticsearch Was Never a Database
4 months ago
- #Database
- #Search Engine
- #Elasticsearch
- Elasticsearch was designed as a search engine, not a primary database.
- Using Elasticsearch as a primary database leads to issues with transactions, schema migrations, and query limitations.
- Elasticsearch lacks atomic transactions, making it unreliable for operations requiring consistency.
- Schema changes in Elasticsearch often require reindexing, which can be risky when it's the primary store.
- Elasticsearch's query capabilities are limited compared to relational databases, especially for joins.
- Durability and recovery in Elasticsearch are not as robust as in traditional databases.
- Operating Elasticsearch at scale introduces operational challenges and instability.
- Misusing Elasticsearch as a database increases complexity, cost, and engineering effort.
- Elasticsearch should remain a search engine, with the primary database handling the system of record.
- ParadeDB is presented as an alternative combining OLTP and full-text search in one system.