logoalt Hacker News

devintoday at 2:26 PM11 repliesview on HN

This kind of post (Postgres! It's all you need!) is getting pretty tiresome. Postgres does not even come close to a full replacement for Elastic, and that's just the first bullet.

Looking down the list it is pretty easy to go: Yes, postgres can be used instead of that for extremely basic use cases, but it all goes out the window you actually need any of the power of these other tools.


Replies

0cf8612b2e1etoday at 4:07 PM

I think it would be helpful if some of these posts included scale. There are almost always two groups talking past each other

  - I run my B2B application, Postgres only, and it is perfect for my 50k MAU. No complaints, sleeping soundly with the low complexity and a two man team. 
  - I work at FAANG, where we have 1 billion DAU, and this is a joke. Would fall over immediately. The dedicated ops teams for Kubernetes, Elastic, and Redis have never complained about scaling issues.
show 1 reply
vb-8448today at 5:00 PM

> Postgres does not even come close to a full replacement for Elastic

Size matters!

For most of the application out there elastic (or kafka or any other specialized tool) is just too much(and too costly). They can do fine with postgres or mysql. Actually, I'd argue that in a lot of cases even postgres is too much, probably sqlite is enough.

philippemnoeltoday at 4:54 PM

You're right that vanilla Postgres doesn't come close to replacing Elastic. There are efforts to resolve this, though, like ParadeDB: https://github.com/paradedb/paradedb (disclaimer: I work for ParadeDB)

show 1 reply
kumarvvrtoday at 3:47 PM

The power of the other tools mostly shines in large scales. For most applications, though, performance of postgres more than suffices.

I tried to use rabbitmq for a small app, installed it, configured it and then it didn't work. Spent a day jumping through hoops getting it right.

Dumped it and used postgres, in half an hour. Worked like a charm.

show 2 replies
wolttamtoday at 2:45 PM

That's just it - most use-cases are pretty basic, and if you don’t know what you need then Postgres is probably a great place to start.

If you’re just starting out, keep things simple. Otherwise, you probably already know exactly why you need something more than Postgres.

deweytoday at 2:49 PM

The point is in general for people to just consider it, often people start out on their side projects or internal company projects and commission Elastic, Redis, Postgres, Kafka before even getting started. In reality they could fit it all into Postgres for a very long time.

Nobody is saying that a huge ecommerce store with complicated filtered search logic should throw away their Elasticsearch cluster and switch to Postgres.

show 1 reply
airockertoday at 2:43 PM

Postgres its all you need means to me(IMHO) postgres for all Olap (DB + message) , not all analytical databases.

show 2 replies
jjordantoday at 2:39 PM

I'm partial to Typesense, especially for smaller data sets, since it runs primarily in memory, is easy to use and is hella fast. For bigger data sets, I hear good things about Meilisearch.

otherme123today at 2:59 PM

I have a lot of troubles with a small private instance of Rocket chat, all due to MongoDb stuff, versions, migrations and backups. I bet almost all private instances of Rocket chat would be perfectly served with Postgres.

Posts like this can be tiresome, yet the general consensus among developers seems to be "yeah, Postgre/SQLite is ok for 99% of the cases, but MY case is going to be in the 1%, because I am going to be the next Facebook".

anarazeltoday at 2:40 PM

Fwiw, I, as someone who has worked on Postgres for a long time, also find it quite tiresome. Like there's plenty stuff I wouldn't use Postgres for, and I can probably get get more out of it than most.

onesandofgraintoday at 2:32 PM

if you need elastic youre doing something wrong