Not just philosophically, change indeed is the only
constant. If you know a bit about programming, you’d also know how difficult it
can be to design a storage structure only to realize later that it was
imperfect and that improvements are needed. You might want to start using a
database to solve the problem. But there was a time when they weren’t around.
Databases can be said to have been developed in three
stages. The first stage was the dawn of navigational databases in which the
application would follow links or references to reach the final data. The
second stage was (the development of relational databases which stores data in
rows and columns. Relational databases made more sense since they allowed the
applications to search for data instead of following references and were better
in terms of application growth. To this day, relational model happens to be the
most popular one. Oracle, Microsoft SQL Server, MySQL and PostgreSQL among
others are all relational DBMS.
The third generation of databases is called
post-relational databases. The current generation of NoSQL DBMS such as
MongoDB, HBase, Cassandra, Redis and
CouchDB fall in the category.
Databases, especially relational ones, freed the programmers
from having to take care of data storage and search so that they could focus on
algorithms and features. Without databases, the time taken to develop
applications would be at least 10 times greater.
Database management system
also eliminated language dependencies as the data saved by a program written in
one language (sya C) could be read by a program written in another language
(say Java). This decoupling of data storage layer later gave birth to the
dynamic web applications we’re all so fond of.