Video: The mission to create a searchable database of Earth's surface | Will Marshall 2025
Den grunnleggende strukturen for grafdatabaser i store data kalles "node-relationship. "Denne strukturen er mest nyttig når du må håndtere svært sammenkoblede data. Noder og relasjoner støtter egenskaper , et nøkkelverdi-par hvor dataene er lagret.
Disse databasene navigeres ved å følge relasjonene. Denne typen lagring og navigering er ikke mulig i RDBMSs (relasjonsdatabasebehandlingssystemer) på grunn av de stive tabellstrukturer og manglende evne til å følge sammenhenger mellom dataene der de kan lede oss. En grafdatabase kan brukes til å håndtere geografiske data for oljeutforskning eller for å modellere og optimalisere teleselskapets nettverk.
En av de mest brukte grafdatabasene er Neo4J. Det er et open source-prosjekt lisensiert under GNU-lisensen v3. 0. En støttet, kommersiell versjon er levert av Neo Technology under GNU AGPL v3. 0 og kommersiell lisensiering.
Neo4J er en ACID-transaksjonsdatabase som gir høy tilgjengelighet gjennom clustering. Det er en pålitelig og skalerbar database som er enkel å modellere på grunn av node-forholdets egenskaper 'grunnleggende struktur og hvor naturlig det kartlegger våre egne menneskelige relasjoner. Det krever ikke et skjema, og det krever heller ikke datatrykk, så det er iboende veldig fleksibelt.
Med denne fleksibiliteten kommer noen begrensninger. Noder kan ikke referere seg direkte. For eksempel kan du (som node) ikke også være din egen far eller mor (som relasjoner), men du kan være a far eller mor. Det kan være ekte verdensfall der selvreferanse er nødvendig.
Hvis det er tilfelle, er en grafdatabase ikke den beste løsningen siden reglene om selvreferanse er strengt håndhevet. Mens replikasjonsegenskapen er veldig bra, kan Neo4J bare replikere hele grafer, plassere en grense på grafens samlede størrelse (omtrent 34 milliarder noder og 34 milliarder relasjoner).
Viktige egenskaper til Neo4J inkluderer følgende:
-
Integrasjon med andre databaser: Neo4J støtter transaksjonsadministrasjon med tilbakelevering for å muliggjøre sømløs interoperabilitet med nongraphing datalager.
-
Synkroniseringstjenester: Neo4J støtter hendelsesdrevet adferd via en hendelsesbuss, periodisk synkronisering som bruker seg selv, eller en RDBMS som master og tradisjonell batchsynkronisering.
-
Resiliency: Neo4J støtter kaldt (det vil si når databasen ikke kjører) og hot (når det kjører) sikkerhetskopier, samt en høytilgjengelig klustringsmodus.Standardvarsler er tilgjengelige for integrasjon med eksisterende operativsystemer.
-
Spørrespråk: Neo4J støtter et deklarativt språk som kalles Cypher, designet spesielt for å spørre grafer og deres komponenter. Cypher-kommandoer er løst basert på SQL-syntaks og er målrettet mot ad hoc-spørringer av grafdataene.
Neo4J-implementeringer passer best til
-
Sosialt nettverk
-
Klassifisering av biologiske eller medisinske domener
-
Opprette dynamiske samfunn av praksis eller interesse
