de release van de open source DBMS , ontworpen voor effectieve opslag van grote sets verbonden gegevens die een graaf vormen met miljarden knooppunten en triljoenen verbindingen. Het project is geschreven in C++ en onder Apache 2.0-licentie. De klantbibliotheken voor toegang tot de DBMS zijn voorbereid voor de talen Go, Python en Java. De ontwikkelende DBMS-startup VESoft heeft enkele dagen geleden de eerste tranche investeringen van 8 miljoen dollar ontvangen.
In de DBMS is er een gedistribueerde architectuur zonder resource-splitsing (shared-nothing), wat inhoudt dat onafhankelijke en zelfstandige processen voor het verwerken van verzoeken (graphd) en opslagprocessen (storaged) draaien. De orkestratie van gegevensverplaatsing en de levering van metadata over de graaf worden afgehandeld door de metadienst. Voor gegevensconsistente wordt er een protocol op basis van het algoritme .
Belangrijkste kenmerken van Nebula Graph:
- Garantie door alleen toegang te verlenen aan geauthenticeerde gebruikers, wiens bevoegdheden worden ingesteld via een rolgebaseerd toegangscontrolesysteem (RBAC).
- verbindingen van verschillende typen opslagengines. Ondersteuning voor het uitbreiden van de query-taal met nieuwe algoritmen.
- Garantie van minimale vertragingen bij het lezen of schrijven van gegevens en het handhaven van een hoge doorvoersnelheid. Bij een cluster bestaande uit ƩƩn graphd-knooppunt en drie storaged-knooppunten, met een database van 632 GB, die een graaf bevat met 1,2 miljard knooppunten en 8,4 miljard randen, waren de vertragingen op enkele milliseconden niveau, en de doorvoersnelheid bereikte tot 140.000 verzoeken per seconde.
- Lineaire schaalbaarheid.
- SQL-achtige query-taal die krachtig genoeg is en eenvoudig te begrijpen. Ondersteunt bewerkingen zoals GO (tweezijdig doorkruisen van grafiekknopen), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (gebruik van het resultaat van het vorige verzoek). Ondersteunt indexen en door de gebruiker gedefinieerde variabelen.
- Hoge beschikbaarheid en fouttolerantie.
- Ondersteuning voor het maken van snapshots van de status van de database om het maken van back-ups te vergemakkelijken.
- Klaar voor industriƫel gebruik (al in gebruik door bedrijven zoals JD, Meituan en Xiaohongshu).
- Mogelijkheid om de opslagstructuur te wijzigen en gegevens bij te werken zonder onderbrekingen of invloed op de uitgevoerde operaties.
- Ondersteuning voor TTL om de levensduur van gegevens te beperken.
- Commando's voor het beheren van instellingen en opslaghosts.
- Tools voor het beheren van taken en het plannen van uitvoeringen (momenteel worden alleen COMPACT en FLUSH ondersteund).
- Operaties voor het zoeken naar de volledige pad en de kortste pad tussen opgegeven knooppunten.
- OLAP-interface voor integratie met externe analyseplatforms.
- Utilities voor het importeren van gegevens uit CSV-bestanden of uit Spark.
- Export van metrics voor monitoring met Prometheus en Grafana.
- Web-interface
voor het visualiseren van grafbewerkingen, navigeren door de graaf, ontwerpen van opslagstructuren en het laden van gegevens.
Bron: opennet.ru
