Veröffentlichung von Tarantool 2.8 DBMS

Es ist eine neue Version des Tarantool 2.8 DBMS verfügbar, die eine dauerhafte Datenspeicherung mit aus der In-Memory-Datenbank abgerufenen Informationen ermöglicht. Das DBMS kombiniert die hohe Geschwindigkeit der Abfrageverarbeitung, die für NoSQL-Systeme (z. B. Memcached und Redis) charakteristisch ist, mit der Zuverlässigkeit herkömmlicher DBMS (Oracle, MySQL und PostgreSQL). Tarantool ist in C geschrieben und ermöglicht die Erstellung gespeicherter Prozeduren in Lua. Der Code wird unter der BSD-Lizenz vertrieben.

Das DBMS ermöglicht Ihnen die effiziente Arbeit mit großen Datenmengen unter hoher Last. Zu den Funktionen von Tarantool gehören die Möglichkeit, Handler in der Lua-Sprache zu erstellen (LuaJIT ist integriert), die Verwendung des MessagePack-Formats beim Datenaustausch mit dem Client, das Vorhandensein von zwei integrierten Engines (Speicherung im RAM mit Reset). zu einem permanenten Laufwerk und zweistufigem Festplattenspeicher basierend auf LSM-Baum), Unterstützung für Sekundärschlüssel, vier Arten von Indizes (HASH, TREE, RTREE, BITSET), Tools für synchrone und asynchrone Replikation im Master-Master-Modus, Unterstützung für Verbindungsauthentifizierung und Zugriffskontrolle, die Möglichkeit, SQL-Abfragen zu verarbeiten.

Hauptänderungen:

  • Stabilisierung von MVCC (Multi-Version Concurrency Control) in der Memtx-In-Memory-Engine.
  • Transaktionsunterstützung im IPROTO-Binärprotokoll. Bisher erforderte eine Transaktion das Schreiben einer gespeicherten Prozedur in Lua.
  • Unterstützung für synchrone Replikation, die in Bezug auf einzelne Tabellen funktioniert.
  • Ein Mechanismus zum automatischen Umschalten auf einen Backup-Knoten (Failover) basierend auf dem RAFT-Protokoll. Die asynchrone WAL-basierte Replikation ist in Tarantool schon seit langem implementiert; jetzt müssen Sie den Masterknoten nicht mehr manuell überwachen.
  • Bei einer Topologie mit Daten-Sharding ist auch eine automatische Master-Knoten-Umschaltung verfügbar (es wird die vshard-Bibliothek verwendet, die Daten mithilfe virtueller Buckets auf Server verteilt).
  • Verbesserung des Frameworks zum Erstellen von Tarantool-Cartridge-Clusteranwendungen beim Arbeiten in virtuellen Umgebungen. Die Tarantool-Patrone hält die Last jetzt besser.
  • Die Arbeit der Ansible-Rolle für die Clusterbereitstellung wurde um das 15- bis 20-fache beschleunigt. Dies erleichtert die Arbeit mit großen Clustern.
  • Zur vereinfachten Migration von älteren Versionen >1.6 und <1.10 ist ein Tool erschienen, das über eine zusätzliche Option beim Start verfügbar ist. Zuvor musste die Migration durch die Bereitstellung der Interimsversion 1.10 erfolgen.
  • Die Speicherung kleiner Tupel wurde optimiert.
  • SQL unterstützt jetzt UUIDs und verbessert die Typkonvertierung.

Es ist erwähnenswert, dass ab Version 2.10 auf eine neue Richtlinie zur Generierung von Releases umgestellt wird. Bei bedeutenden Versionen, die die Abwärtskompatibilität beeinträchtigen, ändert sich die erste Ziffer der Version, bei Zwischenversionen die zweite und bei Korrekturversionen die dritte (nach 2.10 wird Version 3.0.0 veröffentlicht).

Source: opennet.ru

Kommentar hinzufügen