Bases de données : Quel modèle choisir en fonction de vos usages ?

Dans l’ère où l’ensemble des décisions sont prises sur la base de l’analyse et la capitalisation de données (data-driven), il est alors devenu primordial de miser sur le modèle de base le plus fiable et le plus adapté pour stocker ces données à forte valeur ajoutée. En effet, il existe de nombreux moyens et outils et plus le volume de données est important plus le choix d’un système de gestion efficace peut être complexe.

De plus, un second défi majeur réside dans la sécurisation des données dans un contexte fragile dans lequel les attaques sont de plus en plus récurrentes.

Dans cet article, nous allons vous guider en comparant les modèles classiques de bases de données sur le marché, mais il est important de noter qu’il n’existe pas de modèle et de solution parfaite, le choix optimal de la bonne base de données pour vous, va dépendre de vos besoins, votre contexte et vos usages.

Homme utilisant un ordinateur pour le concept de base de données et de documentation en ligne.

I) SQL, NoSQL et NewSQL, comment les différencier et quelles sont les solutions du marché ?

Tout d’abord, il convient de s’intéresser aux trois systèmes de gestion de bases de données existant aujourd’hui sur le marché : les bases de données SQL, NoSQL et NewSQL.

Parmi ces trois solutions de stockage, il est possible d’identifier une différence majeure quant à la structuration des données. En effet, dans les bases SQL, les données sont relationnelles et donc structurées dans des tableaux reliés entre eux, tandis que dans les bases NoSQL, la structuration des données est plus flexible et complètement libre. Dans le modèle NewSQL, les données peuvent être à la fois relationnelles et distribuées. Ce qui signifie qu’elles peuvent être structurées dans des tableaux et mises en relation, mais le schéma d’organisation globale reste libre. 

Concernant les bases de données SQL, sur le marché, il sera alors possible de s’orienter vers des solutions telles que : Microsoft SQL Server, PostgreSQL, MySQL ou encore Oracle, etc. 

En fonction du fournisseur et des caractéristiques proposées, il est intéressant de comparer dans le détail l’environnement, l’extensibilité de la base, les performances quant au volume de données, les fonctionnalités avancées proposées et bien entendu l’aspect sécurité qui est fondamental. 

Pour les bases de données NoSQL il existe des solutions comme MongoDB, Redis, Cassandra, Orient DB, etc. Dans ce cas de figure, il est pertinent de s’intéresser aux différentes catégories de bases NoSQL, il en existe quatre : les bases documentaires, les bases graphiques, les bases Key Value ou encore les bases Wide Column. Chacune de ces catégories propose des systèmes de gestion et des usages différents. 

Enfin, parmi les bases de données NewSQL, il y a notamment les solutions NuoDB, VoltDB ou encore CoackroachDB. Ce modèle combine les avantages et les caractéristiques des bases SQL et NoSQL. Ce sont des bases à privilégier pour traiter des volumes de données importants (Big Data), avec des modèles de gestion complexes.

II) SQL, NoSQL et NewSQL, quelles sont les propriétés à prendre en compte ?

Dans l’analyse des bases de données, il existe en effet un peu de théorie pour définir des propriétés et théorèmes visant à caractériser les types de bases de données et qui vont aussi orienter les usages de ces dernières. Parmi ces propriétés, il convient notamment de citer : 

  • Les propriétés ACID qui visent à définir le niveau d’Atomicité, de Cohérence, d’Isolation et de Durabilité des différentes solutions. Ces propriétés s’appliquent aux bases SQL et NewSQL.
  • Les priorités BASE, quant à elles, s’appliquent aux bases NoSQL et définissent le niveau selon trois critères connus en anglais, les notions de Basic Availability, Soft state et Eventually consistent.

De plus, il est possible de poursuivre le benchmark des solutions et se basant sur le théorème CAP (ou CDT en français). Ce dernier permet d’analyser les trois types de base SQL, NoSQL et NewSQL en définissant les niveaux selon trois critères majeurs : la cohérence, la disponibilité et la tolérance au partitionnement. Ainsi, les bases de données SQL, NoSQL et NewSQL vont se positionner différemment en fonction des critères énoncés. Néanmoins, le théorème affirme à ce jour que la combinaison des trois critères est impossible et introuvable sur le marché. Ainsi, il est nécessaire de privilégier au moins deux de ces critères toujours en fonction de vos besoins de stockage et d’utilisation de la base.