Sortie du SGBD Tarantool 2.8

Une nouvelle version du SGBD Tarantool 2.8 est disponible, qui fournit un stockage permanent des données avec les informations extraites de la base de données en mémoire. Le SGBD combine la grande vitesse de traitement des requêtes caractéristique des systèmes NoSQL (par exemple, Memcached et Redis) avec la fiabilité des SGBD traditionnels (Oracle, MySQL et PostgreSQL). Tarantool est écrit en C et vous permet de créer des procédures stockées en Lua. Le code est distribué sous licence BSD.

Le SGBD vous permet de travailler efficacement avec de gros volumes de données sous des charges élevées. Parmi les fonctionnalités de Tarantool, la possibilité de créer des handlers en langage Lua (LuaJIT est intégré), l'utilisation du format MessagePack lors de l'échange de données avec le client, la présence de deux moteurs intégrés (stockage en RAM avec réinitialisation vers un lecteur permanent et un stockage sur disque à deux niveaux basé sur LSM-tree), prise en charge des clés secondaires, quatre types d'index (HASH, TREE, RTREE, BITSET), outils de réplication synchrone et asynchrone en mode maître-maître, prise en charge de l'authentification de connexion et le contrôle d'accès, la possibilité de traiter des requêtes SQL.

Principaux changements :

  • Stabilisation de MVCC (Multi-Version Concurrency Control) dans le moteur memtx in-memory.
  • Prise en charge des transactions dans le protocole binaire IPROTO. Auparavant, une transaction nécessitait l'écriture d'une procédure stockée en Lua.
  • Prise en charge de la réplication synchrone, qui fonctionne en relation avec des tables individuelles.
  • Un mécanisme de basculement automatique vers un nœud de sauvegarde (failover) basé sur le protocole RAFT. La réplication asynchrone basée sur WAL est implémentée depuis longtemps dans Tarantool ; vous n'avez désormais plus besoin de surveiller manuellement le nœud maître.
  • La commutation automatique du nœud maître est également disponible dans le cas d'une topologie avec partage de données (on utilise la bibliothèque vshard, qui distribue les données entre les serveurs à l'aide de buckets virtuels).
  • Amélioration du cadre de création d'applications de cluster Tarantool Cartouche lorsque vous travaillez dans des environnements virtuels. La cartouche Tarantool retient désormais mieux la charge.
  • Le travail du rôle Ansible pour le déploiement de clusters a été accéléré jusqu'à 15 à 20 fois. Cela facilite le travail avec de grands clusters.
  • Un outil est apparu pour une migration simplifiée à partir des anciennes versions >1.6 et <1.10, disponible via une option supplémentaire au démarrage. Auparavant, la migration devait être effectuée via le déploiement de la version intermédiaire 1.10.
  • Le stockage des petits tuples a été optimisé.
  • SQL prend désormais en charge les UUID et améliore la conversion de type.

Il convient de noter qu'à partir de la version 2.10, il y aura une transition vers une nouvelle politique de génération de versions. Pour les versions importantes qui rompent la compatibilité ascendante, le premier chiffre de la version changera, pour les versions intermédiaires - le deuxième et pour les versions correctives - le troisième (après la 2.10, la version 3.0.0 sera publiée).

Source: opennet.ru

Ajouter un commentaire