Vrijgave van Tarantool 2.8 DBMS

Er is een nieuwe versie van Tarantool 2.8 DBMS beschikbaar, die permanente gegevensopslag biedt met informatie die wordt opgehaald uit de in-memory database. Het DBMS combineert de hoge snelheid van de queryverwerking die kenmerkend is voor NoSQL-systemen (bijvoorbeeld Memcached en Redis) met de betrouwbaarheid van traditionele DBMS'en (Oracle, MySQL en PostgreSQL). Tarantool is geschreven in C en stelt u in staat opgeslagen procedures in Lua te creëren. De code wordt gedistribueerd onder de BSD-licentie.

Met het DBMS kunt u efficiënt werken met grote hoeveelheden gegevens onder hoge belasting. Tot de kenmerken van Tarantool behoren de mogelijkheid om handlers te maken in de Lua-taal (LuaJIT is ingebouwd), het gebruik van het MessagePack-formaat bij het uitwisselen van gegevens met de client, de aanwezigheid van twee ingebouwde motoren (opslag in RAM met reset naar een permanente schijf en schijfopslag op twee niveaus gebaseerd op LSM-boom), ondersteuning voor secundaire sleutels, vier soorten indexen (HASH, TREE, RTREE, BITSET), tools voor synchrone en asynchrone replicatie in master-master-modus, ondersteuning voor verbindingsauthenticatie en toegangscontrole, de mogelijkheid om SQL-query's te verwerken.

Belangrijkste wijzigingen:

  • Stabilisatie van MVCC (Multi-Version Concurrency Control) in de memtx in-memory engine.
  • Transactieondersteuning in het binaire protocol IPROTO. Voorheen vereiste een transactie het schrijven van een opgeslagen procedure in Lua.
  • Ondersteuning voor synchrone replicatie, die werkt in relatie tot individuele tabellen.
  • Een mechanisme voor het automatisch overschakelen naar een back-upknooppunt (failover) op basis van het RAFT-protocol. Asynchrone, op WAL gebaseerde replicatie is al lang geïmplementeerd in Tarantool; nu hoeft u het masterknooppunt niet handmatig te monitoren.
  • Automatische masternode-switching is ook beschikbaar in het geval van een topologie met data-sharding (er wordt gebruik gemaakt van de vshard-bibliotheek, die gegevens over servers distribueert met behulp van virtuele buckets).
  • Verbetering van het raamwerk voor het bouwen van Tarantool Cartridge-clusterapplicaties bij het werken in virtuele omgevingen. Tarantool Cartridge houdt de lading nu beter vast.
  • Het werk van de Ansible-rol voor clusterimplementatie is tot 15-20 keer versneld. Dit maakt het werken met grote clusters eenvoudiger.
  • Er is een tool verschenen voor vereenvoudigde migratie van oudere versies >1.6 en <1.10, die via een extra optie bij het opstarten beschikbaar is. Voorheen moest de migratie plaatsvinden via de implementatie van de tussentijdse versie 1.10.
  • De opslag van kleine tupels is geoptimaliseerd.
  • SQL ondersteunt nu UUID's en verbetert de typeconversie.

Het is vermeldenswaard dat er vanaf versie 2.10 een overgang zal plaatsvinden naar een nieuw beleid voor het genereren van releases. Voor belangrijke releases die de achterwaartse compatibiliteit verbreken, zal het eerste cijfer van de versie veranderen, voor tussenliggende releases het tweede en voor corrigerende releases het derde (na 2.10 wordt release 3.0.0 uitgebracht).

Bron: opennet.ru

Voeg een reactie