En début avril, MariaDB Corporation, la société derrière la solution de gestion de bases de données open source MariaDB, a dévoilé ses intentions de se lancer sur le marché de l’analyse Big Data avec son nouveau moteur dédié MariaDB ColumnStore.
Publié en version bêta en mai, MariaDB ColumnStore est un moteur de stockage orienté colonnes pour l'exécution de requêtes distribuées et le chargement de données massivement parallèles. Cette solution supporte un large éventail de cas d’utilisations, notamment en mode temps réel, batch et algorithmique. Afin d'améliorer les performances, MariaDB ColumnStore exécute des fonctions complexes d’agrégation, de jointure et de fenêtrage au niveau du stockage de données.
Disponible sous la licence open source GPL2, MariaDB ColumnStore est un fork et une évolution d’InfiniDB, un moteur de base de données orienté colonnes pour MySQL et dont la société a fermé fin 2014. InfiniDB a été conçu pour l’analyse Big Data, la business intelligence, le data warehousing et d'autres applications à forte intensité de lecture. Son architecture de stockage en colonnes permet des temps de chargement et de requête très rapides et sa technologie de traitement parallèle massif s'adapte à tout type de matériel de stockage. ColumnStore tire donc parti de ces avantages et de ceux des bases de données orientées colonnes en général.
Une base de données orientée colonnes (ou en colonnes) est un système de gestion de bases de données qui enregistre les données dans des colonnes, plutôt que dans des lignes. L'objectif d’un tel système est d’optimiser l'écriture et la lecture de données vers et depuis le disque, afin d'accélérer le renvoi des résultats d'une requête. L'un des principaux avantages d'une base de données en colonnes est que les données peuvent être fortement compressées (surtout lorsque les données sont similaires). La compression permet une exécution particulièrement rapide des opérations en colonnes, notamment MIN, MAX, SUM, COUNT et AVG. Un autre avantage est qu’un SGBD orienté colonnes est auto-indexé et rend donc inutile la création d'index. À données égales, il occupe donc moins d'espace disque qu'une base de données relationnelle qui nécessite des index, et donc de la mémoire de stockage supplémentaire. En stockant des données en colonnes, il est également beaucoup plus facile d'ajouter et de supprimer des colonnes au fil du temps. Les bases de données en colonnes facilitent encore le travail décentralisé via plusieurs serveurs et permettent donc d’obtenir des gains de performance sur les très gros volumes de données.
Architecture de MariaDB ColumnStore 1.0
MariaDB ColumnStore 1.0, la première version du moteur de stockage en colonnes, se décompose en deux principaux groupes de services, à savoir : les modules utilisateur et les modules de performance. Les modules utilisateur fournissent l’interface frontale du moteur MariaDB SQL et assure l’orchestration des requêtes. Quant aux modules de performance, ils assurent le traitement distribué des requêtes.
Comme cela est illustré sur la figure précédente, le serveur MariaDB traite les demandes de connexion entrantes et les requêtes pour chaque connexion utilisateur. Une fois qu'une requête SQL est reçue par un module utilisateur, le module traite cette requête et distribue les opérations de requête intermédiaires dans les modules de performance. Ces derniers vont exécuter les opérations de requête de manière distribuée, lire/écrire des fichiers MariaDB ColumnStore et retourner les résultats d'opérations de requête intermédiaires aux modules utilisateur. Si une opération ne peut pas être distribuée, elle sera exécutée au niveau du module utilisateur avant de renvoyer les résultats au client.
Les modules utilisateur et les modules de performance sont tous deux horizontalement scalables, ce qui permet de garantir des résultats extrêmement rapides, notamment grâce à la haute disponibilité et la simultanéité accrue de requêtes qui en résultent. Ils sont également multithread, ce qui augmente davantage les performances.
Un serveur frontal unique pour les traitements transactionnel et analytique
D’après MariaDB Corporation, ColumnStore réunit au sein d’une même solution les charges de travail transactionnelles et analytiques massivement parallèles, grâce à une interface SQL unique pour le traitement analytique (OLAP) et le traitement transactionnel (OLTP). Plutôt que d'acquérir et de maintenir une plateforme de data warehousing tierce, il suffit aux utilisateurs de MariaDB d'activer le moteur en colonnes pour un jeu de données spécifique et de lancer l'analyse depuis le serveur frontal également utilisé par leur système transactionnel.
Le fait que ColumnStore 1.0 utilise MariaDB Server comme front-end signifie que toutes les capacités de MariaDB Server peuvent également être exploitées. MariaDB ColumnStore simplifie donc l'administration et l'exécution des tâches en s'appuyant sur les mêmes fonctionnalités de sécurité que celles fournies par MariaDB Server, notamment le chiffrement des données en mouvement, l'accès selon le profil et l'auditabilité. ColumnStore fournit également une connexion prête à l'emploi avec des outils de BI via ODBC/JDBC ainsi que des connecteurs MariaDB standard.
MariaDB ColumnStore 1.0 est disponible en téléchargement pour Red Hat/CentOS, Ubuntu et Debian.
Télécharger MariaDB ColumnStore 1.0
Sources : Présentation de MariaDB ColumnStore, Architecture et fonctionnalité de MariaDB ColumnStore
Et vous ?
Utilisez-vous la solution open source de gestion de bases de données MariaDB ?
Que pensez-vous du nouveau moteur d’analyse Big Data MariaDB ColumnStore ?
Voir aussi :
MariaDB annonce la disponibilité générale de MaxScale 2.0, la nouvelle version de sa passerelle de bases de données open source
MariaDB se lance sur le marché du Big Data avec MariaDB ColumnStore, un moteur pour l'analyse Big Data qui sera disponible en version bêta en mai
La version printemps 2016 de MariaDB Entreprise est annoncée, la société éditrice de la base de données met en avant une sécurité renforcée
MariaDB prend désormais en charge les analyses Big Data
La première version de son moteur dédié ColumnStore est disponible en téléchargement
MariaDB prend désormais en charge les analyses Big Data
La première version de son moteur dédié ColumnStore est disponible en téléchargement
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !