Графовые базы данных |
||
Графовая модель данных на логическом уровне представляет собой направленный граф, состоящий из узлов и ребер. Узлы соответствуют объектам базы данных, а ребра – связям между этими объектами. И узлы, и ребра могут обладать свойствами, кроме того, ребра имеют тип, определяющий характер связи. Графовая модель хорошо отражает семантику предметной области с многочисленными связями. Например, пользователи социальной сети могут быть связаны между собой родственными, дружественными, производственными и прочими отношениями. Графовые СУБД используют графовую модель для описания и манипуляции данными в базе данных. Они относятся к направлению NoSQL, которое объединяет множество различных подходов к моделированию данных, отрицающих реляционную модель данных. Однако, в отличии от других моделей, графовые СУБД, как и базы данных SQL, поддерживают ACID-транзакции. Во многом это связано с тем, что данная модель не является агрегатной, и это препятствует её использованию в распределенной форме. Одной из популярных графовых СУБД является Neo4j, имеющей оригинальный декларативный язык запросов Cypher. Наверняка, прочитав предыдущую пару абзацев, читатель уже задал себе вопрос, почему в учебнике по SQL появилась глава, посвященная графовым базам данных? Дело в том, что, начиная с версии 2017, SQL Server стал поддерживать графовую модель данных! |