Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Apache AGE (gráfbővítmény) egy hatékony PostgreSQL-bővítmény, amely zökkenőmentesen integrálja a gráfadatbázis funkcióit a PostgreSQL-ökoszisztémába. Az AGE lehetővé teszi a felhasználók számára a gráfadatok hatékony és kifejező tárolását és lekérdezését az intuitív openCypher lekérdezési nyelv támogatásával, amikor az Apache Inkubátor projekt keretében fejlesztették ki. Áthidalja a relációs és a gráfadatok közötti szakadékot, így a fejlesztők összetett kapcsolatokat kezelhetnek, és olyan megállapításokat fedhetnek fel, amelyeket a hagyományos adatbázisok nehezen fedhetnek fel.
A csomópontokon (entitásokon) és éleken (kapcsolatokon) keresztül ábrázolt gráfadatok egyre nélkülözhetetlenek az olyan alkalmazásokhoz, mint a közösségi hálózatok, a javaslati rendszerek, a csalásészlelés, a hálózatelemzés és a tudásgráfok. Az Apache AGE robusztus megoldást kínál az ilyen összekapcsolt adatok kezelésére, lehetővé téve a fejlett elemzéseket és az egyszerűbb adatkezelést.
A gráfadatok képességeinek feloldása az Apache AGE használatával
A gráfadatok apache AGE-beli képességeinek feloldása lehetővé teszi a fejlesztők számára, hogy kihasználják az összekapcsolt adatok teljes potenciálját a PostgreSQL-ben. Az Apache AGE lehetővé teszi az összetett kapcsolatok zökkenőmentes feltárását és elemzését úgy, hogy a gráfadatbázis funkcióit közvetlenül a relációs adatbázisba integrálja. Ez a képesség hasznos az olyan alkalmazások számára, amelyek mély betekintést igényelnek az adatkapcsolatokba, például a közösségi hálózatokba, a csalásészlelésbe és a javaslati rendszerekbe. Az OpenCypher lekérdezési nyelv és a robusztus PostgreSQL-alaprendszer támogatása révén az Apache AGE skálázható és hatékony megoldást kínál a gráfadatok kezeléséhez és lekérdezéséhez.
Az Apache AGE főbb jellemzői
- Gráf- és relációs adatintegráció: Az AGE lehetővé teszi a gráfok és a relációs adatok közötti zökkenőmentes interakciót a PostgreSQL-ben.
- openCypher lekérdezési nyelv: Az AGE támogatja ezt a széles körben elismert lekérdezési nyelvet a gráfadatbázisokhoz, leegyszerűsítve a lekérdezések írását és karbantartását.
- Méretezhetőség és megbízhatóság: A PostgreSQL bevált architektúrája szerint az AGE örökli a méretezhetőséget és a nagyvállalati szintű robusztusságot.
Miért érdemes gráfadatbázist használni?
A gráfadatbázisok összetett és szorosan összekapcsolt kapcsolatok ábrázolását és lekérdezését is kiválóan szemléltetik. A relációs adatbázisoktól eltérően, amelyek több illesztést vagy dokumentumadatbázist igényelnek, amelyek nem a mély kapcsolat bejárására van optimalizálva, a gráfadatbázisok természetesen modellezik az entitások közötti kapcsolatokat. Például a "barátok barátainak" lekérdezése vagy a "két pont közötti legrövidebb út" lekérdezése intuitívabb és hatékonyabb egy gráfadatbázisban.
Az AGE a PostgreSQL ACID-kompatibilis tranzakciós rendszerét használja, biztosítva a gráfos lekérdezések megbízhatóságát és atomiságát. Ez az integráció olyan fejlett alkalmazásokat tesz lehetővé, mint a Knowledge Graphs, amely támogatja az AI-alapú keresést és az adatlétrehozást azáltal, hogy csomópontként strukturálja a tényeket és fogalmakat, valamint élekként összekapcsolja őket.
Az Azure-ügyfelek engedélyezhetik az AGE bővítményt
Az Azure Database for PostgreSQL bővítményként tartalmazza az Apache AGE-et.
Ezek a lépések segítenek engedélyezni a bővítményt a rugalmas kiszolgálópéldányban:
Az Access-kiszolgáló paraméterei
Az Azure Portalon keresse meg a rugalmas PostgreSQL-kiszolgálópéldányt, és válassza a Kiszolgálóparaméterek lehetőséget.
Módosítsa a következő beállításokat:
- azure.extensions: Keresse meg és engedélyezze az AGE-t a paraméterszűrőben elérhető bővítmények között.
- shared_preload_libraries: Keresse meg és engedélyezze az AGE-t a paraméterszűrőben.
A módosítások alkalmazásához válassza a Mentés lehetőséget. A kiszolgáló automatikusan újraindul az AGE bővítmény aktiválásához.
Megjegyzés:
A shared_preload_libraries engedélyezésének hiánya a következő hibát eredményezi, amikor megpróbálja használni az AGE-sémát egy lekérdezésben: "HIBA: nem kezelt titkosítási (cstring) függvényhívási hiba az első titkosítási lekérdezésben"
Az AGE engedélyezése a PostgreSQL-ben
A kiszolgáló újraindítása után csatlakozzon a PostgreSQL-példányhoz a psql-értelmezővel. Hajtsa végre a következő parancsot az AGE engedélyezéséhez:
CREATE EXTENSION IF NOT EXISTS AGE CASCADE;
Ha sikeres volt, a lekérdezés kimeneteként jelenik meg CREATE EXTENSION .
A pg_extension katalógustáblát is lekérdezheti, hogy az AGE engedélyezve van-e, és ellenőrizze a bővítmény verzióját.
SELECT * FROM pg_extension WHERE extname = 'age';
Sémaútvonalak konfigurálása
Az AGE hozzáad egy ag_catalog nevű sémát, amely nélkülözhetetlen a gráfadatok kezeléséhez. A következő végrehajtásával győződjön meg arról, hogy a séma szerepel a keresési útvonalban:
SET search_path=ag_catalog,"$user",public;
Python esetén a séma elérési útját a következő végrehajtásával állíthatja be:
import psycopg as pg
with pg.Connection.connect(con_str + " options='-c search_path=ag_catalog,\"$user\",public'") as con:
Programozott módon is konfigurálható az alkalmazásban.
Az alábbi lépések végrehajtásával győződjön meg arról, hogy a PostgreSQL-példány megfelelően van konfigurálva az AGE bővítmény képességeinek használatához. Az AGE bővítmény speciális gráfadatbázis-képességeket biztosít közvetlenül a PostgreSQL-ben. Ezzel a beállítással zökkenőmentesen integrálhatók a gráfos lekérdezések az alkalmazásokba, így hatékony adatkapcsolatok és elemzések hozhatók létre. Ha az AGE bővítmény engedélyezve van és konfigurálva van, most már készen áll a gráfelemzés teljes potenciáljának feltárására a PostgreSQL-környezetben.
Fontos táblák a ag_catalog sémában
ag_graphag_label
ag_graph
Az Apache AGE ag_catalog sémájában található ag_graph tábla a PostgreSQL-ben a függvényen keresztül ag_catalog.create_graph létrehozott gráfokhoz kapcsolódó metaadatok adattáraként szolgál. Pontosabban olyan részleteket kezel, mint a gráf neve és a társított névtér, amely sémaként működik a PostgreSQL-ben. Ez a névtér rendszerezi a gráf struktúráját, és a csúcs- és éladatok tárolására szolgáló táblákat tartalmaz.
\d+ ag_graph
Table "ag_catalog.ag_graph"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
-----------+--------------+-----------+----------+---------+---------+-------------+--------------+-------------
graphid | oid | | not null | | plain | | |
name | name | | not null | | plain | | |
namespace | regnamespace | | not null | | plain | | |
Indexes:
"ag_graph_graphid_index" UNIQUE, btree (graphid)
"ag_graph_name_index" UNIQUE, btree (name)
"ag_graph_namespace_index" UNIQUE, btree (namespace)
Referenced by:
TABLE "ag_label" CONSTRAINT "fk_graph_oid" FOREIGN KEY (graph) REFERENCES ag_graph(graphid)
Access method: heap
ag_label
A ag_label táblázat az AGE-diagramokban használt címkék metaadatait tárolja. Nyomon követi ezeket a címkéket, társítja őket a megfelelő gráfokkal, és meghatározza, hogy csúcsokat vagy éleket jelölnek-e. A bejegyzés tartalmazza a címke egyedi azonosítóját, a társított gráfot, az indexeket és az adatokat tároló mögöttes PostgreSQL-táblát.
\d+ ag_label
Table "ag_catalog.ag_label"
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
----------+------------+-----------+----------+---------+---------+-------------+--------------+-------------
name | name | | not null | | plain | | |
graph | oid | | not null | | plain | | |
id | label_id | | | | plain | | |
kind | label_kind | | | | plain | | |
relation | regclass | | not null | | plain | | |
seq_name | name | | not null | | plain | | |
Indexes:
"ag_label_graph_oid_index" UNIQUE, btree (graph, id)
"ag_label_name_graph_index" UNIQUE, btree (name, graph)
"ag_label_relation_index" UNIQUE, btree (relation)
"ag_label_seq_name_graph_index" UNIQUE, btree (seq_name, graph)
Foreign-key constraints:
- `fk_graph_oid` FOREIGN KEY (graph) REFERENCES ag_graph(graphid)
Access method: heap