From "Designing Data-Intensive Applications"
🎧 Listen to Summary
Free 10-min PreviewThe Relational Model: History, Dominance, and Limitations
Key Insight
The relational model, proposed by Edgar Codd in 1970 and embodied by SQL, remains arguably the most recognized data model, organizing data into tables (relations) comprising unordered collections of rows (tuples). Despite initial doubts about its implementation efficiency, relational database management systems (RDBMSes) and SQL rapidly became the standard by the mid-1980s for storing and querying structured data, sustaining their dominance for approximately 25-30 years in computing history.
Originating from 1960s-70s business data processing on mainframe computers, relational databases addressed mundane but critical use cases such as transaction processing for sales, banking, airline reservations, and stock-keeping, alongside batch processing for invoicing and payroll. The model's core innovation was to abstract away the internal data representation, offering application developers a cleaner interface, and it remarkably generalized beyond its initial scope to power a vast array of modern web applications, including online publishing, social networking, and e-commerce.
A prevalent criticism of the SQL data model, especially in contemporary object-oriented programming environments, is the 'object-relational impedance mismatch,' which necessitates an awkward translation layer between application-level objects and the database's table-centric structure. While Object-Relational Mapping (ORM) frameworks like ActiveRecord and Hibernate help reduce the boilerplate code for this translation, they cannot entirely eliminate the fundamental differences and conceptual disconnect between the two modeling paradigms.
📚 Continue Your Learning Journey — No Payment Required
Access the complete Designing Data-Intensive Applications summary with audio narration, key takeaways, and actionable insights from Martin Kleppmann.