30 Jan 2020

  • January 30, 2020
  • Amitraj
Simplistically, the three generations are pre-relational, relational and post-relational.


1. The first wave of digital database systems emerged shortly after magnetic disk became widely available. They supported network and hierarchical schemas, ran only on single hosts and generally needed programmers to write code to query.


2. The development of the relational model by Edgar Codd in 1971 eventually lead to a succession of databases based on the relational model (tables, primary/foreign keys, etc) together with the SQL query language and the ACID model for transactions. Almost every database released between 1985 and 2000 was based on these three pillars.


3. The pressure of the world wide web eventually broke the back of at least the ACID model - you can’t have strict consistency, global scale and always-on availability. So Google and Amazon in particular invented new database systems which by 2008/2009 had spawned open source equivalents such as Hadoop and Cassandra. Agile, DevOps and Continuous integration also found the RDBMS unable to respond to modern development practices, leading (amongst other factors) to MongoDB and other similar systems.

These three waves correspond pretty much to the three eras of applications: mainframe, client-server and Web 2.0.

Translate

Popular Posts