Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.