Čo je to databáza grafov?

Grafová databáza je typ databázy, ktorá reprezentuje informácie ako uzly (entity) a hrany (vzťahy) namiesto tabuliek a riadkov. Táto štruktúra uľahčuje skúmanie zložitých prepojení a vzorov naprieč vašimi dátami.

Najčastejšie používaný typ grafovej databázy implementuje model označeného grafu vlastností (LPG): entity (uzly) a vzťahy (hrany) môžu mať štítky a vlastnosti (páry kľúč-hodnota). Tento flexibilný model umožňuje schémovo voliteľné aj schémou riadené návrhy a umožňuje vyjadriť zložité vzťahy. Keďže pripojenia sú uložené explicitne ako okraje, dotazy prechádzajú vzťahmi sledovaním okrajov namiesto výpočtu nákladných spojení v čase dotazu.

Poznámka

Príklady v tomto článku používajú príkladovú databázu grafov sociálnych sietí.

Základné koncepty databázy grafov

Grafová databáza organizuje dáta do troch základných stavebných blokov:

  • Uzly predstavujú entity ako ľudia, produkty alebo miesta. Uzly môžu mať označenia a vlastnosti, ktoré popisujú ich atribúty. Napríklad uzol Person môže mať vlastnosti ako firstName, lastName, a age.
  • Hrany predstavujú, ako sú entity prepojené, napríklad FRIENDS_WITH, PURCHASED, alebo LOCATED_IN. Hrany môžu tiež niesť vlastnosti a štítky na zachytenie metadát vzťahov.
  • Vlastnosti priraďujú detaily uzlom a hránám (napríklad meno osoby alebo dátum od hrania).

Ako funguje vyhľadávanie vzťahov

Dotazy grafu načítavajú pripojené informácie prechodom z počiatočného uzla k jeho susedom, potom k ich susedom atď. Cena prechodu závisí od počtu hrán, ktorých sa dotkne (lokálneho okolia), nie od celkovej veľkosti dátovej množiny. Táto vlastnosť robí otázky o cestách, prepojeniach a vzoroch – ako sú priatelia priateľov, najkratšie cesty alebo viacskokové závislosti – prirodzenými a efektívnymi na vyjadrenie.

Grafové databázy používajú dotazovacie jazyky založené na vzoroch, ako je Graph Query Language (GQL), na stručný opis týchto prechodov. Tá istá medzinárodná pracovná skupina, ktorá dohliada na SQL (ISO/IEC 39075), štandardizuje GQL, ktorý zosúlaďuje dotazovanie grafov s etablovanými databázovými štandardmi.

Príklad (zhoda vzorov s GQL):

MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100

Tento vzor znie takto: začínajúc od uzla Person pre Annemarie, nasledujte :knows hrany ku každému priateľskému uzlu, potom nasledujte :likes hrany k príbuzným :Comment uzlom. Vráťte 100 najnovších komentárov zoradených podľa dátumu ich vytvorenia.

AI-asistované argumentovanie s grafmi (náhľad)

Grafové databázy sú prirodzenou voľbou pre AI uvažovanie, pretože kódujú vzťahy, ktoré jazykové modely potrebujú na presné odpovede na viacskokové otázky. V Microsoft Fabric Fabric Data Agent podporuje graf ako zdroj dát, ktorý umožňuje používateľom klásť otázky v prirodzenom jazyku, na ktoré agent odpovedá dotazovaním grafu. Podrobnosti o tom, ako NL2GQL prekladá prirodzený jazyk do GQL, nájdete v oznámení o uvažovaní AI poháňanom grafom.

Flexibilita modelov grafových dát a schémy

Grafové dátové modely sú schéma-voliteľné: môžete začať s flexibilným modelom a postupne ho formalizovať. V grafe v Microsoft Fabric v súčasnosti štrukturálne zmeny – ako pridávanie nových vlastností, úprava štítkov alebo zmena typov vzťahov – vyžadujú opätovné spracovanie dát do nového modelu. Tento prístup znižuje potrebu duplikácie údajov a umožňuje tímom zjednotiť údaje z viacerých zdrojov bez veľkého predbežného prepracovania. Pre viac informácií o dátovom modeli používanom v grafe v Microsoft Fabric pozri Označené vlastnostné grafy.

Bežné použitie grafových databáz

