version distribuĂ©e du SGBD dĂ©veloppĂ© sous l'influence des technologies Google Đž . 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 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, Đž 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. 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 ;
- 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
