Rilascio del DBMS orientato ai grafi Nebula Graph 3.2

È stato rilasciato Nebula Graph 3.2, un database open-source progettato per l'archiviazione efficace di grandi set di dati correlati che formano un grafo con miliardi di nodi e trilioni di relazioni. Il progetto è scritto in C++ e distribuito sotto licenza Apache 2.0. Le librerie client per l'accesso al database sono disponibili per i linguaggi Go, Python e Java.

Il database utilizza un'architettura distribuita senza divisione delle risorse (shared-nothing), che implica l'esecuzione di processi indipendenti e autonomi per l'elaborazione delle richieste graphd e per l'archiviazione storaged. La gestione del movimento dei dati e la fornitura di meta-informazioni sul grafo sono gestite da un meta-servizio. Per garantire la coerenza dei dati viene utilizzato un protocollo basato sull'algoritmo RAFT.

Le principali caratteristiche di Nebula Graph:

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

Nel nuovo rilascio:

  • Aggiunto il supporto per la funzione extract() per estrarre una sottostringa che corrisponde a un'espressione specificata.
  • Ottimizzati i parametri nel file di configurazione.
  • Aggiunte regole di ottimizzazione per eliminare l'operatore AppendVertices inutile e disattivare l'applicazione di filtri su spigoli e vertici.
  • Ridotto il volume dei dati copiati per l'operazione JOIN, così come per gli operatori Traverse e AppendVertices.
  • Ottimizzata la performance di SHORTEST PATH e SUBGRAPH.
  • Migliorata la gestione della memoria (utilizzo di Arena Allocator).

Fonte: opennet.ru

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