MariaDB est un système de gestion de base de données (SGBD) open source édité sous licence GPL. La gouvernance du projet est assurée par la fondation MariaDB et sa maintenance par la société Monty Program AB, créateur du projet. De grandes organisations ont utilisé MariaDB au fil des ans pour stocker, gérer et manipuler des données dans leurs applications. En effet, MariaDB est apparu initialement comme un fork de MySQL, après que les créateurs de MySQL se sont inquiétés de son indépendance à la suite du rachat de MySQL par la société Sun Microsystems en 2008. Cette dernière a été à son tour rachetée par Oracle un an plus tard.
Le 12 octobre 2023, MariaDB plc (la société) a commencé à mettre en œuvre son plan de restructuration approuvé par le conseil d'administration afin de mieux aligner sa main-d'œuvre sur les besoins de son activité et de réduire les coûts d'exploitation de la société. Le plan prévoit une réduction des effectifs de la société de 84 personnes. La société s'attend à ce que le plan se traduise par
- des charges de restructuration d'environ 3,1 millions de dollars en indemnités de licenciement et de préavis, avantages et coûts connexes, et 0,1 million de dollars en charges de rémunération à base d'actions sans effet sur la trésorerie liées à l'acquisition des droits sur les actions ;
- des dépenses en espèces d'environ 0,8 million de dollars pour régler les montants dus au titre des congés payés acquis.
Dans le cadre du plan, la société concentrera son attention sur son produit principal de base de données MariaDB Enterprise Server. Les produits non liés à l'activité principale de MariaDB Enterprise Server, y compris SkySQL et Xpand, ne seront plus vendus et la société a mis en place un plan pour aider les clients existants à abandonner ces produits. La société s'attend à ce que la majorité des charges de restructuration et des dépenses liées au plan soient encourues au cours du premier semestre de l'exercice fiscal 2024.
Les estimations ci-dessus des dépenses et des frais de restructuration que la société prévoit d'engager dans le cadre du plan, ainsi que leur calendrier, sont soumises à un certain nombre d'hypothèses et les montants réels peuvent différer sensiblement des estimations. Par exemple, les réductions potentielles d'effectifs sont soumises à des exigences légales qui varient selon les juridictions, ce qui peut prolonger le processus de réduction au-delà de ce qui était prévu dans certains cas.
En outre, la société peut encourir d'autres dépenses ou charges en espèces qui ne sont pas envisagées actuellement en raison d'événements imprévus qui peuvent survenir, y compris dans le cadre de la mise en œuvre du plan ou autrement.
Envoyé par US Securities and Exchange Commission
MariaDB devra expliquer à ses clients pourquoi elle a déployé tant d'efforts pour les convaincre d'acheter ces produits, avant de les abandonner. « Dans le cadre du plan [de restructuration], la société concentrera son attention sur son produit principal de base de données MariaDB Enterprise Server », indique le communiqué. « Les produits non liés à l'activité principale de MariaDB Enterprise Server, y compris SkySQL et Xpand, ne seront plus vendus et la société a mis en place un plan pour aider les clients existants à migrer hors de ces produits.
Le géant de l'électronique grand public Samsung, qui utilise 50 nœuds Xpand fonctionnant comme une seule base de données et supportant des dizaines de milliards de transactions par jour pour aider les clients de Samsung à gérer leurs appareils et leurs profils d'utilisateurs, sera l'un des clients les plus touchés.
Samsung est l'une des plus grandes marques d'électronique grand public et de smartphones au monde, ayant vendu plus de 2 milliards de téléphones Galaxy. Chaque utilisateur de Galaxy s'appuie sur Samsung Cloud pour gérer ses appareils et ses profils d'utilisateur, ce qui représente 16 milliards de lignes de tables de base de données, des centaines de pétaoctets de données et des milliards de transactions de base de données chaque jour. Cette base de données doit bien sûr être hautement disponible et extraordinairement évolutive.
C'est pourquoi, lorsque les opérations et les frais de développement de leur base de données MySQL sont devenus trop lourds, l'équipe Samsung Cloud Operation a commencé à chercher une meilleure solution pour une évolutivité extrême - et a opté pour la base de données SQL distribuée de MariaDB, Xpand. « Après avoir fait face aux nombreux inconvénients du sharding - manque de cohérence dans nos sauvegardes, nécessité d'un code de développement supplémentaire et exigences élevées en matière d'infrastructure pour effectuer des sauvegardes en ligne - notre première exigence, sans conteste, était d'éliminer le sharding », déclare l'équipe Samsung Cloud Operation. Avec cet objectif comme point de mire, Samsung a étudié différentes options avant de réaliser une démonstration de faisabilité de Xpand en 2016.
La production a été lancée l'année suivante et n'a cessé de se développer depuis. Une seule commande pour ajouter ou supprimer des nœuds Avec Xpand, Samsung peut étendre ses activités en ajoutant un nouveau nœud avec une seule commande ; les données sont automatiquement déplacées vers le nouveau nœud. Chaque nœud ajoute plus de calcul, de mémoire et de stockage à la base de données distribuée, ce qui permet d'effectuer plus de transactions (et plus rapidement). L'équipe Samsung Cloud Operation Team dispose aujourd'hui de plus de 50 nœuds Xpand qui fonctionnent comme une base de données unique, supportant des dizaines de milliards de transactions par jour.
Avant de passer à Xpand, les administrateurs de bases de données de Samsung effectuaient une sauvegarde en ligne complète par nœud, de sorte qu'ils ne disposaient jamais d'une seule sauvegarde cohérente. C'est désormais chose faite. Comme Xpand écrit sur plusieurs instances de base de données à chaque transaction distribuée, l'atomicité, la cohérence, l'isolation et la durabilité (ACID) sont garanties.
Faible coût DevOps « Le fait de découvrir qu'aucune modification de l'application ne serait nécessaire pour migrer de MySQL à Xpand a été déterminant pour nous. Il s'agissait d'un simple remplacement », explique l'équipe de développement de Samsung Cloud. En effet, Xpand prend en charge le langage SQL standard et le protocole MySQL. Les applications interrogent les données de la même manière qu'elles le feraient avec une base de données relationnelle traditionnelle - en utilisant tous les types de jointures, de filtrage, d'agrégats, d'expressions de table communes, de procédures/fonctions stockées, etc.
Xpand a également simplifié l'architecture des applications de Samsung : le code de partage n'étant plus nécessaire, l'équipe de développement de Samsung Cloud peut désormais se concentrer sur la logique du service plutôt que sur la base de données.
Pour les entreprises à la recherche d'un nouveau système de gestion de base de données relationnelle (SGBDR), un SGBDR open source établi comme PostgreSQL serait probablement en tête de liste. Il offre ses propres avantages et inconvénients, c'est pourquoi l'évaluation de PostgreSQL par rapport à MariaDB est un exercice qui en vaut la peine.
Avantages et inconvénients de MariaDB par rapport à PostgreSQL
MariaDB et PostgreSQL sont des bases de données relationnelles open source qui stockent les données dans un format tabulaire. MariaDB est une version modifiée de MySQL, créée par l'équipe de développement d'origine de MySQL. PostgreSQL est un système de gestion de base de données relationnelle objet qui offre plus de fonctionnalités que MariaDB. PostgreSQL propose des vues matérialisées et une indexation partielle pour des performances de lecture plus rapides. Cependant, MariaDB offre une plus grande flexibilité et une plus grande tolérance aux pannes à grande échelle.
MariaDB et PostgreSQL sont tous deux des systèmes de base de données open source éprouvés qui offrent une disponibilité, une simultanéité et une cohérence élevées en matière de stockage des données. Voici quelques similitudes spécifiques entre les deux.
Modèle de données
MariaDB et PostgreSQL sont des systèmes de bases de données relationnelles qui stockent les données dans un format tabulaire sous forme de lignes et de colonnes. Ils prennent en charge les clés primaires et étrangères ainsi qu'une gamme de types et de formats de données. Chacune offre une modélisation robuste des données et une construction de relations entre différentes tables d'informations. MariaDB et PostgreSQL utilisent l'indexation pour améliorer les performances des requêtes, afin que vous puissiez effectuer rapidement des requêtes de manière optimisée.
Extensibilité
MariaDB et PostgreSQL disposent de plusieurs mécanismes pour étendre leurs fonctionnalités. Par exemple, les développeurs peuvent utiliser les deux systèmes pour créer des fonctions personnalisées dans différents langages de programmation. Vous pouvez utiliser ces fonctions définies par l'utilisateur (UDF) pour effectuer des opérations spécialisées.
Vous pouvez également utiliser des procédures stockées et des déclencheurs pour exécuter des actions définies lorsque vous remplissez certaines conditions. Par exemple, vous pouvez les utiliser pour renforcer l'intégrité des données en fonction d'événements spécifiques dans l'environnement de stockage.
Langage et syntaxe
En tant que systèmes de gestion de bases de données relationnelles, MariaDB et PostgreSQL utilisent SQL comme langage standard. Sur ces deux systèmes, vous pouvez utiliser la plupart des mêmes commandes SQL et obtenir le même résultat.
Ils prennent tous deux en charge des fonctionnalités SQL avancées telles que les fonctions de fenêtre et les expressions de table courantes. Vous pouvez créer des vues de sous-ensembles de données plus petits que vous pouvez extraire de plusieurs tables. Ces fonctionnalités supplémentaires augmentent la capacité de ces systèmes à effectuer des requêtes complexes.
Différences architecturales : MariaDB vs PostgreSQL
Bien que MariaDB et PostgreSQL aient certaines similitudes, ils présentent également plusieurs différences essentielles qui les distinguent.
Types de données
MariaDB fournit une vaste gamme de types de données, notamment les entiers, les nombres à virgule flottante, les chaînes de caractères et les dates. MariaDB prend également en charge les données ENUM, SET et les données spatiales, ainsi qu'une colonne LONGTEXT qui permet de stocker des données non structurées.
La base de données PostgreSQL propose également une vaste sélection de types de données, notamment les nombres à virgule flottante, les entiers, les chaînes de caractères, les dates, les tableaux et les booléens. PostgreSQL prend également en charge les identificateurs uniques universels (UUID), JSON et JSONB pour les données non structurées.
Indexation et index partiels
Grâce au stockage en colonnes et au traitement simultané de MariaDB, elle peut interroger un grand volume de lignes sans avoir besoin d'index. Cependant, il prend en charge l'indexation B-tree par défaut. Il comporte quatre index principaux : les clés primaires, les index uniques, les index simples et les index en texte intégral.
PostgreSQL propose des options d'indexation plus étendues telles que B-tree, Generalized Search Tree (GiST), GiST partitionné dans l'espace (SP-GiST), Block Range Index (BRIN), Generalized Inverted Index (GIN) et les index de hachage. En outre, il fournit également des index partiels et prend en charge l'indexation inclusive mutuelle, de sorte que vous pouvez utiliser plusieurs index simultanément.
Réplication
MariaDB prend en charge la réplication asynchrone à l'aide du protocole de réplication MariaDB. Il conserve des copies de données sur les bases de données primaires et secondaires. Une fois les modifications apportées, le système de base de données principal enregistre de manière asynchrone les modifications apportées aux bases de données répliquées. MariaDB permet également de répliquer plusieurs bases de données principales vers une seule base de données répliquée, ce qui contribue à améliorer la consolidation des données.
PostgreSQL utilise à la fois la réplication asynchrone et synchrone. La réplication asynchrone enregistre les modifications des bases de données principales vers les bases de données répliquées. La réplication synchrone valide les modifications du système de base de données principal vers les bases de données secondaires. Ce processus a lieu avant la fin de la transaction, ce qui contribue à améliorer la cohérence et l'intégrité des données.
Il est difficile d’évaluer la situation financière actuelle de MariaDB sans plus d’informations. Cependant, il est clair que la société a pris des mesures pour se concentrer sur son produit principal, MariaDB Enterprise Server. En abandonnant les produits non liés à l’activité principale, la société peut se concentrer sur le développement et l’amélioration de son produit principal. Cela pourrait être bénéfique pour les clients existants qui utilisent déjà MariaDB Enterprise Server. Cependant, cela pourrait également signifier que les clients qui utilisaient SkySQL et Xpand devront chercher des alternatives. Il est important que la société aide ces clients à migrer vers d’autres solutions. Le prêt obtenu par la société pourrait aider à amortir sa chute financière et lui permettre de se concentrer sur le développement de son produit principal.
Sources : SEC (1, 2), MariaDB
Et vous ?
Que pensez-vous du plan de restructuration annoncé par MariaDB ? Va-t-il aider la société à positionner son produit face à la concurrence ?
Que pensez-vous de la concurrence à MariaDB ? Pensez-vous que PostgreSQL offre plus de fonctionnalités que MariaDB ?
Voir aussi :
MariaDB met 25 000 dollars sur la table pour un Challenge SQL distribué, avec, à la clé, un don à une ONG, dans le cadre d'un défi visant à confirmer la supériorité de MariaDB Xpand
MySQL est une « base de données plutôt médiocre », déclare un ingénieur Oracle en partance, PostgreSQL est une meilleure option pour un SGBD open source, selon lui
MariaDB annonce la disponibilité immédiate de MariaDB Community Server 10.5 et offre gratuitement la puissance de l'analytique à des millions d'utilisateurs