Do graph databases deprecate relational databases? Do graph databases deprecate relational databases? database database

Do graph databases deprecate relational databases?


Graph databases were deprecated by relational-ish technology some 20 to 30 years ago.

The major theoretical disadvantage is that graph databases use TWO basic concepts to represent information (nodes and edges), whereas a relational database uses only one (the relation). This bleeds over into the language for data manipulation, in that a graph-based language must provide two distinct sets of operators : one for operating on nodes, and one for operating on edges. The relational model can suffice with only one.

More operators means more operators to implement for the DBMS builder, more opportunity for bugs, and for the user it means more distinct language constructs to learn. For example, adding information to a database is just INSERT in relational, in graph-based it can be either STORE (nodes) or CONNECT (edges). Removing information is just DELETE (relational), as opposed to either ERASE (nodes) or DISCONNECT (edges).


Building on Erwin Smout's fine answer, an important reason why the relational model supplanted the graph one is that a graph has a greater degree of "bias" baked into its structure than relations do. The edges of a graph are navigational links which user queries are expected to traverse in a particular way. A relational model of the same data assumes much less about how the data will be used. Users are free to join and manipulate relational data in ways that the database designer might not have foreseen. The disruptive costs of re-engineering graph database structures to support new requirements were a factor which drove the adoption of the relational model and its SQL-based offshoots in the 1980s.


Relational databases were designed to aggregate data, graph to find relations.If You have for example a financial domain, all connections are known, You only aggregate data by other data to find sums and so on.

Graph databases are better in more chaotic domain where to connections are more important, and not all connections are apparent, for example:

  • networks of people, with different relations with one and other
  • films and people creating them. Not just actors but the whole crew.
  • natural language processing and finding connections between recognized words