Elasticsearch Was Never a Database

It’s a search tool, not your truth vault—devs roast risky bets

TLDR: Elasticsearch is a fast search engine, not a safe place to store your one copy of the truth. Commenters roasted teams who treated it like a real database, with security pros warning of lost data, while defenders noted Elastic never promised bank‑level guarantees—use it for search, not for records.

The internet lit up after a blunt piece declared Elasticsearch was never a database—more like a supercharged search tool built on Lucene. The community’s mood? Spicy. Security folks stormed in to say they wouldn’t trust it to hold crucial logs, let alone mission‑critical records. One infosec voice swore they wouldn’t “bet their savings” on it staying online or keeping data safe. Meanwhile, engineers asked how anyone ever thought a search index was a bank vault for truth.

Defenders pushed back: Elastic never promised the goods of a real database (think Postgres), like all‑or‑nothing updates or instant reads. The article spells out why—no multi‑document transactions, searches can lag behind recent writes, and changing fields can force painful reindexing. Commenters translated that into plain English: it’s amazing at finding stuff fast, not at guarding the family jewels.

Then came the memes. “Everything is a database if you believe hard enough,” quipped one, while another rolled their eyes at glossy marketing—“A crummy commercial?” The drama centers on teams who quietly let the index become the system of record. The verdict from the crowd: use Elastic for search, not for your one source of truth.

Key Points

  • Elasticsearch is a search engine over Apache Lucene and not designed as a primary OLTP database or system of record.
  • Elastic advises keeping an external source of truth, using Elasticsearch as a secondary index for search.
  • Teams often move from dual storage to relying on Elasticsearch alone, which introduces consistency and reliability issues.
  • Elasticsearch lacks atomic multi-document transactions; GET vs SEARCH reads have different consistency due to asynchronous segment refreshes.
  • Schema changes in Elasticsearch typically require reindexing, unlike relational databases that support ALTER TABLE operations.

Hottest takes

“I would never. Ever. Bet my savings on ES being stable…” — unethical_ban
“Everything is a database if you believe hard enough” — lvspiff
“They never claimed to be a ‘database’” — toenail
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.