Mettez à niveau vers MariaDB Server 10.3. Quoi de neuf?

Mettez à niveau vers MariaDB Server 10.3. Quoi de neuf?

Nous sommes heureux de vous annoncer la sortie de la mise à jour générale de MariaDB Server 10.3 ! Cette version est une étape importante pour le développement de MariaDB Server et est le résultat d'un énorme effort de la part de l'équipe de développement et des contributeurs - merci à toutes les personnes impliquées ! Avec la précédente version majeure de MariaDB Server 10.2 l'année dernière, nous avons commencé à ajouter des fonctionnalités de niveau entreprise à nos services d'hébergement afin de mieux combler l'écart avec les bases de données propriétaires. Avec MariaDB Server 10.3, nous avons fait un grand pas en avant dans cette voie, étant la première base de données d'entreprise open source à ajouter des fonctionnalités telles que le traitement des données temporelles (via la gestion des versions du système) et la compatibilité avec les séquences Oracle et Oracle PL/SQL. En même temps, nous voulons rester fidèles à nos racines open source et innovantes (nous ne nous appellerions pas Innover autrement !) en ajoutant la prise en charge de nouveaux moteurs de stockage qui peuvent plus facilement s'adapter aux différentes charges de travail et aux différents matériels disponibles pour les utilisateurs. . Cette voie nous permet de nous adapter rapidement à un paysage en constante évolution où de nouvelles innovations sont créées à un rythme en constante accélération. Il s'agit de notre plus grande version à ce jour, et avec cette version, nous voulons placer notre participation dans la catégorie des base de données d'entreprise.

Les principales améliorations de MariaDB Server 10.3 peuvent être classées dans les catégories suivantes :

  • Traitement des données de temps (tables dans la version système)
  • Fonctionnalités de compatibilité Oracle
  • Moteurs de stockage spécialement conçus

Traitement des données temporelles

Le traitement des données temporelles via la fonctionnalité de gestion des versions du système est l'un des ajouts les plus intéressants de MariaDB Server version 10.3. Avec la gestion des versions du système, la base de données conserve une trace de toutes les modifications apportées à chaque ligne de la table. Les anciennes versions des lignes ne sont pas visibles via la syntaxe de requête normale, mais en utilisant une syntaxe spéciale, toutes les anciennes versions de la ligne sont accessibles. Cette capacité se prête à un grand nombre de cas d'utilisation, de l'audit et de la criminalistique (trouver l'ensemble de résultats exact à un moment donné d'une requête suspecte exécutée il y a quelque temps) à des choses comme l'analyse des changements dans vos données, comparer les préférences des clients année par année et une multitude d'autres possibilités. Cette fonctionnalité peut être activée pour n'importe quelle table et l'historique peut également être effacé périodiquement afin que votre table ne grandisse pas indéfiniment. Les cas d'utilisation sont passionnants et infinis !

Compatibilité avec ORACLE

Alors que la demande pour MariaDB Server a augmenté dans les grandes entreprises, nous avons également constaté le besoin de fonctionnalités facilement disponibles dans les bases de données propriétaires. Pour rendre MariaDB plus facile à utiliser pour les DBA et les ingénieurs de base de données expérimentés que d'autres produits, nous avons ajouté autant de compatibilité que possible.

Dans MariaDB Server 10.3, une nouvelle syntaxe de procédure stockée a été ajoutée en plus de la syntaxe MariaDB SQL/PSM déjà existante. Il est désormais possible de prendre en charge MariaDB SQL/PL qui est une syntaxe conçue pour être compatible avec Oracle PL/SQL. De cette façon, la migration des applications existantes est beaucoup plus facile et les compétences existantes peuvent être utilisées sans recyclage complexe. Au cours du processus, plusieurs nouvelles constructions ont été ajoutées pour prendre en charge les procédures stockées telles que les nouveaux types de données ROW.

La nouvelle syntaxe n'est pas la seule nouvelle fonctionnalité de compatibilité, des séquences ont été ajoutées pour avoir un moyen plus flexible de créer des clés primaires uniques que la fonction auto_increment déjà existante. Cette fonctionnalité est entièrement compatible avec les séquences Oracle. En plus des fonctionnalités précédemment ajoutées (telles que les fonctions de fenêtre, les expressions de table communes (CTE), etc.), nous disposons désormais d'un ensemble complet de fonctionnalités de niveau entreprise qui peuvent répondre à tout type de besoin d'application.

Moteurs de stockage spécialement conçus

Chez MariaDB, nous croyons qu'il faut utiliser le bon outil pour le bon travail. Cependant, nous ne croyons pas que tout doive changer pour atteindre cet objectif. Nous avons une architecture unique avec des moteurs de stockage enfichables qui permettent à l'utilisateur d'adapter la base de données au cas d'utilisation et à la charge de travail sans modifier les caractéristiques et fonctionnalités de base. Nous pensons que cette flexibilité sert l'intérêt de l'utilisateur et travaillerons à améliorer encore cet aspect avec les futures versions de MariaDB. Cette architecture permettra à la fois à la communauté et à notre équipe d'innover davantage en ajoutant des moteurs de stockage conçus pour de nouveaux matériels et de nouveaux cas d'utilisation. Dans MariaDB Server 10.3, nous introduisons deux nouveaux moteurs de stockage stables, MyRocks et Spider.

MyRocks est une collaboration avec Facebook où le moteur de stockage est construit sur RocksDB - un projet open source maintenu principalement par Facebook. Le moteur de stockage de MyRocks est construit à l'aide d'une architecture d'arborescence de fusion structurée en journaux (arborescence LSM) et est bien adapté aux charges de travail intensives en écriture. MyRocks a également un taux de compression très élevé et est conçu pour maximiser la durée de vie des disques SSD.

Spider est un moteur de stockage conçu pour une échelle extrême. Le moteur de stockage Spider vous permet de partitionner une table spécifique sur plusieurs nœuds. Il utilise le protocole de partitionnement pour définir comment la table doit être partitionnée et chaque partition individuelle réside sur un serveur MariaDB distant qui ne gère que les requêtes pour cette partition particulière. Avec Spider, vous obtenez une mise à l'échelle presque linéaire pour les INSERTS et les clés.

Et il y a plus…

En plus de cela, une multitude de fonctionnalités ont été ajoutées pour aider à accélérer les opérations de schéma (telles que l'ajout instantané de COLONNE) et d'autres fonctionnalités d'optimisation et de compatibilité. La fonction ADD COLUMN est un autre exemple de la nôtre de l'équipe de développement de MariaDB avec des clients et des partenaires, notamment Alibaba, Tencent et ServiceNow, et ce n'est que le début de l'utilisation des opérations DDL lourdes.