Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview wordt geleverd zonder een service level agreement en wordt niet aanbevolen voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Voor meer informatie, zie Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews.
Een grafiekdatabase modelleert gegevens als een netwerk van verbonden entiteiten en relaties. Het meest gebruikte type grafiekdatabase implementeert het gelabelde eigenschapsgrafiekmodel : entiteiten (knooppunten) en relaties (randen) kunnen labels en eigenschappen (sleutel-waardeparen) bevatten. Met dit flexibele model kunt u zowel schema-optionele als schemagestuurde ontwerpen uitvoeren en kunt u uitgebreide semantiek uitdrukken. Omdat verbindingen expliciet als randen worden opgeslagen, doorlopen query's relaties door de randen te volgen in plaats van dure joins tijdens het uitvoeren van de query's te berekenen.
Belangrijk
Dit artikel gebruikt uitsluitend de voorbeeldgrafiekdataset van sociale netwerken.
Basisconcepten voor graph-databases
- Knooppunten vertegenwoordigen dingen zoals personen, producten of plaatsen. Knooppunten kunnen labels en eigenschappen hebben die hun kenmerken beschrijven.
- Randen geven aan hoe deze dingen zijn verbonden, bijvoorbeeld FRIENDS_WITH, GEKOCHT of LOCATED_IN. Randen kunnen ook eigenschappen en labels bevatten om metagegevens van relaties te coderen.
- Eigenschappen voegen details toe aan knooppunten en randen (bijvoorbeeld de naam van een persoon of de datum van een rand). Omdat relaties expliciet als randen worden opgeslagen, navigeren query's in de grafiek door verbindingen te volgen in plaats van ze te berekenen tijdens de query.
Hoe relaties opvragen werkt
Grafiekquery's halen verbonden informatie op door van een beginknooppunt naar de buren te gaan, vervolgens naar hun buren, enzovoort. De inspanning die een traversal uitvoert, is gekoppeld aan het aantal randen dat wordt aangeraakt (de lokale omgeving), niet de totale grootte van de dataset. Dit maakt vragen over paden, verbindingen en patronen, zoals vrienden van vrienden, kortste paden of afhankelijkheden met meerdere hops, natuurlijk en efficiënt om uit te drukken.
Grafiekdatabases maken gebruik van querytalen op basis van patronen, zoals de steeds vaker aangenomen Graph Query Language (GQL) om deze doorkruisingen beknopt te beschrijven. GQL wordt gestandaardiseerd door dezelfde internationale werkgroep die toezicht houdt op SQL (ISO/IEC 39075), waarbij grafiekquery's worden afgestemd op vastgestelde databasestandaarden.
Voorbeeld (patroonkoppeling met GQL):
MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100
Dit patroon leest als: beginnend bij het knooppunt Persoon voor Annemarie, volg :knows verbindingen naar elke vriend, volg vervolgens :likes verbindingen naar gerelateerde :Comment knooppunten en geef de 100 nieuwste van deze opmerkingen terug.
Modellering en schema
Grafiekgegevensmodellen zijn schema-optioneel: u kunt werken met een vast schema wanneer u een sterk beheer nodig hebt of het model ontwikkelt als nieuwe knooppunttypen, relaties of eigenschappen worden weergegeven. Deze aanpak vermindert de noodzaak van gegevensduplicatie en stelt teams in staat om gegevens uit meerdere bronnen samen te voegen zonder dat ze vooraf opnieuw hoeven te worden ontworpen.
Algemene toepassingen voor grafiekdatabases
Grafiekdatabases zijn nauw afgestemd op domeinen waarbij verbindingen waarde stimuleren, zoals sociale netwerken, kennisgrafieken, aanbevelingssystemen, fraude- en risiconetwerken, netwerk- en IT-topologie en afhankelijkheidsanalyse van de toeleveringsketen. In deze scenario's gaan de vragen minder over individuele records en meer over het aantal entiteiten die verband houden met en interageren over verschillende tussenstappen.
Wanneer moet u een grafiekdatabase overwegen
Kies een grafiekdatabase wanneer uw primaire vragen betrekking hebben op paden, buurten en patronen in verbonden gegevens; wanneer het aantal hops variabel is of niet van tevoren bekend is; of wanneer u relaties tussen verschillende gegevenssets moet combineren en navigeren. Als dit de vragen zijn die u herhaaldelijk moet beantwoorden, is een grafiekmodel een natuurlijke pasvorm.
Hoe zit het met ETL?
Het vertegenwoordigen van uw gegevens als een grafiek en deze opslaan in een afzonderlijke, zelfstandige grafiekdatabase introduceert vaak ETL en governanceoverhead. Grafiek in Microsoft Fabric werkt daarentegen rechtstreeks op OneLake, waardoor de noodzaak voor afzonderlijke ETL-pijplijnen en gegevensduplicatie wordt verminderd of geëlimineerd. Houd rekening met deze compromissen:
- Gegevensverplaatsing en duplicatie: zelfstandige grafiekdatabases vereisen doorgaans het extraheren, transformeren en laden van (ETL)-gegevens in een afzonderlijk archief, wat de complexiteit verhoogt en kan leiden tot gedupliceerde gegevenssets. Graph in Microsoft Fabric werkt op OneLake, zodat u verbonden gegevens kunt modelleren en er query's op kunt uitvoeren zonder deze te verplaatsen.
- Operationele kosten: zelfstandige grafiekstacks worden uitgevoerd als afzonderlijke clusters of services en dragen vaak niet-actieve capaciteitskosten met zich mee. Grafische werklasten in Fabric verbruiken poolcapaciteitseenheden (CU's) met automatische afschaling en gecentraliseerde metriek. Dit vereenvoudigt de bewerkingen en kan de kosten verlagen.
- Schaalbaarheid: sommige zelfstandige grafiekdatabases zijn afhankelijk van omhoog schalen of leverancierspecifieke clustering. Graph in Microsoft Fabric is ontworpen voor grootschalige grafieken en maakt gebruik van scale-out sharding voor meerdere werkrollen om werkbelastingen van big data efficiënt te verwerken.
- Hulpprogramma's en vaardigheden: Leverancierspecifieke grafieksystemen kunnen gespecialiseerde talen en afzonderlijke analyseframeworks vereisen. Graph in Microsoft Fabric biedt geïntegreerde modellering, op standaarden gebaseerde query's (GQL), ingebouwde graph analytics-algoritmen, BI- en AI-integratie en verkennende hulpprogramma's met weinig/geen code, zodat een bredere set gebruikers met verbonden gegevens kan werken.
- Governance en beveiliging: afzonderlijke grafiekimplementaties hebben onafhankelijke governance- en beveiligingsinstellingen nodig. Graph in Microsoft Fabric maakt gebruik van OneLake-governance, herkomst en rolgebaseerde toegangscontrole (RBAC) voor werkruimten, zodat naleving, controle en machtigingen consistent blijven met de rest van uw Fabric-omgeving.