Search code examples
mongodbaccountingacid

MongoDB for accounting software


I was trying to see if MongoDB can be used as database for an accounting/bookkeeping software. I tried to search for answers from existing questions on stackoverflow, but all of the links that I found were very old, (pre-2017) and all of them said not to use MongoDB as it is not ACID compliant.

However, since version 4.0 which was released in 2018, MongoDB is now multi-document ACID compliant. So, given that it now supports ACID, is it OK to build an accounting application using MongoDB, or is there any other reason why one should still use RDBMS only?

PS: I've very new to programming, so please forgive me if this question seems very novice.


Solution

  • Accounting can likely be done with MongoDB as we can see with Stripe using MongoDB for the majority of their operations which I believe to fall under heavy accounting area.

    The main things you should be careful of:

    1. Scalability (SQL Database can be scaled vertically very easily but NoSQL Databases are usually scaled horizontally, which in my experience has been a little painful).
    2. Dynamic Schema (From what I can tell and imagine a Dynamic Schema might not be the best thing for an accounting requirement)
    3. Complex queries (NoSQL databases can have a hard time executing complex queries, as compared to SQL databases).

    You should probably give this article about Stripe and their MongoDB usage from MongoDB a read.

    https://www.mongodb.com/blog/post/mongodb-powering-the-magic-and-the-monsters-at#:~:text=Stripe%20offers%20a%20simple%20platform,enabling%20transactions%20on%20the%20web.