Parse-server: New Parse-Server Project: MongoDB WiredTiger, MongoRocks or Postgres?

Created on 5 Mar 2020  路  9Comments  路  Source: parse-community/parse-server

In 2016 MongoDB with Rocks Storage Engine was the choice. Four years later the docs still recommend rocksDB. The git repository of rocksDB has not seen an update for 2 years.
Is Postgres now also recommended for production enviroments?
Are there any reasons why not to use MongoDB out of the box nowadays (for a new Project)?

question

Most helpful comment

Ok. Thank you for clarification.
Conclusion:

  • Use MongoDB out of the box.
  • Postgres is also ok, but not so widely in use. When you need support there are more people out there using MongoDB.
  • remove mentioned parts from documentation.

All 9 comments

If I understand you correctly, your question comes down to "What is the difference between mongoDB and Postgres?".

Both DBMS are based on fundamentally different paradigms. While Postgres is relational, object oriented, mongoDB is non-relational, document oriented, to name just one difference.

Which one you choose depends on your use case. As an example, if you focus on geo queries, there are performance differences between the two DBMS.

@fastrde the doc should be updated (cc: @TomWFox). Ideally, both Postgres and MongoDB are well supported, but I think that there are a lot more mongo installations, and certainly the core contributors run mongo.

If you're starting a new project, I would recommend using Mongo DB 4.2. I currently use Mongo 3.6 but hope to upgrade in the near future.

If I have it right, RocksDB was the default storage engine for mongo < mongo 3.2 and WiredTiger has been the default Mongo storage engine since then. I would recommend using the current release of Mongo DB with the default storage engine unless you have a specific reason not to.

Please note that since Parse Server 4.0, Mongo version < 3.6 is no longer supported.

This is a case of the docs not keeping up with the project.

Thank you!

Which performance is better today? MongoDB or RocksDB (with latest versions)?

@fastrde could you provide a link to the section of the docs in question?

That work 馃槄, looks like a significant update would be needed.

I would simplify. I don't think that any mention of WiredTiger or RocksDB is necessary at this point and is just confusing.

If issues arise we could add more docs to address them, but at this point, I think any discussion of the MongoDB storage engine is unnecessary and potentially confusing details. When these docs were written both storage engines were in wide use and the transition from RocksDB and WiredTiger was in progress.

It would be like adding information about how to run parse-server on Windows 95 ;).
image

I agree with @acinader . I believe we could just remove all the section talking about RocksDB. It has been inactive for a while now.

Ok. Thank you for clarification.
Conclusion:

  • Use MongoDB out of the box.
  • Postgres is also ok, but not so widely in use. When you need support there are more people out there using MongoDB.
  • remove mentioned parts from documentation.
Was this page helpful?
0 / 5 - 0 ratings