У меня есть клиент, который понимает, что его модель данных — это ориентированный ациклический граф. Мы работали с наборами узлов и промежуточной таблицей ребер, и производительность была довольно хорошей. В текущей реализации у нас менее 100 000 узлов данных, хотя это число может вырасти на один или два порядка. Недавно он убедился, что, поскольку у нас есть граф, база данных графов (например, Neo4J или Titan) была бы «лучше».
Какие проблемы на самом деле решает ориентированная на графы база данных, которые не могут быть решены с помощью SQL или которые требуют гораздо более тяжелой работы от клиента SQL? Судя по тому, что я вижу, обнаружение путей это, но это еще не все.