Bases de données relationnelles VS non relationnelles

Histoire de fond : Retour en 2016, je poursuivais un diplôme d’informatique à l’Université d’Albany et j’ai dû suivre un cours d’introduction aux bases de données.

Dans le cours, j’ai appris deux choses :

Les bases de données relationnelles et les bases de données non relationnelles, mais je n’ai jamais vraiment appris la différence entre les deux, donc je voulais raviver ma curiosité avec les bases de données et les différences entre les deux.

  • Définie par E.F Codd en 1970, une base de données relationnelle est une base de données numérique basée sur le modèle relationnel des données. Les données sont stockées dans des tables contenant des lignes (qui représentent une entrée) et des colonnes(qui stockent et trient un type spécifique d’information). Les relations sont établies par des clés primaires et étrangères.

Exemple de modèle de base de données relationnelle

Langages : SQL(Structured Query Language), MySQL, PostgreSQL, sqlite3

Avantages:

  • Peut gérer beaucoup de requêtes complexes, de transactions de base de données et d’analyses de routine des données.
  • ACID(Atomité, Cohérence, Isolation, Durabilité) : Ensemble de propriétés qui garantissent des transactions de base de données fiables.

Inconvénients:

  • Ne peut pas stocker des images complexes ou très grandes, des chiffres, des dessins et des produits multimédias
  • Peut devenir très coûteux avec la maintenance et les nouveaux serveurs

Génial ! Mais que faire si nos ensembles de données sont trop grands ou non structurés ?

Base de données non relationnelle ou NoSQL

Qu’est-ce qu’une base de données non relationnelle ?

  • Les bases de données non relationnelles existaient à la fin des années 1960, mais le terme n’a pas été utilisé avant 1998 par Carlo Strozzi qui a dirigé le développement de NoSQL.
  • « Une base de données NoSQL (se référant à l’origine à « non SQL » ou « non relationnelle ») fournit un mécanisme pour le stockage et la récupération de données qui sont modélisées par des moyens autres que les relations tabulaires utilisées dans les bases de données relationnelles. » – Wikipédia

Types de bases de données NoSQL:

Magasin à colonnes : Utilise le concept de keyspace qui contient toutes les familles de colonnes qui contiennent des lignes et des colonnes pour stocker et organiser les données.

Chaque ligne contient une famille de colonnes

Base de données : Apache HBase, Cassandra

Mémoire clé-valeur : Utilise un tableau associatif(map ou dictionnaire) comme modèle de données fondamental. Les données sont représentées comme une collection de paires clé-valeur et une clé apparaîtra au plus une fois dans la collection. Vous pouvez stocker une valeur, telle qu’un entier, une chaîne de caractères, une structure JSON ou un tableau, ainsi qu’une clé utilisée pour référencer cette valeur.

Chaque ligne a son propre ID et ses propres valeurs

Base de données : Redis, Amazon DynamoDB

Graph : Est une base de données qui utilise des structures de graphes pour représenter et stocker les données. Cela permet aux utilisateurs de traverser rapidement parmi toutes les valeurs connectées et de trouver des idées dans les relations.

Tous les films dans lesquels Kevin Bacon joue

Base de données : neo4J, OrientDB, Titan

Base de données orientée document : Une base de données orientée documents, ou magasin de documents, est un programme informatique conçu pour stocker, récupérer et gérer des informations orientées documents, également appelées données semi-structurées.

Base de données : MongoDB, Couchbase

Avantages:

  • Grands volumes de données structurées, semi-structurées et non structurées
  • Programmation orientée objet facile à utiliser et flexible (MongoDB est fondamentalement écrit en javascript)
  • Architecture scale-out efficace au lieu d’une architecture monolithique coûteuse

Inconvénients :

  • Moins de support puisque les bases de données NoSQL sont généralement open-source
  • Administration : Les bases de données NoSQL nécessitent des compétences techniques afin d’installer et de maintenir.
  • Moins mature. Les bases de données NoSQL sont toujours en croissance et de nombreuses fonctionnalités sont encore en cours d’implémentation.

Quel utiliser ?

Les entreprises utilisent un mélange de bases de données traditionnelles et non relationnelles pour répondre à leurs exigences et besoins commerciaux.

Base de données relationnelle :

Les bases de données relationnelles traditionnelles sont très bonnes pour garder vos transactions de données sécurisées et faire des requêtes complexes pour acquérir des informations. Les entreprises qui sont déjà structurées et qui ne connaissent pas de croissance massive s’en tiendront très probablement aux bases de données traditionnelles.

Bases de données non relationnelles:

Géniales pour stocker de grandes quantités de données avec peu de structure. Les entreprises qui se développent à un rythme rapide comme les startups utilisent davantage les bases de données non relationnelles pour son évolutivité et sa flexibilité. Associées au cloud, les bases de données non relationnelles peuvent également faire économiser beaucoup d’argent aux entreprises.

Faits amusants sur les données :

  1. Les données augmentent plus rapidement que jamais et d’ici 2020, environ 1,7 mégaoctet de nouvelles informations seront créées chaque seconde pour chaque être humain sur la planète.
  2. D’ici là, notre univers numérique accumulé de données passera de 4,4 zettaoctets aujourd’hui à environ 44 zettaoctets, soit 44 trillions de gigaoctets.
  3. Nous assistons à une croissance massive des données vidéo et photo, où chaque minute jusqu’à 300 heures de vidéo sont téléchargées sur le seul site YouTube.
  4. Cette année, plus de 1,4 milliard de téléphones intelligents seront expédiés – tous équipés de capteurs capables de collecter toutes sortes de données, sans parler des données que les utilisateurs créent eux-mêmes.
  5. Dans cinq ans, il y aura plus de 50 milliards d’appareils intelligents connectés dans le monde, tous développés pour collecter, analyser et partager des données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.