Data Model |
Tables with rows and columns |
Objects, classes, inheritance |
Key-Value, Document, Column, Graph |
Tree structure with parent-child relationships |
Schema |
Fixed schema |
Schema follows object classes |
Flexible schema |
Rigid schema |
Query Language |
SQL |
Object Query Language (OQL) |
Varies (e.g., MongoDB uses MQL) |
None (typically uses path queries) |
Data Storage |
Rows in tables |
Objects |
Varies (e.g., JSON, BSON, etc.) |
Hierarchical structure with linked nodes |
Scalability |
Vertical scaling |
Vertical scaling |
Horizontal scaling |
Vertical scaling |
ACID Compliance |
Strong ACID properties |
Supports ACID |
Varies (often BASE over ACID) |
Strong ACID properties |
Relationships |
Foreign keys, joins |
Direct references via objects |
Denormalized, typically no joins |
Parent-child relationships |
Examples |
MySQL, PostgreSQL, Oracle |
db4o, ObjectDB |
MongoDB, Cassandra, DynamoDB |
IBM Information Management System (IMS) |
Use Cases |
Traditional applications, ERP, CRM |
CAD, telecommunications, complex data models |
Big data, real-time web apps, flexible data models |
Legacy systems, hierarchical data like XML or LDAP |
Advantages |
Maturity, standardization, strong consistency |
Aligns with OOP, seamless integration with object-oriented languages |
Flexibility, scalability, performance |
Simple model, fast data retrieval for specific use cases |
Disadvantages |
Rigid schema, scaling limitations |
Complexity, less maturity than RDBMS |
Potential consistency issues, varied tooling |
Rigid structure, inflexible for complex queries |