Nuova versione del DBMS ArangoDB 3.6

pubblicato rilascio di un DBMS multiuso Arango DB 3.6, che fornisce modelli flessibili per l'archiviazione di documenti, grafici e dati sui valori-chiave. Il lavoro con il database viene eseguito tramite un linguaggio di query simile a SQL AQL o tramite estensioni speciali in JavaScript. I metodi di archiviazione dei dati sono conformi ad ACID (Atomicità, Coerenza, Isolamento, Durabilità), supportano le transazioni e forniscono scalabilità sia orizzontale che verticale. Il DBMS può essere gestito tramite un'interfaccia web o una console client Arango SH. Codice ArangoDB distribuito da concesso in licenza con Apache 2. Il progetto è scritto in C e JavaScript.

Caratteristiche principali di ArangoDB:

  • La possibilità di fare a meno della definizione di uno schema di archiviazione dei dati (Schema-free) - i dati sono strutturati sotto forma di documenti in cui i metadati e le informazioni sulla struttura sono separati dai dati dell'utente;
  • Supporto per l'utilizzo di ArangoDB come server per applicazioni web in JavaScript con possibilità di accedere al database tramite API REST/Web;
  • Utilizzo di JavaScript per le applicazioni browser che accedono al database e per i gestori eseguiti sul lato DBMS;
  • Architettura multi-thread che distribuisce il carico su tutti i core della CPU;
  • Un modello flessibile di archiviazione dei dati in grado di combinare coppie chiave-valore, documenti e parametri che definiscono le relazioni tra i record (fornisce strumenti per attraversare i vertici del grafico);
  • Diversi modelli di rappresentazione dei dati (documenti, grafici e coppie chiave-valore) possono essere mescolati in un'unica query, il che semplifica l'aggregazione di dati eterogenei;
  • Supporto per query di unione (JOIN);
  • La possibilità di selezionare il tipo di indice che corrisponde alle attività da risolvere (ad esempio, è possibile utilizzare l'indice per la ricerca full-text);
  • Affidabilità personalizzabile: l'applicazione stessa può determinare cosa è più importante per lei: maggiore affidabilità o prestazioni più elevate;
  • Archiviazione efficiente che sfrutta appieno l'hardware moderno (come gli SSD) e può utilizzare cache di grandi dimensioni;
  • Transazioni: la possibilità di eseguire query su più documenti o raccolte contemporaneamente con coerenza e isolamento delle transazioni opzionali;
  • Supporto per la replica e lo sharding: la possibilità di creare configurazioni master-slave e distribuire set di dati su server diversi a seconda di una determinata funzionalità;
  • Viene fornito un framework JavaScript per creare microservizi Foxx, eseguito all'interno di un server DBMS con accesso diretto ai dati.

Cambiamentiproposto nella versione ArangoDB 3.6:

  • Sono state ottimizzate le prestazioni delle subquery e delle operazioni UPDATE e REPLACE;
  • È stata implementata la possibilità di parallelizzare l'esecuzione delle query AQL, che permette di ridurre i tempi di raccolta dei dati distribuiti sui diversi nodi del cluster;
  • Implementata la materializzazione ritardata dei documenti, che consente in alcune situazioni di eliminare la necessità di recuperare completamente i documenti irrilevanti;
  • Durante la scansione dei documenti, viene garantito l'eliminazione anticipata dei documenti che non corrispondono al filtro specificato;
  • Il motore di ricerca full-text ArangoSearch è stato migliorato, supportando il ranking basato sulla somiglianza dei dati. Aggiunto supporto dell'analizzatore per il completamento automatico delle query, implementate le funzioni TOKENS() e PHRASE() per generare dinamicamente query di ricerca;
  • Aggiunta l'impostazione maxRuntime per limitare selettivamente il tempo di esecuzione della query;
  • Aggiunta l'opzione “—query.optimizer-rules” per controllare l'attivazione di determinate ottimizzazioni durante l'elaborazione delle query;
  • Le possibilità di organizzare il funzionamento del cluster sono state ampliate. Aggiunta l'opzione “—cluster.upgrade” per selezionare la modalità di aggiornamento dei nodi nel cluster;
  • Aggiunto supporto per TLS 1.3 per crittografare il canale di comunicazione tra client e server (per impostazione predefinita il client continua a utilizzare TLS 1.2).

Fonte: opennet.ru

Aggiungi un commento