Version du SGBD distribué TiDB 4.0

Disponible version distribuée du SGBD TiDB 4.0développé sous l'influence des technologies Google clé à molette и F1. TiDB appartient à la catégorie des systèmes hybrides HTAP (Hybrid Transactional/Analytical Processing) capables à la fois de fournir des transactions en temps réel (OLTP) et de traiter des requêtes analytiques. Le projet est écrit en Go et distribué par sous licence Apache 2.0.

Fonctionnalités TiDB :

  • Prise en charge de SQL et mise à disposition d'une interface client compatible avec le protocole MySQL, ce qui facilite l'adaptation d'applications existantes écrites pour MySQL à TiDB, et vous permet également d'utiliser des bibliothèques clientes communes. En plus du protocole MySQL, vous pouvez utiliser l'API basée sur JSON et le connecteur pour Spark pour accéder au SGBD.
  • Parmi les fonctionnalités de SQL, les index, les fonctions d'agrégation, les expressions GROUP BY, ORDER BY, DISTINCT, les fusions (LEFT JOIN / RIGHT JOIN / CROSS JOIN), les vues, les fonctions de fenêtre et les sous-requêtes sont prises en charge. Les opportunités fournies sont suffisantes pour organiser le travail avec TiDB d'applications Web telles que PhpMyAdmin, Gogs et Wordpress ;
  • Évolutivité et résilience : la puissance de stockage et de traitement peut être augmentée simplement en ajoutant de nouveaux nœuds. Les données sont distribuées sur les nœuds avec redondance pour permettre aux opérations de se poursuivre si des nœuds individuels échouent. Les pannes sont gérées automatiquement.
  • Le système garantit la cohérence et ressemble à un grand SGBD pour le logiciel client, malgré le fait que, en fait, les données de nombreux nœuds sont impliquées pour compléter la transaction.
  • Différents backends peuvent être utilisés pour le stockage physique des données sur les nœuds, par exemple, les moteurs de stockage locaux GoLevelDB et BoltDB ou les moteurs de stockage distribués natifs. TiKV et TiFlash. TiKV stocke les données au format ligne par ligne au format clé/valeur et est plus optimal pour les tâches de traitement des transactions (OLTP). TiFlash stocke les données en colonnes et vous permet d'obtenir de meilleures performances lors de la résolution de problèmes analytiques (OLAP).
  • La possibilité de modifier de manière asynchrone le schéma de stockage, vous permettant d'ajouter des colonnes et des index à la volée sans arrêter le traitement des opérations en cours.

Dans la nouvelle version :

  • Par défaut, le ramasse-miettes distribué Green GC est activé, ce qui peut augmenter considérablement la vitesse de ramasse-miettes dans les grands clusters et améliorer la stabilité ;
  • Ajout de la prise en charge des transactions volumineuses, dont la taille est limitée presque par la taille de la mémoire physique. La limite de taille de transaction unique est passée de 100 Mo à 10 Go ;
  • Ajout de la prise en charge des commandes BACKUP et RESTORE pour la sauvegarde ;
  • Ajout de la possibilité de verrouiller les tables ;
  • Ajout d'un mécanisme d'isolation des transactions compatible avec MySQL au niveau de la lecture (READ COMMITTED) ;
  • La prise en charge des expressions LIKE et WHERE a été ajoutée à la commande "ADMIN SHOW DDL JOBS" ;
  • Ajout du paramètre oom-use-tmp-storage, qui permet d'utiliser des fichiers temporaires pour mettre en cache les résultats intermédiaires dans des conditions de RAM insuffisante ;
  • Ajout du mot-clé Random pour attribuer des valeurs aléatoires aux attributs ;
  • La commande LOAD DATA peut désormais utiliser des expressions hexadécimales et binaires ;
  • Ajout de 15 paramètres pour contrôler le comportement de l'optimiseur ;
  • Ajout d'outils pour diagnostiquer les performances des requêtes SQL. Ajout du journal des requêtes lentes disponible via les tables système SLOW_QUERY / CLUSTER_SLOW_QUERY ;
  • Ajout de la prise en charge des fonctions permettant de travailler avec des séquences ;
  • Ajout de la possibilité de modifier dynamiquement les paramètres de configuration lus à partir du PD (Placement Driver, cluster management server). Ajout de la possibilité d'utiliser l'instruction "SET CONFIG" pour modifier les paramètres des nœuds PD/TiKV.
  • Ajout du paramètre max-server-connections pour limiter le nombre maximum de connexions simultanées au serveur (4096 par défaut) ;
  • Amélioration des performances dans les situations où les colonnes demandées sont entièrement couvertes par des index ;
  • Ajout de l'optimisation des requêtes basée sur la fusion des index ;
  • Amélioration des performances des opérations avec des plages de valeurs ;
  • Réduction de la charge CPU en mettant en cache les résultats de l'accès aux index et en filtrant les doublons ;
  • Ajout de la prise en charge d'un nouveau format de stockage de chaînes qui vous permet d'augmenter les performances des tables avec un grand nombre de colonnes ;
  • La fonction GROUP_CONCAT prend désormais en charge l'expression "ORDER BY" ;
  • Ajout de la possibilité d'extraire des données du journal TiFlash via SQL ;
  • La commande "RECOVER TABLE" implémente la prise en charge de la récupération des tables tronquées ;
  • Ajout de la table système DDLJobs pour demander des détails sur l'exécution des tâches DDL ;
  • Ajout de la possibilité d'utiliser la commande SHOW CONFIG pour afficher les paramètres PD et TiKV ;
  • Inclus cache du coprocesseur par défaut ;
  • Le nombre de goroutines dans la phase de nouvelle tentative de commit peut désormais être contrôlé à l'aide du paramètre committer-concurrency ;
  • Ajout de la possibilité d'afficher les régions de la partition de table ;
  • Ajout de la possibilité de limiter la taille du stockage temporaire à tidb-server ;
  • Ajout de la prise en charge des opérations "insérer dans la partition tbl_name (partition_name_list)" et "remplacer dans la partition tbl_name (partition_name_list)" ;
  • Dans le hachage utilisé pour le partitionnement (partitioning), un support a été ajouté pour le filtrage sur la base de "is null" ;
  • Pour les tables partitionnées, la prise en charge de la vérification, du nettoyage et de la restauration des index a été ajoutée.

Source: opennet.ru

Ajouter un commentaire