Publication du SGBD Tarantool 2.8

Une nouvelle version du SGBD Tarantool 2.8 est disponible, offrant un stockage permanent des données avec accès aux informations depuis la mémoire vive (base de données in-memory). Ce SGBD combine une vitesse de traitement des requêtes, propre aux systèmes NoSQL (comme Memcached et Redis), avec la fiabilité des SGBD traditionnels (Oracle, MySQL et PostgreSQL). Tarantool est écrit en C et permet la création de procédures stockées en Lua. Le code est distribué sous licence BSD.

Le SGBD permet de travailler efficacement avec de grands volumes de données sous de fortes charges. Parmi les caractéristiques de Tarantool, on peut noter la possibilité de créer des gestionnaires en Lua (LuaJIT intégré), l'utilisation du format MessagePack pour l'échange de données avec le client, la présence de deux moteurs intégrés (stockage en mémoire avec vidage vers un stockage permanent et stockage disque à deux niveaux basé sur LSM-tree), la prise en charge des clés secondaires, quatre types d'index (HASH, TREE, RTREE, BITSET), des moyens pour la réplication synchrone et asynchrone en mode maître-maître, la prise en charge de l'authentification des connexions et du contrôle d'accès, ainsi que la possibilité de traiter des requêtes SQL.

Principales modifications :

  • Stabilisation de la MVCC (Gestion de version multiple pour l'accès concurrent) dans le moteur in-memory memtx.
  • Prise en charge de la transactionnalité dans le protocole binaire IPROTO. Auparavant, pour une transaction, il était nécessaire d'écrire une procédure stockée en Lua.
  • Prise en charge de la réplication synchrone, qui fonctionne en lien avec des tables individuelles.
  • Mécanisme de basculement automatique sur un nœud de secours (failover) basé sur le protocole RAFT. Tarantool avait déjà mis en œuvre une réplication WAL asynchrone, il n'est donc plus nécessaire de surveiller manuellement le nœud maître.
  • Le basculement automatique du nœud maître est également disponible en cas de topologie avec segmentation (sharding) des données (utilise la bibliothèque vshard, qui répartit les données sur les serveurs via des paniers virtuels (bucket)).
  • Amélioration du framework pour la création d'applications en cluster Tarantool Cartridge lors de l'utilisation dans des environnements virtuels. Tarantool Cartridge supporte désormais mieux la charge.
  • Le rôle Ansible pour le déploiement de clusters a été accéléré jusqu'à 15-20 fois. Cela rend le travail avec de grands clusters plus simple.
  • Un nouvel outil a été introduit pour simplifier la migration depuis les anciennes versions >1.6 et <1.10, accessible via une option supplémentaire lors du démarrage. Auparavant, la migration devait se faire en déployant une version intermédiaire 1.10.
  • L'optimisation du stockage des petits tuples a été réalisée.
  • La prise en charge des UUID a été implémentée dans SQL et la conversion des types a été améliorée.

Il convient de noter qu'à partir de la version 2.10, une nouvelle politique de versionnement sera mise en place. Lors de sorties significatives avec rupture de la compatibilité inversée, le premier chiffre de la version changera, pour des versions intermédiaires, ce sera le deuxième chiffre, et pour les mises à jour correctives, le troisième (après 2.10, la version 3.0.0 sera publiée).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster