Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här funktionen är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Supplemental Terms of Use for Microsoft Azure Previews.
En grafdatabas lagrar och frågar data som ett nätverk av noder (entiteter) och kanter (relationer). Den här metoden skiljer sig från formatet tabeller och rader för relationsdatabaser. Grafdatabaser är utmärkta vid modellering och analys av mycket anslutna data, till exempel sociala nätverk, kunskapsdiagram, rekommendationssystem och bedrägeriidentifiering.
I den här artikeln jämförs grafdatabaser och relationsdatabaser. Den belyser viktiga skillnader, användningsfall och fördelar i analys. Använd den här informationen för att avgöra om du vill använda graf i Microsoft Fabric eller en relationsdatabas för dina specifika behov.
Grundläggande skillnader mellan graf- och relationsdatabaser
- Grafdatabaser: Organisera data som noder och kanter och lagra relationer explicit. Traversering av anslutningar är effektivt och ofta oberoende av den totala datamängdens storlek.
- Relationsdatabaser: Organisera data i tabeller med rader och kolumner. Använd JOIN-åtgärder för att härleda relationer vid frågetillfället. För mycket anslutna data kan dessa åtgärder bli komplexa och långsamma.
Fråga efter relationer: Sammanfogningar jämfört med traversering
Frågor till relationsdatabaser: Främmande nycklar länkar data i olika tabeller. För att hämta relaterade data använder relationsdatabaser JOIN-åtgärder för att kombinera rader från flera tabeller. För enkla relationer fungerar JOIN:er bra. Men för djup- eller variabellängdsanslutningar kan de bli dyra och komplexa.
Graph-databasfrågor: Lagra relationer som kanter, så att du direkt kan bläddra från en nod till en annan. Graph-frågor kan effektivt navigera i flera hopp och komplexa mönster. Diagramfrågespråk som GQL (Graph Query Language) gör det enkelt att uttrycka blädderingar och mönstermatchning.
Example:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (motsvarande):
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';
Anmärkning
GQL är ett ISO-standardiserat frågespråk för grafdatabaser. Denna är utformad för effektiv frågor och hantering av grafstrukturerade data. Samma internationella arbetsgrupp som övervakar SQL utvecklar den.
Prestandakonsekvenser för graf- och relationsdatabaser
Grafdatabaser kan överträffa relationsdatabaser för frågor som omfattar många kanter eller okända djup, särskilt för djuplänksanalyser eller rekursiva frågor. Relationsdatabaser utmärker sig vid uppsättningsorienterade åtgärder och sammansättningar på grund av årtionden av optimering. I grafen i Microsoft Fabric är frågemotorn optimerad för bläddering och mönstermatchning i storskaliga grafer som lagras i OneLake.
Skalningsöverväganden för graf- och relationsdatabaser
- Relationsdatabaser: Skala vanligtvis lodrätt (större datorer) och kan skalas vågrätt genom horisontell partitionering och replikering. Sharding av scheman med hög anslutning är komplext och kan orsaka nätverksöverskridande resurskostnader.
- Grafdatabaser: Skala lodrätt och vågrätt. Distribuerade grafdatabaser partitionerar grafer mellan datorer och syftar till att hålla ihop relaterade noder för effektiva genomgångar.
När du ska använda en grafdatabas eller en relationsdatabas
Använd en grafdatabas om:
- Dina data är mycket anslutna och relationsintensiva (sociala nätverk, kunskapsdiagram och rekommendationer).
- Du måste gå igenom ett okänt eller variabelt antal hopp.
- Schemat utvecklas eller är halvstrukturerat.
- Du vill ha intuitiv modellering för domäner där relationer är centrala.
Använd en relationsdatabas om:
- Dina data är mestadels tabellbaserade eller passar en väldefinierad struktur.
- Dina sökningar omfattar tunga aggregeringar eller operationer på stora dataset.
- Du har befintliga verktyg eller expertis som är anpassade till SQL.
Hybridmetoder med graf- och relationsdatabaser
Många projekt använder båda typerna av databaser: en relationsdatabas för grundläggande transaktionsdata och en grafdatabas för specialiserade analys- eller nätverksanalysfunktioner. I Microsoft Fabric kan du kombinera diagram med andra datalager på samma arbetsyta, vilket ger dig både relations- och graffunktioner utan att flytta data mellan separata system.