ProHoster > Blog > nûçeyên înternetê > Ji bo PostgreSQL pêvekek AGE hatiye amadekirin ku daneyan di forma grafîkê de hilîne
Ji bo PostgreSQL pêvekek AGE hatiye amadekirin ku daneyan di forma grafîkê de hilîne
Для PostgreSQL pêşniyar kirin дополнение AGE (AgensGraph-Extension) с реализацией языка запросов openCypher для манипуляций с наборами связанных между собой иерархических данных, образующих граф. Вместо столбцов и строк графо-ориентированые БД используют структуру, похожую на сеть — задаются узлы, их свойства и отношения между узлами. AGE belav kirin ji hêla под лицензией Apache 2.0, передан компанией Bitnine под покровительство Фонда Apache и в настоящее время помещён в инкубатор Apache.
Проект продолжает развитие СУБД AgensGraphkîjan temsîl dike собой переработанную для обработки графов модификацию PostgreSQL. Ключевым отличием является реализация AGE в форме универсального дополнения, работающего в виде надстройки над штатными выпусками PostgreSQL. Опубликованный на днях выпуск Apache AGE 0.2.0 поддерживает работу с PostgreSQL 11.
В текущем состоянии AGE piştgirî dike такие возможности языка запросов 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.