Rilascio del DBMS Tarantool 2.8

È disponibile una nuova versione del DBMS Tarantool 2.8, che fornisce l'archiviazione permanente dei dati con le informazioni recuperate dal database in memoria. Il DBMS combina l'elevata velocità di elaborazione delle query caratteristica dei sistemi NoSQL (ad esempio, Memcached e Redis) con l'affidabilità dei DBMS tradizionali (Oracle, MySQL e PostgreSQL). Tarantool è scritto in C e permette di creare stored procedure in Lua. Il codice è distribuito sotto la licenza BSD.

Il DBMS consente di lavorare in modo efficiente con grandi volumi di dati sotto carichi elevati. Tra le caratteristiche di Tarantool, la possibilità di creare gestori in linguaggio Lua (LuaJIT è integrato), l'utilizzo del formato MessagePack durante lo scambio di dati con il client, la presenza di due motori integrati (memorizzazione in RAM con reset su un'unità permanente e archiviazione su disco a due livelli basata su albero LSM), supporto per chiavi secondarie, quattro tipi di indici (HASH, TREE, RTREE, BITSET), strumenti per la replica sincrona e asincrona in modalità master-master, supporto per autenticazione della connessione e controllo degli accessi, capacità di elaborare query SQL.

Principali modifiche:

  • Stabilizzazione di MVCC (Multi-Version Concurrency Control) nel motore in-memory memtx.
  • Supporto per transazioni nel protocollo binario IPROTO. In precedenza, una transazione richiedeva la scrittura di una procedura memorizzata in Lua.
  • Supporto per la replica sincrona, che funziona in relazione alle singole tabelle.
  • Un meccanismo per il passaggio automatico a un nodo di backup (failover) basato sul protocollo RAFT. La replica asincrona basata su WAL è stata implementata da tempo in Tarantool; ora non è più necessario monitorare manualmente il nodo master.
  • La commutazione automatica del nodo master è disponibile anche nel caso di una topologia con sharding dei dati (viene utilizzata la libreria vshard, che distribuisce i dati tra server utilizzando bucket virtuali).
  • Miglioramento del framework per la creazione di applicazioni cluster Cartuccia Tarantool quando si lavora in ambienti virtuali. La cartuccia Tarantool ora trattiene meglio il carico.
  • Il lavoro del ruolo Ansible per l'implementazione del cluster è stato accelerato fino a 15-20 volte. Ciò semplifica il lavoro con cluster di grandi dimensioni.
  • È apparso uno strumento per la migrazione semplificata dalle versioni precedenti >1.6 e <1.10, disponibile tramite un'opzione aggiuntiva all'avvio. In precedenza, la migrazione doveva essere eseguita distribuendo la versione provvisoria 1.10.
  • La memorizzazione delle tuple piccole è stata ottimizzata.
  • SQL ora supporta gli UUID e migliora la conversione del tipo.

Vale la pena notare che a partire dalla versione 2.10 ci sarà una transizione verso una nuova politica per la generazione dei rilasci. Per rilasci significativi che interrompono la compatibilità con le versioni precedenti, la prima cifra della versione cambierà, per rilasci intermedi - la seconda, e per rilasci correttivi - la terza (dopo la 2.10, verrà rilasciata la versione 3.0.0).

Fonte: opennet.ru

Aggiungi un commento