Big Data : Ce qu’il faut comprendre

Base de données relationnelle : Points forts

À la naissance de l’informatique, plusieurs modèles de stockage de l’information sont explorés, comme les modèles hiérarchiques ou réseau. Mais c’est finalement le modèle relationnel qui l’emporte dans les années 1970 car c’est lui qui permet de mieux assurer le contrôle de l’intégrité des données, grâce à un modèle théorique puissant et simple.

La représentation relationnelle se fonde sur la décomposition de l’information c’est-à-dire l’organisation des données en table.

La représentation relationnelle permet d’être très performante pour répondre à des questions ou requêtes  et des mises à jour ciblées. C’est donc une bonne solution dans un contexte transactionnel qui comprend de nombreux accès ciblés à la base.

L’utilisateur accède à la base de données grâce à un langage de requête déclaratif SQL sans se soucier de la manière où ces requêtes vont s’exécuter.

Un autre atout des bases de données relationnel est qu’elles permettent la gestion des transactions. Il s’agit d’un ensemble d’opérations considérées comme atomique. C’est-à-dire que l’ensemble des opérations d’une transaction soit exécuté en bloc entier soit annulé en bloc. Les transactions des SGBD relationnels respectent les propriétés ACID : Atomique, Cohérence, Isolation et Durabilité

  1. atomique : la séquence d’opérations est indivisible, c’est-à-dire en cas d’échec en cours d’une des opérations, la suite d’opérations doit être complètement annulée quel que soit le nombre d’opérations déjà réussies.
  2. cohérente : le contenu de la base de données à la fin de la transaction doit être cohérent sans pour autant que chaque opération durant la transaction donne un contenu cohérent. Un contenu final incohérent doit entraîner l’échec et l’annulation de toutes opérations de la transaction.
  3. isolée : lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n’est pas terminée et validée (commit).
  4. durable : Une fois validé, l’état de la base de données doit être permanent, et aucun incident technique, par exemple : un crash, ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction.

Base de données relationnelles : Faiblesses

En revanche La représentation relationnelle n’est plus une bonne solution pour des accès globaux à la base, puisqu’il faut alors effectuer beaucoup de jointures pour reconsolider l’ensemble de l’information. C’est le problème posé par le décisionnel. Le modèle relationnel est peu performant pour les agrégats.

Un autre problème lié aux SGBD relationnels est la distribution des données sur plusieurs serveurs. Les SGBD relationnels offrent des possibilités très limités de distribution.

Aussi les propriétés ACID vu précédemment entrainent de sérieux surcout en latence, accès disques, temps CPU : on parle de verrous, journalisation etc.

Au-delà des bases de données relationnelles : Data warehouse, et NoSQL

Face aux limites des bases de données devant certaines situations, plusieurs solutions sont envisageables ;

  1. Data Warehouse
  2. BIG DATA

Datawarehouse

Datawarehouse est C’est le lieu de stockage des données provenant des bases externes servant à l’aide à la décision

On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d‘informatique décisionnelle. En réalité SGBD et datawarehouse ont des objectifs différents. Ils stockent les données de manière différentes et font l’objet de requêtes différentes. Ils sont ainsi basés sur deux systèmes différents : OLTP et OLAP.

OLTP ( On Line Transaction Processing) est le modèle utilisé par les SGBD relationnels. Le mode de travail est transactionnel. L’objectif est de pouvoir insérer, modifier et interroger rapidement et en sécurité la base. Ces actions doivent pourvoir être effectuées très rapidement par de nombreux utilisateurs simultanément. Chaque transaction travaille sur de faibles quantités d’informations, et toujours sur les versions les plus récentes des données.

Les datawarehouses eux reposent sur le système OLAP (On Line Analytical Processing). Ce système travaille en lecture seulement. Les programmes consultent d’importantes quantités de données pour procéder à des analyses. Les objectifs principaux sont regroupés, organiser des informations provenant de sources diverses, les intégrer et les stocker pour donner à l’utilisateur une vue orientée métier, retrouver et analyser l’information facilement et rapidement. Cela nécessite de consulter des versions historiques de la base et peut se permettre d’ignorer temporairement les dernières mises à jour.

Ces bases sont souvent d’un ordre de grandeur nettement supérieur à celle des bases OLTP, du fait de la conservation de l’historique.

BIG DATA : Emergence du big data

Le passage au XXIe siècle a vu les volumes de données manipulées par certaines entreprises ou organismes, notamment ceux en rapport avec Internet, augmenter considérablement. Le volume de données compte maintenant en pétaoctets (on parle de 1000 téraoctets). La gestion et le traitement de ces volumes de données sont considérés comme un nouveau défi de l’informatique, et les moteurs de bases de données relationnelles traditionnels, hautement transactionnels, semblent totalement dépassés.  Ainsi est né le « Big Data ».

Pour une entreprise comme Amazon, par exemple, une plateforme indisponible, ne serait- ce que quelques minutes, est inenvisageable car elle causerait la perte de dizaine de milliers de commandes. Priorité absolue est donc donnée aux performances et à la disponibilité.

Celles-ci sont assurées aujourd’hui par la mise en œuvre d’architectures distribuées sur des centaines voire des milliers de machines. Dans un tel contexte, parvenir à parfaite intégrité des données et une stricte isolation des transactions est extrêmement difficile et coûteux. Le volume des échanges d’information nécessaires pour parvenir à une synchronisation parfaite des nœuds d’un SGBDR distribué limite en effet le nombre de serveurs à quelques dizaines, tout au plus. De manière encore plus significative, l’ancienne exigence de cohérence des données ne correspond souvent plus aux priorités du business.

Le Big Data, c’est-quoi ?

Littéralement, Big Data signifie mégadonnées, grosses données ou encore données massives. Le Big Data désigne un ensemble très volumineux de données que les SGBDR classique ne peut vraiment travailler. En effet, nous procréons environ 2,5 trillions d’octets de données tous les jours. Ce sont les informations provenant de partout : messages que nous nous envoyons, vidéos que nous publions, informations climatiques, signaux GPS, enregistrements transactionnels d’achats en ligne et bien d’autres encore. Ces données sont baptisées Big Data ou volumes massifs de données. Les géants du Web, au premier rang desquels Yahoo, Facebook et Google, ont été les tous premiers à déployer ce type de technologie.

NoSQL

NOSQL est l’acronyme de Not Only SQL. Ce terme désigne les systèmes de gestion de base de données conçus pour prendre en charge de larges volumes de données n’ayant pas de structure ou de schéma, contrairement aux bases de données relationnelles. Les bases de données NoSQL sont généralement bien adaptées aux systèmes Big Data pour leur flexibilité et leur architecture.

Il existe plusieurs solutions qui peuvent entrer en jeu pour optimiser les temps de traitement sur des bases de données géantes à savoir les bases de données NoSQL (comme MongoDB, Cassandra ou Redis)