We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design Masterclass · Database Types Storage
Free preview: the first 2 parts of this 6-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Database Types Storage
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
The previous lesson made the case for polyglot persistence, different databases for different data patterns. But you also saw the costs: operational complexity, data synchronization headaches, and the need for a team large enough to manage six database technologies.
What if a single database could handle relational data, documents, graphs, key-value lookups, and search, all in one engine? You'd get the right data model for each use case without the operational overhead of multiple databases.
This is the promise of multi-model databases. Instead of PostgreSQL for relations, MongoDB for documents, Neo4j for graphs, and for key-value, you deploy one database that supports all of these models natively.
ArangoDB, Azure Cosmos DB, SurrealDB, and FaunaDB all claim this ground. The question is whether the promise matches reality.
A multi-model database provides multiple data model interfaces on top of a single storage engine.
Supports documents, graphs, and key-value in a single database with a unified query language (AQL).
// Document query
FOR product IN products
FILTER product.category == "electronics" AND product.price < 500
RETURN product
// Graph traversal (same database, same query language)
FOR v, e, p IN 1..3 OUTBOUND "users/alice" follows
RETURN v.name
// Key-value lookup
DOCUMENT("users/alice")
One database, one query language, one deployment. The storage engine underneath handles all three models.
Microsoft's globally distributed multi-model database. Supports five APIs:
Same underlying storage engine, different API facades. You choose the API when creating a container.
Newer entrant. Combines document, graph, and relational models with a SQL-like language. Designed for real-time applications with built-in authentication and permissions.
It is easy and good
“It is really nice and good Please join the course”