Video: The mission to create a searchable database of Earth's surface | Will Marshall 2025
Den grundläggande strukturen för grafdatabaser i stora data kallas "nod-relation. "Den här strukturen är mest användbar när du måste hantera mycket sammankopplade data. Noder och relationer stöder egenskaper , en nyckelvärdespar där data lagras.
Dessa databaser navigeras genom att följa relationerna. Denna typ av lagring och navigering är inte möjlig i RDBMSs (relationsdatabashanteringssystem) på grund av de styva bordstrukturerna och oförmågan att följa kopplingar mellan data var de än kan leda oss. En grafdatabas kan användas för att hantera geografiska data för oljeutforskning eller för att modellera och optimera en telekomleverantörs nätverk.
En av de mest använda grafdatabaserna är Neo4J. Det är ett open source-projekt licensierat enligt GNU: s offentliga licens v3. 0. En stödd kommersiell version tillhandahålls av Neo Technology under GNU AGPL v3. 0 och kommersiell licensiering.
Neo4J är en ACID-transaktionsdatabas som erbjuder hög tillgänglighet genom kluster. Det är en pålitlig och skalbar databas som är lätt att modellera på grund av nodförhållandeegenskapernas grundläggande struktur och hur naturligt det kartlägger våra egna mänskliga relationer. Det kräver inte ett schema, det behöver inte heller data typing, så det är i sig väldigt flexibelt.
Med denna flexibilitet kommer några begränsningar. Noder kan inte referera sig direkt. Till exempel kan du (som en nod) inte heller vara din egen far eller mamma (som relationer), men du kan vara a far eller mamma. Det kan finnas verkliga världssaker där självreferens krävs. Om så är fallet, är en grafdatabas inte den bästa lösningen eftersom reglerna om självreferens är strikt tillämpliga. Medan replikationsfunktionen är mycket bra kan Neo4J bara replikera hela grafer, placera en gräns på grafens totala storlek (cirka 34 miljarder noder och 34 miljarder relationer).
Integration med andra databaser:
-
Neo4J stöder transaktionshantering med rollback för att möjliggöra sömlös driftskompatibilitet med nongraphing datalager. Synkroniseringstjänster:
-
Neo4J stöder händelsesstyrda beteenden via en händelsebuss, periodisk synkronisering med sig själv eller en RDBMS som mastern och traditionell satsvis synkronisering. Elasticitet:
-
Neo4J stöder kallt (det vill säga när databasen inte körs) och heta (när det körs) säkerhetskopieringar, liksom ett hög tillgänglighetsklusterläge.Standardvarningar finns tillgängliga för integration med befintliga operativsystem. Frågespråk:
-
Neo4J stöder ett deklarativt språk som heter Cypher, som är utformat specifikt för att söka efter grafer och deras komponenter. Cypher-kommandon är löst baserade på SQL-syntax och är riktade mot ad hoc-frågor i grafdata. Neo4J-implementeringar passar bäst för
Sociala nätverk
-
Klassificering av biologiska eller medicinska domäner
-
Skapa dynamiska träningsgrupper eller intressen
