In my opinion, the format of your data should be the main problem when choosing a repository. Do you have data that is relational in nature? If so, can it and is it good to model data in documents? Data modeling is just as important in a document database as it is in a relational database, it's just done differently. How many types of objects do you have and how are they related? Could DBrefs in Mongodb do the trick or will you miss foreign keys so it will hurt? What are your data access patterns? Are you just retrieving data of the same type, filtered by field value, or do you have confusing sampling modes?
Do you need ACID transaction integrity? Does the domain provide a large number of data restrictions? Do you need a scalability factor for a document database or is it just a cool thing?
What are your requirements for data integrity and integrity? Some NoSQL and MongoDB solutions, in particular, are completely sequence-free in order to get performance. NoSQL is not a homogeneous terrain and other products, for example. CouchDB has other features in this department. Some are also customizable.
These are all questions that should go into the choice of storage.
Some impressions
- Extensive reporting of stored data can be more difficult when using MongoDB or any document database, and some use cases combine RDBMS and document-db for this purpose.
- (Very) Different query patterns. MongoDB is also different from other dbs documents.
- Ability to change data / schema format during development
- Unknown territory
- varying degrees of maturity in drivers and frameworks
- Fast
- Simplification (in many ways) of products and management tools (compared to many RDBMS products).
- More impedance mismatch. Storage is suitable for data, not the other way around.
- Less friction and more direct data access.
- The domain is more tied to preservation (depending on the ORM level of “NoRM”, how much it abstracts the backend. I have not used NoRM, so I cannot answer this question.)
Knut Haugen Jul 20 2018-10-10T00: 00Z
source share