Dla PostgreSQL przygotowano dodatek AGE umożliwiający przechowywanie danych w formie wykresu

Dla PostgreSQL'a proponowane Dodatek AGE (AgensGraph-Extension) z implementacją języka zapytań OtwórzCypher do manipulowania zestawami wzajemnie połączonych danych hierarchicznych tworzących wykres. Zamiast kolumn i wierszy, zorientowane na wykresy bazy danych wykorzystują strukturę podobną do sieci — określa się węzły, ich właściwości i relacje między węzłami. WIEK dystrybuowane przez licencjonowany na licencji Apache 2.0, objęty patronatem Fundacji Apache przez Bitnine, a obecnie mieszczący się w Inkubatorze Apache.

Projekt stanowi kontynuację rozwoju systemu DBMS Wykres agentówktóry jest to zmodyfikowana modyfikacja PostgreSQL do przetwarzania wykresów. Kluczową różnicą jest implementacja AGE w postaci uniwersalnego dodatku, który działa jako dodatek do standardowych wydań PostgreSQL. Wydanie niedawno opublikowane Apache WIEK 0.2.0 obsługuje PostgreSQL 11.

W obecnym stanie AGE obsługuje takie cechy języka zapytań Cypher jak używanie wyrażenia „CREATE” do definiowania węzłów i łączy, wyrażenie „MATCH” do wyszukiwania danych na wykresie według określonych warunków (WHERE), w określonej kolejności (ORDER BY) i za pomocą ustawić ograniczenia (SKIP, LIMIT) . Zestaw wyników zwrócony przez zapytanie jest określany za pomocą wyrażenia „RETURN”. Wyrażenie „WITH” umożliwia połączenie wielu żądań.

Możliwe jest tworzenie wielomodelowych baz danych, łączących modele hierarchicznego przechowywania właściwości w postaci wykresu, modelu relacyjnego oraz modelu przechowywania dokumentów w formacie JSON. Obsługuje realizację zintegrowanych zapytań zawierających elementy języków SQL i Cypher.
Możliwe jest tworzenie indeksów dla właściwości wierzchołków i krawędzi grafu.
Zaproponowano do wykorzystania rozszerzony zestaw typów Agtype, obejmujący typy krawędzi, wierzchołków i ścieżek na grafie. Wyrażenia zbiorcze nie zostały jeszcze zaimplementowane. Dostępne wyspecjalizowane funkcje obejmują id, start_id, end_id, typ, właściwości, head, last, długość, rozmiar, startNode, endNode, znacznik czasu, toBoolean, toFloat, toInteger i koalescencja.

Źródło: opennet.ru

Dodaj komentarz