Porovnání grafů a relačních databází

Grafová databáze ukládá data a dotazuje se na data jako síť uzlů (entit) a hran (relací). Tento přístup se liší od formátu tabulek a řádků relačních databází. Grafové databáze excelují při modelování a analýze vysoce propojených dat, jako jsou sociální sítě, grafy znalostí, systémy doporučení a detekce podvodů.

Tento článek porovnává grafové databáze a relační databáze. Zvýrazňuje klíčové rozdíly, případy použití a výhody v analýzách. Pomocí těchto informací se můžete rozhodnout, jestli použít graf v Microsoft Fabric nebo relační databázi pro vaše konkrétní potřeby.

Základní rozdíly mezi grafy a relačními databázemi

  • Grafové databáze: Data můžete uspořádat jako uzly a hrany a explicitně ukládat relace. Procházení připojení je efektivní a často nezávislé na velikosti celé datové sady.
  • Relační databáze: Uspořádejte data v tabulkách s řádky a sloupci. Operace JOIN slouží k odvozování relací v době dotazu. U vysoce propojených dat se tyto operace můžou stát složitými a pomalými.

Dotazování na vztahy: Spojení versus procházení

Dotazy relační databáze: Cizí klíče propojuje data v různých tabulkách. Pokud chcete načíst související data, relační databáze používají operace JOIN ke kombinování řádků z více tabulek. Pro jednoduché vztahy JOINy fungují dobře. U hlubokých nebo proměnných připojení ale můžou být nákladné a složité.

Dotazy na grafové databáze: Relace můžete ukládat jako hrany, abyste mohli přímo procházet z jednoho uzlu do druhého. Grafové dotazy mohou efektivně procházet více kroků a složitých vzorů. Dotazovací jazyky grafů, jako je Graph Query Language (GQL), usnadňují expresní procházení a porovnávání vzorů.

Example:

GQL:

MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o

SQL (ekvivalent):

SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';

Poznámka:

GQL je standardizovaný dotazovací jazyk ISO pro grafové databáze. Je navržená pro efektivní dotazování a manipulaci s grafy strukturovanými daty. Stejná mezinárodní pracovní skupina, která dohlíží na SQL, ji vyvíjí.

Vliv na výkon grafů a relačních databází

Grafové databáze můžou předčit relační databáze pro dotazy, které zahrnují mnoho hran nebo neznámých hloubek, zejména pro analýzy hlubokého propojení nebo rekurzivní dotazy. Relační databáze excelují v sada orientovaných operací a agregacích díky desetiletím optimalizace. V grafu v Microsoft Fabric je dotazovací modul optimalizovaný pro procházení a porovnávání vzorů napříč rozsáhlými grafy uloženými ve OneLake.

Důležité informace o škálování grafů a relačních databází

  • Relační databáze: Obvykle se škálují svisle (větší počítače) a můžou se horizontálně škálovat prostřednictvím horizontálního dělení a replikace. Shardování vysoce propojených schémat je složité a může způsobit režii napříč sítěmi.
  • Grafové databáze: Vertikální a vodorovné škálování Distribuované grafové databáze rozdělují grafy napříč počítači, jejichž cílem je udržovat související uzly pohromadě pro efektivní procházení.

Kdy použít grafovou databázi nebo relační databázi

Grafovou databázi použijte v následujících případech:

  • Vaše data jsou vysoce propojená a náročné na vztahy (sociální sítě, grafy znalostí a doporučení).
  • Potřebujete projít neznámý nebo proměnlivý počet uzlů.
  • Schéma se vyvíjí nebo je částečně strukturované.
  • Chcete intuitivní modelování pro domény, kde jsou relace centrální.

Použijte relační databázi, pokud:

  • Vaše data jsou většinou tabulková nebo odpovídají dobře definované struktuře.
  • Dotazy zahrnují náročné agregace nebo velké operace sady.
  • Máte stávající nástroje nebo odborné znalosti v souladu s SQL.

Hybridní přístupy s grafovými a relačními databázemi

Mnoho projektů používá oba typy databází: relační databázi pro základní transakční data a grafovou databázi pro specializované analytické funkce nebo funkce analýzy sítě. V Microsoft Fabric můžete zkombinovat graf s jinými úložišti dat ve stejném pracovním prostoru a umožnit tak relačním i grafovým funkcím, aniž byste museli přesouvat data mezi samostatnými systémy.