Для PostgreSQL подготовлено дополнение AGE для хранения данных в форме графа


Для PostgreSQL предложено дополнение AGE (AgensGraph-Extension) с реализацией языка запросов openCypher для манипуляций с наборами связанных между собой иерархических данных, образующих граф. Вместо столбцов и строк графо-ориентированые БД используют структуру, похожую на сеть - задаются узлы, их свойства и отношения между узлами. AGE распространяется под лицензией Apache 2.0, передан компанией Bitnine под покровительство Фонда Apache и в настоящее время помещён в инкубатор Apache.

Проект продолжает развитие СУБД AgensGraph, которая представляет собой переработанную для обработки графов модификацию PostgreSQL. Ключевым отличием является реализация AGE в форме универсального дополнения, работающего в виде надстройки над штатными выпусками PostgreSQL. Опубликованный на днях выпуск Apache AGE 0.2.0 поддерживает работу с PostgreSQL 11.

В текущем состоянии AGE поддерживает такие возможности языка запросов Cypher, как применение выражения "CREATE" для определения узлов и связей, выражение "MATCH" для поиска данных в графе по заданным условиям (WHERE), в указанном порядке (ORDER BY) и с выставленными ограничениями (SKIP, LIMIT). Результирующий набор данных, возвращаемый запросом, определяется при помощи выражения "RETURN". Для объединения нескольких запросов в цепочку доступно выражение "WITH".

Возможно создание мультимодельных БД, сочетающих модели иерархического хранения свойств в форме графа, реляционную модель и модель хранения документов в формате JSON. Поддерживается выполнение интегрированных запросов, включающих элементы языков SQL и Cypher. Доступно создание индексов для свойств вершин и рёбер графа. Для использования предложен расширенный набор типов Agtype, включающий типы для рёбер, вершин и путей в графе. Агрегатные выражения пока не реализованы. Среди доступных специализированных функций: id, start\_id, end\_id, type, properties, head, last, length, size, startNode, endNode, timestamp, toBoolean, toFloat, toInteger и coalesce.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53337


Comments 0