Ce qui est traité dans cet article :
- Différents types de bases de données sont présentés, tels que les bases de données relationnelles, orientées documents, en colonnes, clé-valeur et les moteurs de recherche.
- Les forces et les faiblesses de chaque type de base de données sont détaillées.
- Le choix d’une base de données doit être réfléchi en fonction des besoins de l’entreprise, de la nature des données à stocker et des fonctionnalités recherchées.
Les questions clés de l’article :
- 1. Quels sont les différents types de bases de données présentés dans cet article? Les bases de données relationnelles, orientées documents, en colonnes, clé-valeur et les moteurs de recherche sont présentés.
- 2. Pourquoi le choix d’une base de données doit-il être pensé en fonction des besoins de l’entreprise? Le choix d’une base de données doit être réfléchi en fonction des besoins de l’entreprise car chaque type de base de données a ses propres forces et faiblesses et peut convenir ou non aux besoins de l’entreprise.
- 3. Quels sont les avantages et les inconvénients des bases de données relationnelles? Les bases de données relationnelles sont très puissantes pour stocker et manipuler des données structurées, mais sont mal adaptées à la gestion de données non structurées et peuvent générer des structures de données complexes et difficiles à faire évoluer.
- 4. Quels sont les avantages et les inconvénients des bases de données orientées documents? Les bases de données orientées documents sont flexibles et permettent de manipuler des données semi-structurées et non-structurées, mais sacrifient la conformité ACID pour la flexibilité.
- 5. Quels types de données sont adaptés aux bases de données en colonnes? Les bases de données en colonnes sont plus adaptées à la gestion des données structurées et semi-structurées que les autres systèmes non-relationnels.
- 6. Pourquoi le choix d’un moteur de recherche comme Elasticsearch peut-il être intéressant? Le choix d’un moteur de recherche comme Elasticsearch peut être intéressant pour améliorer l’expérience utilisateur de votre système de BDD et pour la gestion des logs.
Vous avez un projet d’entreprise et vous cherchez la meilleure solution pour stocker, organiser et traiter vos données ? Cet article est fait pour vous ! Nous allons explorer les différentes typologies de bases de données proposées sur le marché et vous aider à choisir celle qui correspond le mieux à vos besoins, à vos attentes, à vos objectifs.
Sommaire
Les base de données relationnelles (Oracle, MySQL, MS Server, PostgreSQL)
Les bases de données dites « relationnelles » ont été développées dans les années 1970. Leur fonctionnement repose sur des fondements théoriques très solides. Elles ont de fait influencé pratiquement tous les systèmes de BDD jusqu’à aujourd’hui. Les bases de données « relationnelles », comme leur nom l’indique, stocke les ensembles de données de manière « relationnelle ». Elles mettent en relation les données. Concrètement, cela passe par l’organisation des données en tableaux ou tables fonctionnant comme des matrices à deux dimensions : les colonnes et les lignes. Les cellules correspondent aux intersections entre les colonnes et les lignes.
Les systèmes de BDD relationnelles utilisent dans leur majorité le langage SQL. L’informaticien britannique Edgar F Codd a édicté les 12 caractéristiques indispensables pour que l’on puisse qualifier une BDD de BDD relationnelle. Ce sont les « fameuses » 12 règles de Codd. Parmi ces règles, mentionnons : l’unicité, la garantie d’accès, le traitement des valeurs nulles, l’indépendance physique, l’indépendance logique…Ces règles ont beaucoup contribué à structurer ce type de base de données et à développer la puissance des systèmes fondés sur ces principes. Aujourd’hui, les systèmes de bases de données relationnels sont réputés pour leur cohérence et leur fiabilité.
Découvrez comment contourner l’échantillonnage des données sur Google Analytics.
Forces et Faiblesses des BDD relationnelles
Forces des Bases de Données relationnelles :
- Ce type de base de données est très puissant pour stocker et manipuler des données très structurées. Il permet de gérer des BDD respectant les 4 critères ACID : Atomicité, Cohérence, Isolation et Durabilité, et garantit donc la sécurité des transactions.
- Les données sont stockées facilement et peuvent être extraites tout aussi facilement grâce aux requêtes SQL.
- Les BDD relationnelles sont scalables. L’augmentation du volume de données stocké n’a pas d’incidence sur les données existantes et l’organisation de la base.
- La gestion des accès et des droits d’utilisation est optimale. Les BDD relationnelles sont particulièrement bien adaptées pour les organisations qui ont besoin d’une gestion à plusieurs niveaux.
Faiblesses des Bases de Données relationnelles :
- Les BDD relationnelles ont les faiblesses de leurs forces, les inconvénients de leurs avantages : elles sont mal adaptées à la gestion de données non-structurées.
- La normalisation très importante des données stockées dans la BDD a tendance à générer des structures de données complexes, fragmentées et difficiles à faire évoluer.
- Les BDD relationnelles sont, en moyenne, plus coûteuses à mettre en place et à développer. L’évolutivité horizontale, qui consiste à ajouter de nouveaux serveurs/ordinateurs, est en général plus rapide et plus économique que l’évolutivité verticale, qui consiste à ajouter plus de ressources à un serveur. Sauf que la structure des BDD relationnelles complique un peu les choses. Le partitionnage (qui consiste à partitionner et distribuer les données sur un ensemble de machines) est un process nécessaire pour faire évoluer une BDD relationnelle. Or, cela peut poser des problèmes et mettre en danger le conformité ACID.
Nous vous conseillons d’utiliser une base de données relationnelle :
- Si l’intégrité des données est un enjeu primordial (pour les activités financières, de sécurité et de défense par exemple).
- Si les données à stocker sont essentiellement des données structurées.
- Si vous souhaitez automatiser vos process internes.
Découvrez notre comparaison des modèles d’attribution (du Last Click au Data Driven).
Contactez Cartelis
pour enfin capitaliser sur vos données clients.
Cartelis vous accompagne dans le cadrage et le déploiement d'une stratégie data et CRM vraiment impactante.
Analyse client, Choix des outils, Pilotage projet et Accompagnement opérationnel.
Prendre contact avec CartelisLes bases de données orientées documents (MongoDB, Couchbase)
Une BDD orientée documents est une BDD non relationnelles qui stocke les données sous forme de documents au format JSON, BSON ou XML. Ces bases ne supposent pas de schéma de données prédéfini. En ce sens, elles sont plus flexibles que les BDD relationnelles. En effet, contrairement aux bases SQL, où les utilisateurs doivent définir un schéma de tableaux avant de charger les données, les documents de stockage n’ont pas de structure fixe et figée. La structure s’adapte au contenu. De ce fait, les documents peuvent contenir n’importe quelles données. Les données sont enregistrées et organisées dans des collections, qui jouent le rôle des tableaux SQL – à la différence près que les champs d’enregistrement sont libres. Les requêtes sont facilitées par l’utilisation de paires clé-valeur et de meta-données d’attributs.
Forces et faiblesses des BDD orientées documents
Forces des bases orientées documents :
- La flexibilité. Ce type de BDD permet de manipuler les données semi-structurées et non-structurées.
- Les utilisateurs n’ont pas besoin de savoir, au moment de l’implémentation, quels types de données seront stockées. C’est très pratique lorsque justement on ne sait pas très bien à l’avance quelles sortes de données vont entrer dans la base.
- Les utilisateurs peuvent utiliser la structure de leur choix dans un document sans que cela n’affecte les autres documents. Le schéma peut être modifié sans que cela n’entraîne de temps d’arrêt.
- La vitesse d’écriture est rapide en général.
- Les BDD orientées documents sont particulièrement bien adaptées à une évolutivité horizontale. Le partionnage nécessaire à l’évolutivité horizontale est beaucoup plus intuitif qu’avec une BDD relationnelle. Si bien qu’au final une BDD orientée documents est beaucoup plus facilement scalable qu’une BDD relationnelle.
Faiblesses des bases orientées documents :
- Les BDD orientées documents sacrifient en quelque sorte la conformité ACID sur l’autel de la flexibilité.
- Il est bien sûr possible d’exécuter des requêtes à l’intérieur d’un même document, mais impossible d’exécuter des requêtes « cross-documents ».
Nous vous conseillons d’utiliser une base de données orientée documents :
- Si vous avez besoin de gérer des données semi-structurées ou non-structurées.
- Pour gérer des contenus.
- Pour réaliser des analyses en profondeur.
- Pour faire du prototypage rapide.
Découvrez si le moment est venu de mettre en place un Data Warehouse dans votre entreprise.
Les bases de données orientées clé / valeur (Redis, Memcached)
Une BDD clé-valeur est une base de données non relationnelle où chaque valeur est associée à une clé spécifique. C’est le type le plus simple de base NoSQL. Une clé est un identifiant unique associé à une seule valeur. Les clés peuvent se présenter sous toutes les formes permises par le système de gestion utilisé. Si vous utilisez Redis par exemple, les clés peuvent correspondre à n’importe quelles séquences binaires jusqu’à 512 Mb. Les valeurs n’ont pas besoin de schémas prédéfinis. Elles peuvent prendre n’importe quelle forme : nombres, chaînes, JSON, XML, HTML, PHP, images, vidéos, listes…
Forces et faiblesses des BDD clé-valeur
Forces des bases clé-valeur :
- Très flexible, ce type de BDD permet de manipuler facilement à peu près n’importe quels types de données.
- Les clés permettent d’accéder directement aux valeurs sans système d’indexation, ce qui est gage de meilleure performance.
- La portabilité : les clés-valeurs stockées peuvent être facilement déplacées d’un système à l’autre sans avoir à réécrire du code.
- Bien adapté à une évolutivité horizontale.
- La solution la moins coûteuse.
Faiblesses des bases clé-valeur :
- La flexibilité a un prix : il n’est pas possible d’exécuter des requêtes sur les valeurs dans la mesure où ces dernières sont stockées sont forme de « blobs », c’est-à-dire sous forme de données binaires. Cela rend difficile le reporting ou la modification des valeurs.
- Tous les objets ne sont pas modélisables sous une forme clé-valeur.
Nous vous conseillons d’utiliser une base de données clé-valeur :
- Pour faire de la recommandation marketing.
- Pour gérer des profils utilisateurs
- Pour gérer des données non-structurées du type avis produits ou commentaires de blog.
Découvrez comment réussir l’analyse de sa base de données clients / CRM.
Les bases de données en colonnes (Cassandra, HBase)
Les BDD en colonnes sont une autre catégorie de bases de données non-relationnelles. Elles sont souvent considérées comme une sous-catégorie des BDD clé-valeur mais ont des caractéristiques qui les rapprochent des bases relationnelles. Les données sont stockées dans des tables composées d’un très grand nombre de colonnes, à la différence des tableaux organisées en lignes. Ce mode d’organisation est particulièrement intéressant lorsqu’il s’agit de traiter ou de parcourir des jeux de données importants.
Forces et faiblesses des BDD en colonnes
Forces des bases en colonnes :
- Concilie des avantages des BDD relationnelles et des BDD non-relationnelles.
- Mieux adapté à la gestion des données structurées et semi-structurées que les autres systèmes non-relationnels.
- Facile à mette à jour.
- Plus adapté à l’évolutivité horizontale que les bases de données relationnelles.
- Les BDD en colonnes compressent mieux les données que les systèmes en lignes.
- Les BDD en colonnes permettent d’explorer plus facilement de grands ensembles de données.
Faiblesses des bases en colonnes :
- Implémentation et gestion assez coûteuses.
- Les mises à jour globales sont faciles à réaliser, mais le chargement et la mise à jour d’enregistrements individuels sont plus difficiles.
- Les BDD en colonnes sont plus lentes que les BDD relationnelles pour la gestion des transactions.
Nous vous conseillons d’utiliser une base de données en colonnes :
- Si la vitesse est un critère important (pour faire de l’analyse Big Data par exemple).
- Pour stocker des données en Big Data.
- Si votre projet nécessite le traitement de très gros volumes de données.
Découvrez pourquoi les Customer Data Platforms vont s’imposer dans les prochaines années.
Les moteurs de recherche (Elasticsearch)
Il peut sembler étonnant de parler des moteurs de recherche dans un article consacré aux types de bases de données. Mais un acteur est venu changer la donne en proposant un système innovant pour accélérer le traitement des données. Il s’agit d’Elasticsearch. Elasticsearch est un un système de stockage non-relationnel, orienté documents, une solution spécifiquement conçue pour faciliter et accélérer le stockage et l’extraction de données.
Forces et faiblesses des BDD moteurs de recherche :
Forces des moteurs de recherche :
- Elasticsearch est une solution particulièrement scalable.
- Permet d’utiliser des schémas flexibles et d’accélérer l’extraction des données, avec des options avancées de recherche (full text searchs, suggestions, expressions complexes…).
- L’une des fonctionnalités les plus intéressantes de cette solution est le stemming, que l’on peut traduire en français par « racinisation ». Le stemming isole la racine des mots pour faire remonter plus de résultats. Par exemple, un utilisateur qui recherche « paying jobs » se verra aussi proposer les résultats contenant « paid » ou « pay ».
Faiblesses des moteurs de recherche :
- Un système comme Elasticsearch est plus utilisé comme intermédiaire ou complément d’une base de données que comme base de données en tant que telle.
- La sécurité et la durabilité des données ne sont pas optimales. Il n’y a pas de système natif d’authentification ou de gestion des accès.
- Elasticsearch ne gère pas les transactions.
Nous vous conseillons d’utiliser un moteur de recherches comme Elasticsearch :
- Pour améliorer l’expérience utilisateur de votre système de BDD (résultats plus rapides).
- Pour la gestion des logs.
Dans la plupart des cas, aucun type de bases de données ne convient parfaitement aux besoins et aux attentes. Dans ce cas, nous vous conseillons de sélectionner celui qui convient le mieux et de vous intéresser aux différents éditeurs du marché. Les éditeurs proposent souvent des fonctionnalités personnalisées ou des services sur mesure qui permettent de combler les lacunes du système proposé. Mais, quoi qu’il en soit, vous devez d’abord avoir une bonne compréhension des différentes typologies de BDD avant de vous lancer dans un benchmark des solutions. C’était le message principal de cet article qui, on l’espère, vous aura aidé à y voir plus clair (même si le sujet est par définition assez technique).
Laisser un commentaire