4 ms·
A couple of notes: MongoDB is excellent for design-first rapid agile development when domains are still maturing. This is common in large system redesigns and
by ChicagoDave 9y ago
A couple of notes:
MongoDB is excellent for design-first rapid agile development when domains are still maturing. This is common in large system redesigns and start-ups.
Comparing MongoDB to SQL or relational is pointless. They are tools. Given the right circumstances, both serve a purpose.
Relational databases are still necessary for analytics and reporting. (Try using any reporting tool on a schemaless database or a schema that’s a moving target)
I would argue that MongoDB is best used for R&D, but once your domains have matured, quickly moving to a relational data store will provide more sustainability.
I’ve also started incorporating graph databases into my architecture thinking. You should too.
- pdimitar 9y agoWould you please give a practical example for your last point (graph databases)?
- ChicagoDave 9y agoSecurity. Instead of using tables "Roles, Users, UserRoles, Actions, RoleActions" or whatever model you've come up with in the past, think in terms of graphs: Person P [IS IN] Role R Action A [IS IN] Role R Now you can match a person to actions and using a query language like Cypher (Neo4J), it's very easy. I've found this to be vastly more efficient than using a relational or document database. I have an implementation of Identity Server 3 with the back end store in Neo4J and it's so much easier than managing a SQL back end.