Version stable de MariaDB 10.5

Après un an de développement et quatre pré-versions préparé première version stable d'une nouvelle branche SGBD MariaDB 10.4, au sein duquel une branche de MySQL est en cours de développement qui maintient la compatibilité ascendante et différent intégration de moteurs de stockage supplémentaires et de fonctionnalités avancées. L'accompagnement de la nouvelle succursale sera assuré pendant 5 ans, jusqu'en juin 2025.

Le développement de MariaDB est supervisé par la Fondation MariaDB indépendante, à la suite d'un processus de développement totalement ouvert et transparent, indépendant des fournisseurs individuels. MariaDB est fourni à la place de MySQL dans de nombreuses distributions Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) et a été implémenté dans des projets aussi importants que Wikipédia, Google Cloud SQL и Nimbuzz.

Clé améliorations MariaDB 10.5:

  • Moteur de stockage ajouté S3, qui vous permet d'héberger des tables MariaDB sur Amazon S3 ou tout autre stockage cloud public ou privé prenant en charge l'API S3. Le placement de tables normales et partitionnées dans S3 est pris en charge. Lorsque des tables partitionnées sont placées dans le cloud, elles peuvent être directement utilisées, y compris depuis un autre serveur ayant accès au stockage S3.
  • Moteur de stockage ajouté Magasin de colonnes, qui stocke les données liées aux colonnes et utilise massivement parallèle architecture distribuée. Le moteur est basé sur les évolutions du stockage MySQL InfiniDB et est destiné à organiser le traitement et l'exécution de requêtes analytiques sur de grandes quantités de données (Data Warehouse).
    ColumnStore stocke les données non pas ligne par ligne, mais par colonnes, ce qui vous permet d'optimiser les performances de regroupement par colonnes à partir d'une grande base de données, comprenant des pétaoctets de données. La mise à l'échelle linéaire, le stockage de données compressées, le partitionnement vertical et horizontal et l'exécution efficace des demandes concurrentes sont pris en charge.

  • Tous les exécutables commençant par le mot « mysql » ont été renommés pour utiliser le mot « mariadb ». Les anciens noms sont stockés sous forme de liens symboliques.
  • Ajout d'un nouveau type de données INET6 pour stocker les adresses IPv6.
  • Des travaux ont été effectués pour diviser les privilèges en éléments plus petits. Au lieu du privilège SUPER général, une série de privilèges sélectifs « BINLOG ADMIN » est proposée,
    "REPLAY DU BINLOG"
    "ADMINISTRATEUR DE CONNEXION"
    "ADMIN FÉDÉRÉ"
    "READ_ONLY ADMIN",
    "ADMINISTE MAÎTRE DE RÉPLICATION"
    "REPLICATION SLAVE ADMIN" et
    "CONFÉRER L'UTILISATEUR".

  • Le privilège "REPLICATION CLIENT" a été renommé "BINLOG MONITOR" et l'expression "SHOW MASTER STATUS" en "SHOW BINLOG STATUS". Le changement de nom clarifie le comportement et n'est pas associé au politiquement correct, le projet n'abandonne pas les termes maître/esclave et ajoute même de nouveaux privilèges « MASTER ADMIN » et « SLAVE ADMIN ». Parallèlement, une nouvelle clé « REPLICA » a été ajoutée à l'expression SQL, synonyme de « SLAVE ».
  • Pour certaines expressions, les privilèges requis pour les exécuter ont été modifiés. "SHOW BINLOG EVENTS" nécessite désormais les privilèges "BINLOG MONITOR" au lieu de "REPLICATION SLAVE", "SHOW SLAVE HOSTS" nécessite les privilèges "REPLICATION MASTER ADMIN" au lieu de "REPLICATION SLAVE", "SHOW SLAVE STATUS" nécessite "REPLICATION SLAVE ADMIN" ou " SUPER" au lieu de "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" nécessite les droits "REPLICATION SLAVE ADMIN" au lieu de "REPLICATION SLAVE".
  • Modèles ajoutés "INSÉRER... RETOUR"Et"REMPLACER... RETOUR", renvoyant une liste d'entrées insérées/remplacées sous la forme comme si les valeurs étaient renvoyées à l'aide d'une expression SELECT (similaire à "DELETE ... RETURNING").

    INSÉRER DANS LES VALEURS t2 (1,'Chien'),(2,'Lion'),(3,'Tigre'),(4,'Léopard')
    RETURNING id2,id2+id2,id2&id2,id2||id2;
    +——+———+———+———-+
    | identifiant2 | id2+id2 | identifiant2&id2 | identifiant2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • Expressions ajoutées "SAUF TOUS"Et"TOUT INTERSECTER» pour exclure/compléter le résultat avec un ensemble spécifique de valeurs.
  • Il est désormais possible de spécifier des commentaires à l'intérieur des blocs « CREATE DATABASE » et « ALTER DATABASE ».
  • Ajout de constructions pour renommer les index et les colonnes "ALTER TABLE ... RENOMMER INDEX / CLÉ" Et "MODIFIER LA TABLE... RENOMMER LA COLONNE«.
  • Dans les opérations « ALTER TABLE » et « RENAME TABLE », la prise en charge de la condition « IF EXISTS » a été ajoutée pour effectuer l'opération uniquement si la table existe ;
  • Pour les index dans « CREATE TABLE », l'attribut «VISIBLE«.
  • Ajout de l'expression "CYCLE" pour identifier les boucles récursives CTE.
  • Fonctionnalités ajoutées JSON_ARRAYAGG и JSON_OBJECTAGG pour renvoyer un tableau ou un objet JSON avec les valeurs de la colonne spécifiée.
  • Ajout de tables d'informations sur le service (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS et THREAD_POOL_WAITS) pour le pool de threads (thread_pool).
  • L'expression ANALYZE est développée pour afficher le temps passé à vérifier le bloc WHERE et à effectuer des opérations auxiliaires.
  • L'optimiseur de traitement de plage prend en compte les caractéristiques « IS NOT NULL »
  • La taille des fichiers temporaires utilisés lors du tri avec les types VARCHAR, CHAR et BLOB a été considérablement réduite.
  • В journal binaire, utilisé pour organiser la réplication, de nouveaux champs de métadonnées ont été ajoutés, notamment la clé primaire, le nom de colonne, le jeu de caractères et le type de géométrie. L'utilitaire mariadb-binlog et les commandes « SHOW BINLOG EVENTS » et « SHOW RELAYLOG EVENTS » permettent d'afficher les indicateurs de réplication.
  • conception TABLE DROP maintenant c'est sûr supprime tables qui restent dans le moteur de stockage même s'il n'y a pas de fichiers ".frm" ou ".par".
  • Implémentation d'une version accélérée matérielle de la fonction crc32() pour les processeurs AMD64, ARMv8 et POWER 8.
  • Modification de certains paramètres par défaut. innodb_encryption_threads a été augmenté à 255 et max_sort_length a été augmenté de 4 à 8.
  • De nombreuses optimisations de performances pour le moteur InnoDB sont présentées.
  • Une prise en charge complète a été ajoutée au mécanisme de réplication multi-maître synchrone de Galera GTID (Global Transaction ID), identifiants de transaction communs à tous les nœuds du cluster.
  • La transition vers une nouvelle succursale de la bibliothèque a été effectuée PCRE2 (Perl Compatible Regular Expressions), au lieu de la série classique PCRE 8.x.
  • De nouvelles versions de harnais ont été proposées pour se connecter aux SGBD MariaDB et MySQL à partir de programmes en Python et C : Connecteur MariaDB/Python 1.0.0 и Connecteur MariaDB/C 3.1.9. La liaison Python est conforme à l'API Python DB 2.0, est écrite en C et utilise la bibliothèque Connector/C pour se connecter au serveur.

Source: opennet.ru

Ajouter un commentaire