1. 20
  1. 7

    Postgres is amazing, use it for basically everything. For some things you’ll want dedicated tools though:

    • Search: Elastic
    • Counter increments, quickly updating lists: Redis + Postgres
    • Storing extremely large data sets with high write and read volume: Cassandra

    For everything else: Postgres :) Postgres’ document storage capabilities are also pretty good nowadays. And sure SQL can be a bit hard to use in some cases. If you have a good ORM with Migrations and it’s just as easy to use as something like Mongo though. Feel like Mongo just became popular due to the lack of good ORM software in the Node ecosystem.

    1. 2

      Search: Elastic

      I disagree somewhat, though Elasticsearch is my choice for many of these things (and the base of my business). Search is a wide field, ranging from a better LIKE to a fine-tuned search engine with multiple query strategies etc… Postgres search features span the spectrum very cleanly from the left, are well implemented and have a well-documented ceiling.

      Many Elasticsearch installations I see skip many of the things that make ES great (like the ability to fine tune queries in many fashions, etc.). These are more like a “better LIKE” and, for operational reasons, should pick PG full text indices if they use PG already.