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.
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.
V tomto článku porovnáme grafové databáze a relační databáze, zvýrazníme klíčové rozdíly, případy použití a výhody analýzy. Na základě konkrétních potřeb můžete vyhodnotit, jestli se má graph používat pro Microsoft Fabric , nebo relační databázi.
Grafová databáze ukládá data a dotazuje se na data jako síť uzlů (entit) a hran (relace), takže se zásadně 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ů.
Základní rozdíly
- 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. Relace se odvozují v době dotazu pomocí operací JOIN, což se může stát složitým a pomalým pro vysoce propojená data.
Dotazování na vztahy: Spojení versus procházení
Dotazy relační databáze: Data v různých tabulkách jsou propojená prostřednictvím cizích klíčů. Pokud chcete načíst související data, relační databáze používají operace JOIN ke kombinování řádků z více tabulek. To funguje dobře u jednoduchých relací, ale může se stát nákladnou a složitou pro připojení s hlubokou nebo proměnlivou délkou.
Dotazy na grafové databáze: Relace se ukládají jako hrany, což umožňuje přímé procházení z jednoho uzlu do druhého. Grafové dotazy mohou efektivně procházet více kroků a složitých vzorů. Grafové dotazovací jazyky, jako je 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, který je urč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
Grafové databáze můžou překonat relační systémy pro dotazy zahrnující mnoho hran nebo neznámých hloubk, zejména pro analýzy hloubkových propojení nebo rekurzivní dotazy. Relační databáze vynikají v operacích orientovaných na sady a agregacích díky desetiletím optimalizace.
Důležité informace o škálování
- Relační databáze: Obvykle se škálují vertikálně (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 mít za následek 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 jednotlivé
Grafová databáze 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í, 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í.
Relační databázi použijte v následujících případech:
- 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
Mnoho projektů používá obojí: relační databázi pro základní transakční data a grafovou databázi pro specializované analytické funkce nebo funkce analýzy sítě.