Annoncée dans le cadre de la version ClusterControl 1.5, nous fournissons désormais une prise en charge complète de MariaDB version 10.2. Cette nouvelle version offre une intégration encore plus grande avec Galera Cluster, la solution HA de choix de MariaDB, et propose également des améliorations à SQL comme les fonctions de fenêtre, les expressions de table communes et les fonctions JSON.
MariaDB est la base de données open source à la croissance la plus rapide, atteignant plus de 60 millions de développeurs dans le monde grâce à son inclusion dans toutes les principales distributions Linux, ainsi qu'à une présence croissante chez les principaux fournisseurs de cloud mondiaux. Son utilisation généralisée dans les distributions Linux et les plates-formes cloud, ainsi que sa facilité d'utilisation, ont rapidement fait de MariaDB la norme de base de données open source pour l'entreprise moderne.
MariaDB Server a été répertorié dans la récente enquête OpenStack comme les technologies de base de données numéro un et deux utilisées aujourd'hui.
Quoi de neuf dans la version 10.2 ?
MariaDB Server 10.1 a apporté l'intégration intégrée par défaut de Galera Cluster pour permettre à ses utilisateurs d'atteindre le nec plus ultra en matière de haute disponibilité. Plusieursnines a été l'un des premiers à adopter cette technologie de clustering et était ravi de voir MariaDB l'adopter pour la haute disponibilité.
Voici quelques-unes des améliorations incluses dans la nouvelle version 10.2 annoncées par MariaDB…
- Les améliorations SQL telles que les fonctions de fenêtre, les expressions de table communes et les fonctions JSON permettent de nouveaux cas d'utilisation pour MariaDB Server
- La réplication standard du serveur MariaDB a d'autres optimisations
- De nombreuses limitations de zone ont été supprimées, ce qui permet une utilisation plus facile et il n'est pas nécessaire de gérer les limitations au niveau de l'application
- MyRocks, un nouveau moteur de stockage développé par Facebook, a été introduit, qui enrichira davantage les cas d'utilisation de MariaDB Server (REMARQUE :ce nouveau moteur de stockage est désormais également disponible pour les déploiements MariaDB dans ClusterControl, mais ClusterControl le fait ne prend pas encore en charge la surveillance spécifique MyRocks .)
Fonctions de la fenêtre
Les fonctions de fenêtre sont populaires dans la Business Intelligence (BI) où la génération de rapports plus complexes est nécessaire en fonction d'un sous-ensemble de données, comme les mesures du pays ou de l'équipe de vente. Un autre cas d'utilisation courant est celui où les données basées sur des séries chronologiques doivent être agrégées en fonction d'une fenêtre temporelle au lieu d'un simple enregistrement en cours, comme toutes les lignes dans un certain laps de temps.
Alors que l'analyse devient de plus en plus importante pour les utilisateurs finaux, les fonctions de fenêtre offrent une nouvelle façon d'écrire des requêtes SQL analytiques optimisées en termes de performances, faciles à lire et à gérer, et éliminent le besoin d'écrire des sous-requêtes et des auto-jointures coûteuses.
Expressions de tableau courantes
Les requêtes hiérarchiques et récursives sont généralement implémentées à l'aide d'expressions de table communes (CTE). Ils sont similaires aux tables dérivées dans une clause FROM, mais en ayant un mot-clé d'identification WITH, l'optimiseur peut produire des plans de requête plus efficaces. Agissant comme un jeu de résultats temporaire et nommé créé automatiquement, qui n'est valide que pour le moment de la requête, il peut être utilisé pour une exécution récursive et hiérarchique, et permet également la réutilisation du jeu de données temporaire. Avoir une méthode dédiée permet également de créer un code SQL plus expressif et plus propre.
Fonctions JSON
JSON (JavaScript Object Notation), un format d'échange de données basé sur du texte et indépendant de la plate-forme, est utilisé non seulement pour échanger des données, mais aussi comme format pour stocker des données non structurées. MariaDB Server 10.2 offre plus de 24 fonctions JSON pour permettre l'interrogation, la modification, la validation et l'indexation des données au format JSON, qui sont stockées dans un champ textuel d'une base de données. En conséquence, le puissant modèle relationnel de MariaDB peut être enrichi en travaillant avec des données non structurées, le cas échéant.
Grâce à l'utilisation de colonnes virtuelles, de la fonction JSON, de JSON_VALUE et de la nouvelle fonctionnalité d'indexation de MariaDB Server 10.2 sur les colonnes virtuelles, les valeurs JSON seront automatiquement extraites de la chaîne JSON, stockées dans une colonne virtuelle et indexées, offrant l'accès le plus rapide au JSON chaîne.
À l'aide de la fonction JSON JSON_VALID, les nouvelles CHECK CONSTRAINTS de MariaDB Server 10.2 garantissent que seules les chaînes JSON au format JSON correct peuvent être ajoutées dans un champ.
Restauration basée sur le journal binaire
L'utilitaire mysqlbinlog amélioré fourni avec MariaDB Server 10.2 inclut une nouvelle fonction de restauration ponctuelle, qui permet à une base de données ou à une table de revenir à un état antérieur, et fournit une restauration basée sur un journal binaire des données déjà validées. L'outil mysqlbinlog ne modifie directement aucune donnée, il génère un "fichier d'exportation" comprenant les déclarations inversées des transactions, consignées dans un fichier journal binaire. Le fichier créé peut être utilisé avec le client de ligne de commande ou un autre outil SQL pour exécuter les instructions SQL incluses. De cette façon, toutes les transactions validées jusqu'à un horodatage donné seront annulées.
Dans le cas de la résolution d'erreurs logiques telles que l'ajout, la modification ou la suppression de données, jusqu'à présent, le seul moyen possible était d'utiliser mysqlbinlog pour examiner les transactions et résoudre les problèmes manuellement. Cependant, cela conduit souvent à une incohérence des données, car les corrections ne traitent généralement que la mauvaise déclaration, ignorant ainsi les autres dépendances de données.
Généralement causée par un DBA ou une erreur de l'utilisateur, la restauration d'une énorme base de données peut entraîner une interruption de service importante. L'annulation des dernières transactions à l'aide d'une annulation ponctuelle ne prend que le temps de l'extraction, un bref examen et l'exécution des transactions annulées, ce qui permet d'économiser un temps, des ressources et un service précieux.
Pourquoi MariaDB ?
Avec plusieurs options MySQL parmi lesquelles choisir, pourquoi choisir MariaDB comme technologie pour alimenter votre application ? Voici quelques-uns des avantages de choisir MariaDB...
- MariaDB repose sur une architecture moderne extensible à chaque couche :client, cluster, noyau et stockage. Cette extensibilité offre deux avantages majeurs. Il permet une innovation communautaire continue via des plug-ins et permet aux clients de configurer facilement MariaDB pour prendre en charge une grande variété de cas d'utilisation, d'OLTP à OLAP.
- MariaDB développe des fonctionnalités et des améliorations qui font partie de sa propre feuille de route, indépendamment d'Oracle/MySQL. Cela permet à MariaDB d'accepter et d'attirer des innovations communautaires plus larges, ainsi que d'ajouter de nouvelles fonctionnalités développées en interne qui facilitent la migration des systèmes propriétaires vers l'open source MariaDB.
- MariaDB est conçue pour sécuriser la base de données à chaque couche, ce qui en fait une base de données à usage général fiable utilisée dans des secteurs tels que le gouvernement et la banque qui nécessitent les fonctionnalités de sécurité les plus élevées.
- MariaDB prend en charge une variété de moteurs de stockage, y compris la prise en charge de NoSQL, offrant à ses utilisateurs plusieurs choix pour déterminer celui qui fonctionnera le mieux avec leur environnement.
- MariaDB a déployé de nombreuses améliorations d'amélioration des performances, notamment des optimisations de requêtes qui, dans plusieurs tests de référence, permettent à MariaDB de fonctionner de 3 à 5 % mieux qu'un environnement MySQL configuré de manière similaire.
ClusterControl pour MariaDB
ClusterControl prend en charge chacune des principales technologies MariaDB...
- Serveur MariaDB : MariaDB Server est une base de données à usage général conçue avec une architecture extensible pour prendre en charge un large éventail de cas d'utilisation via des moteurs de stockage enfichables, tels qu'InnoDB, MyRocks et Spider.
- Réplication maître/esclave asynchrone intégrée
- Des colonnes dynamiques qui permettent à différentes lignes de stocker différentes données dans la même colonne
- Cryptage intégré
- Optimisation des requêtes
- Amélioration de la compatibilité des schémas
- Cluster MariaDB : MariaDB Cluster est conçu pour les environnements basés sur le cloud d'aujourd'hui. Il est entièrement évolutif en lecture-écriture, est livré avec une réplication synchrone, permet des topologies multi-maîtres et garantit l'absence de décalage ou de perte de transactions.
- Réplication synchrone sans retard d'esclave ni transactions perdues
- Topologie multimaître actif-actif
- Lire et écrire sur n'importe quel nœud de cluster
- Contrôle automatique des membres, avec suppression des nœuds défaillants du cluster
- Rejoindre un nœud automatiquement
- Véritable réplication parallèle au niveau de la ligne
- Connexions directes aux clients, aspect natif de MariaDB
- Évolutivité en lecture et en écriture
- MariaDB MaxScale : MariaDB MaxScale est un proxy de base de données qui étend la haute disponibilité, l'évolutivité et la sécurité de MariaDB Server tout en simplifiant le développement d'applications en le dissociant de l'infrastructure de base de données sous-jacente.
- Comprend un pare-feu de base de données et une protection DoS
- Fractionnement lecture-écriture
- Masquage des données
- Partage basé sur un schéma
- Mise en cache des requêtes