Grafové databázy sú úzko zosúladené s doménami, kde spojenia prinášajú hodnotu, napríklad:

  • Sociálne siete — modelujú vzťahy medzi ľuďmi a ich interakcie
  • Znalostné grafy — spájajú koncepty, entity a fakty pre sémantické vyhľadávanie a uvažovanie
  • Odporúčacie systémy — prechádzajú interakciami medzi používateľom a položkami, aby získali personalizované návrhy
  • Podvodné a rizikové siete — odhaľujte podozrivé vzorce naprieč účtami, transakciami a zariadeniami
  • Sieťová a IT topológia — mapovanie závislostí medzi servermi, službami a komponentmi infraštruktúry
  • Analýza závislosti dodávateľského reťazca — sledovať pôvod komponentov a vzťahy medzi dodávateľmi
  • Generovanie založené na vyhľadávaní na základe grafov (RAG) — využívajte štruktúru grafu ako zdroj poznatkov pre AI agentov, ktorí potrebujú viacnásobné uvažovanie s vysvetliteľnými, uzemnenými odpoveďami

V týchto scenároch sa otázky týkajú menej jednotlivých záznamov a viac toho, koľko entít súvisí a interaguje počas niekoľkých segmentov smerovania.

Kedy zvážiť databázu grafov

Grafová databáza je silná voľba, keď vzťahy poháňajú základné otázky, na ktoré potrebujete odpovedať. Vyberte grafovú databázu, keď:

  • Vaše hlavné otázky sa týkajú ciest, štvrtí a vzorcov v prepojených dátach.
  • Počet chmeľov je variabilný alebo nie je vopred známy.
  • Musíte kombinovať a navigovať vzťahy naprieč rôznymi dátovými súbormi.

Ak takéto otázky kladiete pravidelne, grafový model je prirodzená voľba.

Ako sa graf v Microsoft Fabric porovnáva so samostatnými grafovými databázami

Reprezentovanie dát ako grafu a ich uloženie do samostatnej, samostatnej grafovej databázy často prináša ETL (extrahovanie, transformáciu, načítanie) a režijné náklady na správu. Naopak, graf v Microsoft Fabric pracuje priamo na OneLake, čo znižuje alebo eliminuje potrebu samostatných ETL pipeline a duplikácie dát. Zvážte tieto kompromisy:

  • Pohyb a duplikácia dát: Samostatné grafové databázy zvyčajne vyžadujú extrahovanie, transformáciu a načítavanie dát do samostatného úložiska, čo zvyšuje zložitosť a môže viesť k duplikovaným dátovým súborom. Graph funguje na OneLake, takže môžete modelovať a dotazovať prepojené dáta bez ich presúvania.
  • Prevádzkové náklady: Samostatné zásobníky grafov fungujú ako samostatné klastre alebo služby a často sú spojené s poplatkami za nečinnosť. V grafe pracovné zaťaženia spotrebovávajú združené kapacitné jednotky (CU) s automatickým znižovaním a centralizovanými metrikami, čo zjednodušuje prevádzku a môže znížiť náklady.
  • Škálovateľnosť: Niektoré samostatné grafové databázy závisia od škálovania alebo klastrovania špecifického pre dodávateľa. Graph je navrhnutý pre veľkorozmerné grafy a využíva scale-out sharding naprieč viacerými pracovníkmi na efektívne spracovanie veľkých dát.
  • Nástroje a zručnosti: Grafové systémy špecifické pre dodávateľa môžu vyžadovať špecializované jazyky a samostatné analytické rámce. Graph poskytuje jednotné modelovanie, dotazovanie založené na štandardoch (GQL), zabudované algoritmy analýzy grafov, integráciu BI a AI vrátane Fabric Data Agent podporu dotazovania grafov v prirodzenom jazyku (náhľad) a prieskumné nástroje s nízkym alebo bez kódu. Tieto schopnosti umožňujú širšiemu okruhu používateľov pracovať s pripojenými dátami.
  • Správa a bezpečnosť: Samostatné nasadenia grafov vyžadujú nezávislé riadenie a bezpečnostné nastavenia. Graph používa OneLake governance, lineage a workspace roll-based access control (RBAC), takže súlad, audit a oprávnenia zostávajú konzistentné so zvyškom vášho Fabric prostredia.