Dela via


Vad är en grafdatabas?

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 Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Graph-databaser är ett kraftfullt sätt att modellera och fråga efter anslutna data. Till skillnad från traditionella relationsdatabaser som lagrar data i tabeller representerar grafdatabaser information som noder (entiteter) och kanter (relationer), vilket gör det enklare att mer flexibelt utforska komplexa anslutningar och mönster.

Den vanligaste typen av grafdatabas implementerar lpg-modellen ( labeled property graph ): entiteter (noder) och relationer (kanter) kan ha etiketter och egenskaper (nyckel/värde-par). Den här flexibla modellen möjliggör både schema-valfria och schemadrivna design, och det gör att du kan uttrycka omfattande semantik. Eftersom anslutningar lagras explicit som kanter navigerar frågor genom relationer genom att följa kanter i stället för att beräkna dyra sammanfogningar när frågor ställs.

Viktigt!

Denna artikel använder uteslutande dataset för sociala nätverk som exempel på graf.

Grundläggande begrepp för Graph Database

  • Noder representerar entiteter som personer, produkter eller platser. Noder kan ha etiketter och egenskaper som beskriver deras attribut. En personnod kan till exempel ha egenskaper som firstName, lastName och age.
  • Kanter representerar hur entiteterna är anslutna, till exempel FRIENDS_WITH, PURCHASED eller LOCATED_IN. Kanter kan också innehålla egenskaper och etiketter för att koda relationsmetadata.
  • Egenskaper kopplar information till noder och kanter (till exempel en persons namn eller en kants sedan datum). Eftersom relationer lagras explicit som kanter navigerar frågorna i diagrammet genom att följa anslutningar i stället för att beräkna dem vid frågetillfället.

Så här fungerar frågehantering mot relationer

Graf-frågor hämtar ansluten information genom att gå från en startnod till dess grannar, sedan deras grannar och så vidare. Den ansträngning som en bläddering utför är kopplad till det antal kanter som den berör (det lokala grannskapet), inte datamängdens totala storlek. Detta ger frågor om sökvägar, anslutningar och mönster – till exempel vänners vänner, kortaste sökvägar eller multihoppsberoenden – naturliga och effektiva att uttrycka.

Graph-databaser använder mönsterbaserade frågespråk, till exempel det alltmer använda Graph Query Language (GQL) för att beskriva dessa blädderingar kortfattat. GQL standardiseras av samma internationella arbetsgrupp som övervakar SQL (ISO/IEC 39075) och justerar graffrågor med etablerade databasstandarder.

Exempel (mönstermatchning med GQL):

MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100

Det här mönstret ser ut så här: börja vid Person noden för Annemarie och följ via :knows kanterna till varje vän-nod, och följ sedan :likes kanter till relaterade :Comment noder. Returnera de 100 nyaste kommentarerna sorterade efter deras skapandedatum.

Modellering och schema

Diagramdatamodeller är schemaval: du kan arbeta med ett fast schema när du behöver stark styrning eller utveckla modellen när nya nodtyper, relationer eller egenskaper visas. Den här metoden minskar behovet av dataduplicering och gör att teamen kan förena data från flera källor utan omfattande omdesign i förväg.

Vanliga användningsområden för grafdatabaser

Graph-databaser ligger nära domäner där anslutningar driver värde, till exempel:

  • Sociala nätverk
  • Kunskapsdiagram
  • Rekommendationssystem
  • Bedrägeri- och risknätverk
  • Nätverks- och IT-topologi
  • Analys av beroenden i leveranskedjan

I dessa scenarier handlar frågor mindre om enskilda poster och mer om hur många entiteter som har samband och interagerar över flera steg.

När du ska överväga en grafdatabas

Välj en grafdatabas när:

  • Dina primära frågor omfattar sökvägar, grannskap och mönster i anslutna data
  • Antalet hopp är variabelt eller inte känt i förväg
  • Du måste kombinera och navigera relationer mellan olika datauppsättningar

Om du regelbundet ställer den här typen av frågor är en grafmodell en naturlig passform.

Graph i Microsoft Fabric

Att representera dina data som ett diagram och lagra dem i en separat, fristående grafdatabas introducerar ofta ETL (extrahering, transformering, inläsning) och styrningskostnader. Graph i Microsoft Fabric fungerar däremot direkt på OneLake, vilket minskar eller eliminerar behovet av separata ETL-pipelines och dataduplicering. Tänk på dessa kompromisser:

  • Dataförflyttning och duplicering: Fristående grafdatabaser kräver vanligtvis extrahering, transformering och inläsning av data till ett separat lager, vilket ökar komplexiteten och kan leda till duplicerade datamängder. Graph i Microsoft Fabric fungerar på OneLake så att du kan modellera och köra frågor mot anslutna data utan att flytta dem.
  • Driftskostnader: Fristående grafstackar körs som separata kluster eller tjänster och medför ofta avgifter för inaktiv kapacitet. Graph-arbetsbelastningar i Fabric-miljö förbrukar poolade kapacitetsenheter (CUs) med automatisk nedskalning och centraliserade mått, vilket förenklar åtgärder och kan sänka kostnaderna.
  • Skalbarhet: Vissa fristående grafdatabaser är beroende av uppskalning eller leverantörsspecifik klustring. Graph i Microsoft Fabric är utformat för storskaliga grafer och använder skalbar horisontell partitionering över flera arbetare för att effektivt hantera stordataarbetsbelastningar.
  • Verktyg och färdigheter: Leverantörsspecifika grafsystem kan kräva specialiserade språk och separata analysramverk. Graph i Microsoft Fabric tillhandahåller enhetlig modellering, standardbaserad frågekörning (GQL), inbyggda grafanalysalgoritmer, BI- och AI-integrering och undersökande verktyg med låg/ingen kod. Med de här funktionerna kan en bredare uppsättning användare arbeta med anslutna data.
  • Styrning och säkerhet: Separata diagramdistributioner behöver oberoende styrnings- och säkerhetsinställningar. Graph i Microsoft Fabric använder OneLake-styrning, datalinje och workspace-rollbaserad åtkomstkontroll (RBAC) för att efterlevnad, granskning och behörigheter förblir konsekventa med resten av din Fabric-miljö.