Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Note
Denne funksjonen er for øyeblikket i offentlig forhåndsversjon. Denne forhåndsvisningen leveres uten en tjenesteavtale, og anbefales ikke for produksjonsarbeidsbelastninger. Enkelte funksjoner støttes kanskje ikke eller kan ha begrensede funksjoner. For mer informasjon, se Supplemental Terms of Use for Microsoft Azure Previews.
En grafdatabase lagrer og spør data som et nettverk av noder (entiteter) og kanter (relasjoner). Denne tilnærmingen skiller seg fra tabell-og-rader-formatet i relasjonsdatabaser. Grafdatabaser utmerker seg ved å modellere og analysere svært tilkoblede data, for eksempel sosiale nettverk, kunnskapsgrafer, anbefalingssystemer og svindeldeteksjon.
Denne artikkelen sammenligner grafdatabaser og relasjonsdatabaser. Den fremhever viktige forskjeller, brukstilfeller og fordeler innen analyse. Bruk denne informasjonen til å avgjøre om du skal bruke graf i Microsoft Fabric eller en relasjonsdatabase for dine spesifikke behov.
Kjerneforskjeller mellom graf- og relasjonsdatabaser
- Graf databaser: Organiser data som noder og kanter, og lagre relasjoner eksplisitt. Kryssing av tilkoblinger er effektivt og ofte uavhengig av den totale datasettstørrelsen.
- Relasjonelle databaser: Organiser data i tabeller med rader og kolonner. Bruk JOIN-operasjoner for å utlede relasjoner under spørringstidspunktet. For høyt sammenkoblede data kan disse operasjonene bli komplekse og trege.
Spørring av relasjoner: sammenføyninger kontra traverseringer
Relasjonelle databasespørringer: Fremmednøkler kobler data i forskjellige tabeller. For å hente relaterte data bruker relasjonsdatabaser JOIN-operasjoner til å kombinere rader fra flere tabeller. For enkle relasjoner fungerer JOINs fint. Men for dype eller variabel lengde kan de bli dyre og komplekse.
Grafdatabase-spørringer: Lagre relasjoner som kanter, slik at du kan bevege deg direkte fra en node til en annen. Grafspørringer kan effektivt navigere i flere hopp og komplekse mønstre. Grafspørringsspråk som Graph Query Language (GQL) gjør det enkelt å uttrykke traverser og mønstergjenkjenning.
Eksempel:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL (tilsvarende):
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';
Note
GQL er et ISO-standardisert spørringsspråk for grafdatabaser. Den er designet for effektiv spørring og håndtering av grafstrukturerte data. Den samme internasjonale arbeidsgruppen som fører tilsyn med SQL utvikler den.
Ytelsesimplikasjoner for graf- og relasjonsdatabaser
Grafdatabaser kan overgå relasjonsdatabaser for spørringer som involverer mange kanter eller ukjente dybder, spesielt for dyplenkeanalyse eller rekursive spørringer. Relasjonsdatabaser utmerker seg i settorienterte operasjoner og aggregeringer på grunn av tiår med optimalisering. I graf i Microsoft Fabric er spørringsmotoren optimalisert for traversering og mønstergjenkjenning på tvers av store grafer lagret i OneLake.
Skaleringsvurderinger for graf- og relasjonsdatabaser
- Relasjonsdatabaser: Skalerer vanligvis vertikalt (større maskiner) og kan skaleres horisontalt gjennom sharding og replikasjon. Sharding av høyt sammenkoblede skjemaer er komplekst og kan forårsake overhead på tvers av nettverk.
- Graf databaser: Skaler vertikalt og horisontalt. Distribuerte grafdatabaser partisjonerer grafer på tvers av maskiner, med sikte på å holde relaterte noder sammen for effektive gjennomganger.
Når man skal bruke en grafdatabase eller en relasjonsdatabase
Bruk en grafdatabase hvis:
- Dataene dine er svært sammenkoblet og tungt knyttet til relasjoner (sosiale nettverk, kunnskapsgrafer og anbefalinger).
- Du må krysse et ukjent eller variabelt antall hopp.
- Skjemaet er under utvikling eller halvstrukturert.
- Du vil ha intuitiv modellering for domener der relasjoner er sentrale.
Bruk en relasjonsdatabase hvis:
- Dataene dine er for det meste tabellformet eller passer til en veldefinert struktur.
- Spørringene dine involverer tunge aggregasjoner eller store settoperasjoner.
- Du har eksisterende verktøy eller ekspertise på linje med SQL.
Hybride tilnærminger med graf- og relasjonsdatabaser
Mange prosjekter bruker begge typer databaser: en relasjonsdatabase for kjernetransaksjonsdata og en grafdatabase for spesialiserte analyse- eller nettverksanalysefunksjoner. I Microsoft Fabric kan du kombinere grafer med andre datalagre i samme arbeidsområde, noe som gir deg både relasjons- og graffunksjoner uten å flytte data mellom separate systemer.