Uscita del DBMS orientato ai grafi Nebula Graph 3.2

È stato pubblicato il rilascio del database open source Nebula Graph 3.2, progettato per una memorizzazione efficace di grandi set di dati correlati, che formano un grafo composto da miliardi di nodi e trilioni di collegamenti. Il progetto è scritto in C++ e distribuito sotto licenza Apache 2.0. Le librerie client per l'accesso al database sono preparate per i linguaggi Go, Python e Java.

Il database utilizza un'architettura distribuita senza partizione delle risorse (shared-nothing), che prevede l'esecuzione di processi indipendenti e autosufficienti per l'elaborazione delle richieste graphd e per la memorizzazione storaged. Il meta-servizio si occupa dell'orchestrazione del trasferimento dei dati e della fornitura di meta-informazioni sul grafo. Per garantire la coerenza dei dati, viene utilizzato un protocollo basato sull'algoritmo RAFT.

Le principali caratteristiche di Nebula Graph:

  • Sicurezza garantita fornendo accesso solo agli utenti autenticati, le cui autorizzazioni vengono definite tramite un sistema di gestione degli accessi basato sui ruoli (RBAC).
  • Possibilità di collegare diversi tipi di motori di memorizzazione. Supporto per l'estensione del linguaggio delle query con nuovi algoritmi.
  • Garanzia di latenze minime nella lettura o scrittura dei dati e mantenimento di un'alta capacità di elaborazione. Nei test in un cluster con un nodo graphd e tre nodi storaged, con un database di 632 GB, comprendente un grafo di 1,2 miliardi di vertici e 8,4 miliardi di archi, le latenze sono state nell'ordine di pochi millisecondi, mentre la capacità di elaborazione ha raggiunto fino a 140.000 richieste al secondo.
  • Scalabilità lineare.
  • Linguaggio di query simile a SQL, sufficientemente potente e facile da comprendere. Supporto per operazioni come GO (traversata bidirezionale dei nodi del grafo), GROUP BY, ORDER BY, LIMIT, UNION, UNION DISTINCT, INTERSECT, MINUS, PIPE (utilizzo del risultato della query precedente). Supporta indici e variabili definite dall'utente.
  • Garantire alta disponibilità e resilienza ai guasti.
  • Supporto per la creazione di snapshot dello stato del DB per semplificare le operazioni di backup.
  • Pronto per l'uso industriale (già utilizzato nelle infrastrutture delle aziende JD, Meituan e Xiaohongshu).
  • Possibilità di modificare lo schema di archiviazione e aggiornamento dei dati senza fermare o influenzare le operazioni in corso.
  • Supporto TTL per limitare la vita dei dati.
  • Comandi per gestire le impostazioni e gli host di archiviazione.
  • Strumenti per gestire i lavori e pianificare l'esecuzione dei lavori (attualmente supportati i lavori COMPACT e FLUSH).
  • Operazioni per la ricerca del percorso completo e del percorso più breve tra i vertici specificati.
  • Interfaccia OLAP per integrazione con piattaforme analitiche di terze parti.
  • Utilità per importare dati da file CSV o da Spark.
  • Esportazione delle metriche per la supervisione tramite Prometheus e Grafana.
  • Interfaccia web Nebula Graph Studio per la visualizzazione delle operazioni sul grafo, la navigazione nel grafo, la progettazione dello schema di memorizzazione e il caricamento dei dati.

Nel nuovo rilascio:

  • Aggiunta del supporto per la funzione extract() per l'estrazione di una sottostringa corrispondente a un'espressione specificata.
  • Ottimizzate le impostazioni nel file di configurazione.
  • Aggiunte regole di ottimizzazione per rimuovere operatori AppendVertices inutili e disabilitare l'applicazione di filtri sugli archi e sui vertici.
  • Ridotto il volume di dati copiati per le operazioni JOIN, così come per gli operatori Traverse e AppendVertices.
  • Ottimizzate le prestazioni di SHORTEST PATH e SUBGRAPH.
  • Migliorata la distribuzione della memoria (utilizzato Arena Allocator).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster