Over the past decade, we’ve seen a wave of diversification followed by consolidation in database technologies. Relational databases such as Oracle, MySQL, and SQL Server completely dominated database technology until a relatively sudden explosion of new “NoSQL” databases emerged in the 2008–2010 time frame. These new databases rejected the ACID transaction model, SQL language, and relational database model in order to achieve greater scalability and/or developer productivity.
But in the last 5 years, we’ve seen a blurring of the distinction between many of these upstart databases and the traditional SQL databases. NoSQL databases such as MongoDB have added features typically associated with relational databases—transactions, SQL connectors, and the like—while the SQL databases have introduced support for JSON document models. We can see that databases such as PostgreSQL and MongoDB are increasingly converging on a common set of features. They will probably always be distinct in terms of their strongest features, but the gap is narrowing. However, one category of NoSQL databases seems to be bucking the convergence trend: graph databases.