MongoDB – Thinking in Documents

  • Jon Strahl

    Hi Zoran, thanks for the overview. When would you recommend using a document based DB over an RDMS and vice versa?

    • Hi Jon,
      thanks for posting your comment!

      I don’t think there is a straight answer. as usually “it depends”:)
      Choosing a database system involves expertise and careful consideration of a vast amount of highly technical details and factors, any of which can be an article of its own.

      Some of the considerations:
      – Consistency, availability, and partition tolerance (CAP Theorem)
      – Robustness and reliability
      – Scalability
      – Performant and highly available functioning regardless of concurrent demands on the system
      – Performance and speed
      – Partitioning ability
      – Distributed data partitions of a complete database across multiple separate nodes in order to spread load and increase performance
      – Horizontal (sharding) and/or vertical partitioning
      – Distributability
      – In-database analytics and monitoring
      – Operational and querying capabilities
      – Storage management
      – Talent pool and availability of relevant skills
      – Database integrity and constraints
      – Data model flexibility
      – Database security
      – Database vendor/system funding, stability, community, and level of establishment
      – Familiarity with the technology.

      Some hints:
      SQL vs NoSQL : How to choose:
      Rdbms vs nosql how do you pick:
      Microsoft answer to this:

      I hope it helps!