- ✓Relational DBMS organise data in structured tables with defined relationships and enforce ACID properties: atomicity, consistency, isolation, and durability.
- ✓NoSQL databases trade some of the consistency guarantees of relational systems for greater scalability and flexibility, particularly with unstructured or semi-structured data.
- ✓Document stores such as MongoDB organise data as JSON-like documents, making them well suited to content management and catalogue applications.
- ✓Graph databases excel at representing and querying highly connected data, making them ideal for social networks, recommendation engines, and fraud detection.
- ✓NewSQL systems aim to deliver the scalability of NoSQL with the ACID guarantees of relational databases, addressing some of the trade-offs of the NoSQL movement.
Listen to the full episode inside the course. Enrol to access all 80 episodes, plus assignments, tutor support and Student Finance funding.
Start learning →Alex: We're starting Unit 13: Database Management Systems. Sam, we covered databases in Unit 4. What's different at Level 5?
Sam: Unit 4 focused on relational database design and development: how to design a schema, write SQL, test, and document. Unit 13 goes broader and deeper. You're analysing the landscape of database management systems: not just relational databases but NoSQL, NewSQL, and the various specialised systems designed for different data types and workloads. You're also looking at more advanced topics in database administration and performance.
Alex: Let's start with the different types of DBMS. The relational model is still dominant?
Sam: For many use cases, yes. RDBMS like PostgreSQL, MySQL, Microsoft SQL Server, and Oracle remain the primary choice for transactional applications because of their ACID properties, their mature tooling, and the decades of expertise that has accumulated around them. But the growth of web-scale applications in the 2000s and 2010s exposed limitations: relational databases don't scale horizontally as easily, and they're not well-suited to all data types.
Alex: That's where NoSQL came in?
Sam: Exactly. NoSQL, which confusingly means 'not only SQL' rather than 'no SQL at all', encompasses several different database paradigms, each optimised for specific use cases. Document databases like MongoDB store data as JSON-like documents, making them natural for content management, catalogues, and user profiles where the data structure varies between records. Key-value stores like Redis store simple key-value pairs and are extremely fast, making them ideal for caching and session storage.
Alex: What about graph databases?
Sam: Graph databases are designed to store and query highly connected data: data where the relationships between entities are as important as the entities themselves. They represent data as nodes and edges, and are optimised for traversing complex networks of relationships. They excel at social network analysis, recommendation engines, fraud detection, and knowledge graphs. Neo4j is the most widely used graph database. In a relational database, the same query might require multiple expensive join operations; a graph database can traverse the same relationships in milliseconds.
Alex: And column-family databases?
Sam: Column-family databases like Apache Cassandra are designed for writing and reading large amounts of data very quickly, with high availability and linear scalability across many nodes. Rather than organising data in rows like a relational database, they organise it in column families where related data is stored together. They're commonly used for time-series data, event logs, IoT data streams, and any application that needs to handle very high write throughput.
Alex: What about NewSQL?
Sam: NewSQL systems like CockroachDB and Google Spanner attempt to combine the best of both worlds: the ACID guarantees and SQL interface of relational databases with the horizontal scalability of NoSQL systems. They're designed for globally distributed applications that need both strong consistency and the ability to scale across many servers or regions. They represent an attempt to address the trade-offs inherent in the original NoSQL movement.
Alex: Brilliant. Thanks Sam. Next we look at advanced relational database design.