Video: The mission to create a searchable database of Earth's surface | Will Marshall 2024
De fundamentele structuur voor grafiedatabases in big data wordt "knooppuntrelatie" genoemd. "Deze structuur is vooral handig als je te maken hebt met sterk onderling verbonden gegevens. Knopen en relaties ondersteunen eigenschappen , een sleutel / waarde-paar waar de gegevens worden opgeslagen.
Deze databases worden genavigeerd door de relaties te volgen. Dit soort opslag en navigatie is niet mogelijk in RDBMS's (relationele databasebeheersystemen) vanwege de rigide tabelstructuren en het onvermogen om verbindingen tussen de gegevens te volgen, waar ze ons ook naartoe leiden. Een grafendatabase kan worden gebruikt om geografische gegevens voor olie-exploratie te beheren of om de netwerken van telecommunicatieproviders te modelleren en te optimaliseren.
Een van de meest gebruikte grafiedatabases is Neo4J. Het is een open-sourceproject met een licentie onder de GNU-openbare licentie v3. 0. Een ondersteunde, commerciële versie wordt geleverd door Neo Technology onder de GNU AGPL v3. 0 en commerciële licenties.
Neo4J is een ACID-transactiedatabase die hoge beschikbaarheid door middel van clustering biedt. Het is een betrouwbare en schaalbare database die eenvoudig te modelleren is vanwege de fundamentele structuur van de knooppuntrelatie-eigenschappen en hoe deze op natuurlijke wijze wordt gekoppeld aan onze eigen menselijke relaties. Het vereist geen schema en vereist ook geen gegevens, dus het is inherent erg flexibel.
Met deze flexibiliteit komen een paar beperkingen. Knopen kunnen niet rechtstreeks naar zichzelf verwijzen. U kunt bijvoorbeeld (als knooppunt) niet ook uw eigen vader of moeder zijn (als relaties), maar u kunt een vader of moeder zijn. Er kunnen gevallen in de echte wereld zijn waarin zelfreferentie vereist is.
Als dat zo is, is een diagramdatabase niet de beste oplossing, omdat de regels over zelfreferentie strikt worden gehandhaafd. Hoewel de replicatiemogelijkheden zeer goed zijn, kan Neo4J alleen hele grafieken repliceren, waardoor de totale grootte van de grafiek wordt beperkt (ongeveer 34 miljard knooppunten en 34 miljard relaties).
Belangrijke kenmerken van Neo4J zijn:
-
Integratie met andere databases: Neo4J ondersteunt transactiebeheer met rollback om naadloze interoperabiliteit met niet-grafische datastores mogelijk te maken.
-
Synchronisatieservices: Neo4J ondersteunt gebeurtenisgestuurd gedrag via een gebeurtenisbus, periodieke synchronisatie met behulp van zichzelf, of een RDBMS als de master en traditionele batch-synchronisatie.
-
Veerkracht: Neo4J ondersteunt verkoudheid (dat wil zeggen, wanneer de database niet actief is) en heet (wanneer het actief is) back-ups, evenals een hoge beschikbaarheid clustermodus.Standaardwaarschuwingen zijn beschikbaar voor integratie met bestaande operationele managementsystemen.
-
Query-taal: Neo4J ondersteunt een declaratieve taal met de naam Cypher, speciaal ontworpen voor het opvragen van grafieken en hun componenten. Cypher-opdrachten zijn losjes gebaseerd op SQL-syntaxis en zijn gericht op ad-hoc-query's van de grafiekgegevens.
Neo4J-implementaties zijn het meest geschikt voor
-
Sociale netwerken
-
Classificatie van biologische of medische domeinen
-
Dynamische praktijkgemeenschappen of -interesses creëren