Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
fastrde opened this issue Mar 5, 2020 · 9 comments
Closed
Labels
type:question Support or code-level question

Comments

@fastrde
Copy link
Contributor

fastrde commented Mar 5, 2020

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)?

@mtrezza
Copy link
Member

mtrezza commented Mar 5, 2020

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.

@acinader
Copy link
Contributor

acinader commented Mar 5, 2020

@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!

@VladimirTambovtsev
Copy link

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

@TomWFox
Copy link
Contributor

TomWFox commented Mar 5, 2020

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

@acinader
Copy link
Contributor

acinader commented Mar 5, 2020

@TomWFox

https://github.com/parse-community/docs/search?q=rocksdb&unscoped_q=rocksdb

@TomWFox
Copy link
Contributor

TomWFox commented Mar 5, 2020

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

@acinader
Copy link
Contributor

acinader commented Mar 5, 2020

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

@davimacedo
Copy link
Member

davimacedo commented Mar 5, 2020

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

@fastrde
Copy link
Contributor Author

fastrde commented Mar 5, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:question Support or code-level question
Projects
None yet
Development

No branches or pull requests

7 participants