Selecting a database for my project



I am about to do a full refactor of my latest project and probably fork out some parts to single services.

Since day one we’ve been running on MongoDB hosted at compose without any hiccups, but lately I’ve been reading a lot about write inconsistency when scaling the replica set and sharding. The projects main goal is warehouse management so the data is very important.

I have couple of questions:

  1. Is mongo “Write concern - Replica Acknowledged” enough for critical data, if so how can I enable it inside meteor?.

  2. Should I move the app to RethinkDB, since its should be more reliable and there is a package for it that supports reactivity.

  3. Do a safe bet on something like PostgreSQL or Redis, which would require a complete rethink of the DB “schema” since it uses tables instead of JSON. There are also packages that support reactivity and client db.

Option #1 would be preferred, as per this it should be fine until we scale beyond my wildest dreams. I have read a little bit about RethinkDB and I like the API but yeah… it will slow down development since I’ll have to learn properly first. Third option is the least desirable one.

Thanks for any help!