Для 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.

Джерело: opennet.ru

Додати коментар або відгук