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.
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.
En grafdatabase lagrer og spør data som et nettverk av noder (entiteter) og kanter (relasjoner). Denne tilnærmingen gjør den fundamentalt forskjellig fra tabell-og-rader-formatet i relasjonsdatabaser. Grafdatabaser fungerer godt for modellering og analyse av høyt sammenkoblede data, som sosiale nettverk, kunnskapsgrafer, anbefalingssystemer og svindeldeteksjon.
Kjerneforskjeller
- 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. Denne metoden fungerer godt for enkle relasjoner, men kan bli kostbar og kompleks for dype eller variabel lengde forbindelser.
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 GQL gjør det enkelt å uttrykke traverser og mønstermatching.
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
Grafdatabaser kan overgå relasjonssystemer 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.
Skaleringshensyn
- 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 skal du bruke hver
Bruk en grafdatabase hvis:
- Dataene dine er svært sammenkoblede og relasjonstunge (sosiale nettverk, kunnskapsgrafer, 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
Mange prosjekter bruker begge typer databaser: en relasjonsdatabase for kjernetransaksjonsdata og en grafdatabase for spesialiserte analyse- eller nettverksanalysefunksjoner.