Video: Import Data, Analyze, Export and Plot in Python 2025
Den grundlæggende struktur for grafdatabaser i store data kaldes "node-relation. "Denne struktur er mest nyttig, når du skal håndtere meget sammenkoblede data. Noder og relationer understøtter egenskaber , et nøgleværdipar, hvor dataene er gemt.
Disse databaser navigeres ved at følge relationerne. Denne form for opbevaring og navigation er ikke mulig i RDBMSs (relationsdatabasestyringssystemer) på grund af de stive bordstrukturer og manglende evne til at følge forbindelser mellem dataene, hvor de end måtte føre os. En grafdatabase kan bruges til at styre geografiske data til olieudforskning eller til model og optimere en teleselskabs netværk.
En af de mest anvendte grafdatabaser er Neo4J. Det er et open source-projekt, der er licenseret under GNU-licensen v3. 0. En understøttet, kommerciel version leveres af Neo Technology under GNU AGPL v3. 0 og kommerciel licens.
Neo4J er en ACID-transaktionsdatabase, der tilbyder høj tilgængelighed via clustering. Det er en troværdig og skalerbar database, der er let at modelere på grund af knudeforholds egenskabernes grundlæggende struktur, og hvor naturligt det kortlægger vores egne menneskelige relationer. Det kræver ikke et skema, og det kræver heller ikke datatyper, så det er i sig selv meget fleksibelt.
Med denne fleksibilitet kommer der nogle begrænsninger. Noder kan ikke henvise direkte til dem. For eksempel kan du (som en knude) heller ikke din egen far eller mor (som relationer), men du kan være a far eller mor. Der kan være virkelige tilfælde i verden, hvor selvreferencen er nødvendig.
Hvis det er tilfældet, er en grafdatabase ikke den bedste løsning, da reglerne om selvreferencer håndhæves strengt. Selvom replikationsfunktionen er meget god, kan Neo4J kun replikere hele grafer, og sætte en grænse for grafens overordnede størrelse (ca. 34 milliarder knudepunkter og 34 milliarder relationer).
Vigtige egenskaber ved Neo4J omfatter følgende:
-
Integration med andre databaser: Neo4J understøtter transaktionsstyring med tilbagekaldelse for at muliggøre problemfri interoperabilitet med nongraphing-datalager.
-
Synkroniseringstjenester: Neo4J understøtter hændelsesdrevne adfærd via en hændelsesbuss, periodisk synkronisering med sig selv eller en RDBMS som master og traditionel batchsynkronisering.
-
Resiliency: Neo4J understøtter koldt (det vil sige, når databasen ikke kører) og hot (når den kører) sikkerhedskopier samt en højtilgængelig clusteringstilstand.Standardadvarsler er tilgængelige for integration med eksisterende operativsystemer.
-
Sprogsprog: Neo4J understøtter et declarative sprog kaldet Cypher, der er designet specifikt til at spørge grafer og deres komponenter. Cypher kommandoer er løst baseret på SQL syntax og er målrettet mod ad hoc forespørgsler af graf data.
Neo4J-implementeringer passer bedst til
-
Social networking
-
Klassificering af biologiske eller medicinske domæner
-
Oprettelse af dynamiske samfund af praksis eller interesse