MongoDB Nexus Architecture VS Relational Architecture
Ahmad AbuHameedeh
Leading Digital Enterprise Architecture & Delivery - TOGAF || SAFe || ITIL
MongoDB’s design philosophy is focused on combining the critical capabilities of relational databases with the innovations of NoSQL technologies.
Relational databases have reliably served applications for many years, and offer features that remain critical today as developers build the next generation of applications :
- Expressive query language. Users should be able to access and manipulate their data in sophisticated ways with powerful query, projection, aggregation and update operators, to support both operational and analytical applications.
- Secondary indexes. Indexes play a critical role in providing efficient access to data, for both reads and writes, supported natively by the database rather than maintained in application code.
- Strong consistency. Applications should be able to immediately read what has been written to the database. It is much, much more complicated to build applications around an eventually consistent model, imposing significant work on the developer, even for the most sophisticated development teams.
However, modern applications impose requirements not addressed by relational databases, and this has driven the development of NoSQL databases which offer:
- Flexible Data Model. NoSQL databases emerged to address the requirements for the data we see dominating modern applications. A flexible data model makes it easy to store and combine data of any structure, and allow dynamic modification of the schema without downtime.
- Elastic Scalability. NoSQL databases were all built with a focus on scalability, so they all include some form of sharding or partitioning, allowing the database to scale-out on commodity hardware, allowing for almost unlimited growth.
- High Performance. NoSQL databases are designed to deliver great performance, measured in terms of both throughput and latency at any scale.