Sdílet prostřednictvím


Co je grafová databáze?

Poznámka:

Tato funkce je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Grafové databáze nabízejí výkonný způsob modelování a dotazování připojených dat. Na rozdíl od tradičních relačních databází, které ukládají data do tabulek, představují grafové databáze informace jako uzly (entity) a hrany (relace), což usnadňuje flexibilnější zkoumání složitých připojení a vzorů.

Nejčastěji používaný typ grafové databáze implementuje model LPG ( Labeled Property Graph ): entity (uzly) a relace (hrany) můžou mít popisky a vlastnosti (páry klíč-hodnota). Tento flexibilní model umožňuje návrh s volitelným schématem i s pevným schématem a umožňuje vyjádřit bohatou sémantiku. Vzhledem k tomu, že připojení jsou explicitně uložená jako hrany, dotazy procházejí relacemi využíváním hran místo provádění drahých operací spojení při zpracování dotazu.

Důležité

Tento článek výhradně používá datovou sadu grafů ze sociálních sítí.

Základní koncepty grafové databáze

  • Uzly představují entity, jako jsou lidé, produkty nebo místa. Uzly můžou mít popisky a vlastnosti, které popisují jejich atributy. Například uzel Person může mít vlastnosti, jako je firstName, lastName a age.
  • Hrany představují způsob připojení entit, například FRIENDS_WITH, ZAKOUPENO nebo LOCATED_IN. Hrany mohou také nést vlastnosti a štítky pro kódování metadat relací.
  • Vlastnosti připojují podrobnosti k uzlům a okrajům (například jméno osoby nebo hrany od data). Vzhledem k tomu, že relace jsou explicitně uložené jako hrany, dotazy procházejí grafem sledováním spojení, než aby je vypočítávaly v čase dotazu.

Jak funguje dotazování na relace

Grafové dotazy načítají propojené informace procházením od počátečního uzlu k jeho sousedům, pak k jejich sousedům atd. Úsilí, které procházení provede, je svázáno s počtem hran, jimiž prochází (lokální okolí), nikoli celkovou velikostí datové sady. Díky tomu jsou otázky týkající se cest, spojení a vzorů, jako jsou přátelé přátel, nejkratší cesty nebo vícekrokové závislosti, přirozené a efektivní pro vyjádření.

Grafové databáze používají dotazovací jazyky založené na vzorech, jako je stále častěji přijímaný jazyk Graph Query Language (GQL), k stručné popisu těchto procházení. GQL je standardizován stejnou mezinárodní pracovní skupinou, která dohlíží na SQL (ISO/IEC 39075), a zarovná dotazování grafů se zavedenými databázovými standardy.

Příklad (porovnávání vzorů s GQL):

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

Tento vzor postupuje takto: počínaje uzlem Person pro Annemarie, sledujte :knows hrany ke každému přátelskému uzlu a pak sledujte :likes hrany ke spojeným :Comment uzlům. Vrátí 100 nejnovějších z těchto komentářů seřazených podle data vytvoření.

Modelování a schéma

Datové modely grafů jsou schéma-opční: můžete pracovat s pevným schématem, pokud potřebujete silné řízení, nebo model vyvíjet, jak se objevují nové typy uzlů, vztahy nebo vlastnosti. Tento přístup snižuje potřebu duplikace dat a umožňuje týmům sjednotit data z více zdrojů bez náročného návrhu.

Běžné použití pro grafové databáze

Grafové databáze úzce odpovídají doménám, kde spojení vytvářejí hodnotu, například:

  • Sociální sítě
  • Grafy znalostí
  • Systémy doporučení
  • Podvody a rizikové sítě
  • Topologie sítě a IT
  • Analýza závislostí dodavatelského řetězce

V těchto scénářích jsou dotazy méně o jednotlivých záznamech a více o tom, kolik entit souvisí a interaguje přes několik přeskoků.

Kdy zvážit grafovou databázi

Vyberte grafovou databázi, když:

  • Mezi vaše hlavní otázky patří cesty, okolí a vzory v připojených datech.
  • Počet skoků je proměnný nebo není předem znám.
  • Potřebujete zkombinovat a procházet relace mezi různorodé datové sady.

Pokud se pravidelně ptáte na tyto druhy otázek, je grafový model přirozeným fitem.

Graph v rámci Microsoft Fabric

Reprezentace dat jako grafu a jejich uložení do samostatné grafové databáze často představuje ETL (extrakce, transformace, načítání) a řídicí režii. Naproti tomu Graph v Microsoft Fabric pracuje přímo na OneLake, což snižuje nebo eliminuje potřebu samostatných kanálů ETL a duplikace dat. Zvažte tyto kompromisy:

  • Přesun a duplikace dat: Samostatné grafové databáze obvykle vyžadují extrakci, transformaci a načítání dat do samostatného úložiště, což zvyšuje složitost a může vést k duplikovaným datovým sadám. Graph v Microsoft Fabric funguje na OneLake, takže můžete modelovat a dotazovat připojená data bez jejich přesunutí.
  • Provozní náklady: Samostatné zásobníky grafů fungují jako oddělené clustery nebo služby a často zahrnují poplatky za nevyužitou kapacitu. Grafové úlohy ve Fabric spotřebovávají jednotky kapacity ve fondu s automatickým snížením kapacity a centralizovanými metrikami, které zjednodušují provoz a můžou snížit náklady.
  • Škálovatelnost: Některé samostatné grafové databáze závisí na škálování pomocí rozšiřování stávajících systémů nebo na clusteringu specifickém pro dodavatele. Graph v rámci Microsoft Fabric je navržený pro rozsáhlé grafy a využívá škálování pomocí horizontálního dělení napříč několika pracovníky k efektivnímu zpracování úloh s velkými objemy dat.
  • Nástroje a dovednosti: Systémy grafů specifické pro dodavatele mohou vyžadovat specializované jazyky a samostatné analytické architektury. Graph v Microsoft Fabric poskytuje sjednocené modelování, dotazování založené na standardech (GQL), integrované algoritmy analýzy grafů, integraci BI a AI a nástroje pro průzkumné nástroje bez kódu. Tyto funkce umožňují širší skupině uživatelů pracovat s připojenými daty.
  • Zásady správného řízení a zabezpečení: Samostatná nasazení grafů vyžadují nezávislé nastavení zásad správného řízení a zabezpečení. Graph v Microsoft Fabric používá zásady správného řízení OneLake, rodokmen a řízení přístupu na základě role (RBAC), takže dodržování předpisů, auditování a oprávnění zůstává konzistentní se zbytkem vašeho prostředí Fabric.