Introduction aux bases de données NoSQL



Documents pareils
NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Les bases de données relationnelles

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Le NoSQL - Cassandra

NoSQL : hype ou innovation? Grégory Ogonowski / Recherches Octobre 2011

Bases de données documentaires et distribuées Cours NFE04

Hibernate vs. le Cloud Computing

NoSQL. Etat de l art et benchmark

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

Quels choix de base de données pour vos projets Big Data?

Cartographie des solutions BigData

Bases de Données NoSQL

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Un peu de culture : Bases N osql L 1

Document réalisé par Khadidjatou BAMBA

Fouillez facilement dans votre système Big Data. Olivier TAVARD

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications

Bases de données documentaires et distribuées Cours NFE04

Introduction aux systèmes NoSQL (Not Only SQL)

NoSQL : les meilleures

Les technologies du Big Data

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Le BigData, aussi par et pour les PMEs

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

IBM Cloudant Data Layer Local Edition

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Big Data On Line Analytics

Optimisations des SGBDR. Étude de cas : MySQL

Bases de données documentaires et distribuées Cours NFE04

Cours 8 Not Only SQL

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Introduction aux applications réparties

Hadoop, les clés du succès

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

L AVENIR DU NoSQL. Quel avenir pour le NoSQL?

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

CESI Bases de données

Programmation parallèle et distribuée (Master 1 Info )

Big Graph Data Forum Teratec 2013

Architecture NoSQL et réponse au Théorème CAP

Programmation parallèle et distribuée

Programmation parallèle et distribuée

Cassandra chez Chronopost pour traiter en temps réel 1,5 milliard d événements par an

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Du 10 Fév. au 14 Mars 2014

Les quatre piliers d une solution de gestion des Big Data

Big Data. Concept et perspectives : la réalité derrière le "buzz"

HADOOP ET SON ÉCOSYSTÈME

NFE204 Bases de données avancées

Université de Liège Faculté des Sciences Appliquées Institut Montefiore ETUDE DES FRAMEWORK DISTRIBUÉS DE GRILLES DE DONNÉES

Cours Bases de données

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Module BDR Master d Informatique (SAR)

Mémoire présenté en vue de l obtention du diplôme de MASTER II RECHERCHE Option : S.I & G.L

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Introduction aux SGBDR

Bases de données Cours 1 : Généralités sur les bases de données

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

NoSQL - Systèmes de gestion de données distribués

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données et sites WEB Licence d informatique LI345

Mercredi 15 Janvier 2014

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

Introduction Big Data

Chapitre 1 : Introduction aux bases de données

Introduction aux bases de données

Introduction à. Oracle Application Express

Panorama des solutions analytiques existantes

BI dans les nuages. Olivier Bendavid, UM2 Prof. A. April, ÉTS

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Sauvegarde EMC pour solutions SAP HANA prêtes pour le datacenter. EMC Data Domain avec DD Boost

Stratégie et Vision de SAP pour le secteur Banque- Assurance: Data-Management, BI, Mobilité

Présentation du module Base de données spatio-temporelles

Les journées SQL Server 2013

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Architectures d'intégration de données

À PROPOS DE TALEND...

Chapitre 10. Architectures des systèmes de gestion de bases de données

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

L élasticité des bases de données sur le cloud computing

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

et Groupe Eyrolles, 2006, ISBN :

Titre : La BI vue par l intégrateur Orange

Introduction à MapReduce/Hadoop et Spark

Transcription:

Introduction aux bases de données NoSQL Khaled Tannir ets@khaledtannir.net Montréal - 23 Juillet 2015

Qui suis-je? Khaled TANNIR Big Data Architect Lead 20 ans d expérience ets@khaledtannir.net @khaled_tannir Auteur / Author Relecteur Technique / Technical reviewer 09 Avril 2015 Introduction aux base de données NoSQL

Sommaire Les besoins en gestion des données Introduction aux systèmes NoSQL Les types de base de données NoSQL NoSQL Atouts et Faiblesses

Les besoins en gestion de données

Un premier constat Le volume des données augmente considérablement Les données sont souvent de nature hétérogène Cette volumétrie nécessite une distribution des données Difficulté d intégration dans les SGDBR existant Complexité ascendante de la mise à l échelle

Systèmes distribués : Etat des lieux Les ordinateurs sont reliés par un réseau local (LAN) Une couche logicielle permettant la coordination de ces ensembles d ordinateurs Communiquant généralement par envoi de messages Fonctionnant sur du matériel facilement remplaçable en cas de panne

Systèmes distribués : Gestion des données Pour appliquer les traitements sur les grands volumes de données : La distribution des traitements Les traitements sont distribués sur un nombre important de machines puis les données sont envoyées à ces endroits puis on enchaine les exécutions distantes La distribution des données On distribue les données sur un nombre important de serveurs puis on «pousse» les traitements vers ces serveurs

Limites des SGDBR Le volume des données augmente considérablement Les données sont souvent de nature hétérogène Cette volumétrie nécessite une distribution des données Difficulté d intégration dans les SGDBR existant Complexité ascendante de la mise à l échelle

Limites dans un contexte distribué (1) Pour la plupart des SGBD relationnels, les données dʼune BD liées entre elles sont placées sur le même noeud du serveur Lorsque le nombre de liens devient important, il est alors de plus en plus difficile de placer les données sur des noeuds différents.

Limites dans un contexte distribué (2) Les SGBD Relationnels sont généralement transactionnels, la gestion de transactions respectant les contraintes ACID (Atomicity, Consistency, Isolation, Durability) Cette gestion a un coût considérable : La distribution des traitements de données entre différents serveurs rend difficile le maintien des contraintes ACID à l'échelle du système distribué difficultés à maintenir des performances correctes

Le théorème de CAP (Brewer, 2000) C : tous les nœuds du système voient exactement les mêmes données au même moment A : la perte de nœuds n'empêche pas les survivants de continuer à fonctionner correctement, les données restent accessibles P : le système étant partitionné, aucune panne moins importante qu'une coupure totale du réseau ne doit l'empêcher de répondre correctement

Théorème de CAP expliqué Pourquoi est-il impossible de satisfaire les 3 propriétés CAP en même temps? Soit un système distribué. On est entrain de modifier une donnée sur le nœud N1 et d essayer de la lire à partir du nœud N2 N2 peut retourner la dernière bonne valeur dont il dispose, ce qui viole la Consistance N2 attend que la nouvelle valeur lui parvienne. Comme c est un système distribué, les chances d un échec de transmission sont assez importantes, ce qui provoquera une attente infinie de N2. D où une violation de la Disponibilité Si on veut satisfaire à la fois la consistance et la disponibilité, le système de stockage ne doit pas être partitionné. D où violation de la Tolérance au partitionnement.

Il faut trouver une solution Un nouveau système permettant : Une meilleure mise à l échelle (scalabilité) dans des contextes fortement distribués Permettre une gestion simplifiée et meilleure de données hétérogènes Création de systèmes complémentaires aux SGDBR adressant leurs limites sans pour autant les remplacer

Introduction aux systèmes NoSQL

Le NoSQL à la rescousse Bases de données NoSQL (Not Only SQL) Bases de données non-relationnelles et largement distribuées Permet une analyse et une organisation rapides et ad-hoc des données de très grands volumes et de types de données disparates Répond à l augmentation exponentielle des données

Atouts et Caractéristiques Atouts Évolutivité Disponibilité Tolérance aux pannes Caractéristiques Modèle de données sans schéma Architecture distribuée Utilisation de langages qui sont autre que du SQL

Présentation des bases NoSQL Adoptent une représentation non relationnelle des données Ne remplacent pas les BD relationnelles mais sont une alternative Apportent une plus grande performance dans le contexte de grande volumétrie de données Utilisent une très forte distribution des données et des traitements associés Font un compromis sur le caractère «ACID» des SGBDR pour plus de scalabilité horizontale et d évolutivité

Caractéristiques des bases NoSQL (1) Pas de schéma pour les données ou schéma dynamique Accèptent les données de structures complexes ou imbriquées Partitionnement horizontal des données (sharding) sur plusieurs noeuds (serveurs) généralement par utilisation d'algorithmes tel que «MapReduce» Réplication des données sur plusieurs noeuds

Caractéristiques des bases NoSQL (2) Privilégient la Disponibilité à la Cohérence (théorème de CAP) AP (Disponible + Résistant au partitionnement) plutôt que CP (Cohérent + Résistant au partitionnement) Généralement n intègrent pas de gestion de transactions Mode d'utilisation : peu d'écritures, beaucoup de lectures

Les types de base de données NoSQL

Panorama des bases NoSQL

Types des BDDs NoSQL Stocker les informations de la façon la mieux adaptée à leur représentation : «Clé-valeur / Key-value» : chaque objet est identifié par une clé unique constituant la seule manière de le requêter «Colonne / Column» : permet de disposer d'un très grand nb de valeurs sur une même ligne, de stocker des relations «one-to-many», d'effectuer des requêtes par clé (adaptés au stockage de listes : messages, posts, commentaires,...) «Document» : gestion de collections de documents, composés chacun de champs et de valeurs associées, valeurs pouvant être requêtées (adaptées au stockage de profils utilisateur) «Graphe» : pour gérer des relations multiples entre les objets (adaptés au données issues de réseaux sociaux, )

1- Type orienté «Clé / Valeur» (1) Chaque objet est identifié par une clé. L un des types les plus simples, sorte de Hashmap distribuée Conçues pour sauvegarder les données sans définir de schéma, Toutes les données sont sous forme de clef/valeur La valeur peut être une chaîne de caractères, un objet sérialisé, blob La donnée est opaque au système: il n est pas possible d y accéder sans passer par la clef L absence de typage a un impact sur le requêtage: toute l intelligence portée avant par les requêtes devra être portée par l applicatif qui interroge la BD Opérations se résumant surtout aux PUT, GET et DELETE Fournir un accès rapide aux informations

1- Type orienté «Clé / Valeur» (2) Exemple : DynamoDB (Amazon), Azure Table Storage (ATS), Redis, BerkeleyDB, Voldemort (LinkedIn)

«Clé / Valeur» Usage principal Dépôt de données avec besoins de requêtage très simples Système de stockage de cache ou d'information de sessions distribuées Persister des données Les profils, préférences d'utilisateur Les données de panier d'achat Les données de capteur Les logs de données

«Clé / Valeur» Forces et Faiblesses Forces : modèle de données simple bonne mise à l'échelle horizontale pour les lectures et écritures : évolutivité (scalable) disponibilité pas de maintenances requises lors d'ajout/suppression de colonnes Faiblesses : modèle de données TROP simple : pauvre pour les données complexes interrogation seulement sur clé déporte une grande partie de la complexité de l'application sur la couche application elle-même

2- Type orienté «Colonne» (1) Les données sont stockées par colonne, non par ligne On peut facilement ajouter des colonnes aux tables, par contre l'insertion d'une ligne est plus coûteuse Quand les données d'une colonne se ressemblent, on peut facilement compresser la colonne Modèle proche d'une table dans un SGBDR mais ici le nombre de colonnes : est dynamique peut varier d'un enregistrement à un autre ce qui évite de retrouver des colonnes ayant des valeurs NULL

2- Type orienté «Colonne» (2) Exemple : Hbase (Hadoop), Cassandra (Facebook, Twitter), BigTable (Google)

«Colonne» Usage principal Dépôt de données avec besoins de requêtage très simples Système de stockage de cache ou d'information de sessions distribuées Persister des données Les profils, préférences d'utilisateur Les données de panier d'achat Les données de capteur Les logs de données

«Colonne» Forces et Faiblesses Forces : Modèle de données supportant des données semi-structurées Naturellement indexé (colonnes) Bonne mise à l'échelle à l'horizontale Utilisation de MapReduce pour le scaling horizontal, on peut voir les résultats de requêtes en temps réel Faiblesses : A éviter pour des données interconnectés (comme la distance ou calculs de la trajectoire) A éviter pour les lectures de données complexes Exige de la maintenance - lors de l'ajout / suppression de colonnes et leur regroupements

Dans un SGDBR, cela impliquerait plusieurs jointures 3- Type orienté «Document» (1) Étendent le paradigme clef/valeur, avec des «documents» plus complexes à la place des données simples, et une clef unique pour chacun d eux Un «Document» est de type JSON ou XML Chaque Document est un objet, contient un ou plusieurs champs, et chaque champs contient une valeur typée (string, date, binary ou array) Permettent de stocker, extraire et gérer les informations orientées documents (données semi-structurées) Avantage : pouvoir récupérer, via une seule clef, un ensemble d informations structurées de manière hiérarchique

3- Type orienté «Document» (2) Exemple : Mongo DB (SourceForge), Couch DB (Apache), RavenDB (.Net)

«Document» Usage principal Enregistrement d'événements Systèmes de gestion de contenu Web analytique ou analytique temps-réel Catalogue de produits Systèmes d'exploitation

«Document» Forces et Faiblesses Forces : Modèle de données simple mais puissant (expression de structures imbriquées) Bonne mise à l'échelle (surtout si le sharding est pris en charge) Pas de maintenance de la BD requise pour ajouter/supprimer des «colonnes» Forte expressivité de requêtage (requêtes assez complexes sur des structures Faiblesses : Inadaptée pour les données interconnectées Modèle de requête limitée à des clés (et indexes) Peut alors être lent pour les grandes requêtes (avec MapReduce)

4- Type orienté «Graphe» (1) Basées sur les théories des graphes S appuie sur les notions de noeuds, de relations et des propriétés qui leur sont rattachées Conçues pour les données dont les relations sont représentées comme graphes, et ayant des éléments interconnectés, avec un nombre indéterminé de relations entre elles Adapté aux traitements des données des réseaux sociaux Utilisent un moteur de stockage similaire à une base documentaire pour stocker les noeuds Utilisent un mécanisme de description dʼarcs (relations entre les noeuds), arcs orientés et avec propriétés (nom, date,...)

4- Type orienté «Graphe» (2) Exemple : Neo4J et InfiniteGraph, OrientDB

«Graphe» Usage principal Moteurs de recommandation Semantic Web Social computing Données géo-spatiales Généalogie Catalogue des produits Sciences de la Vie et calcul scientifique (bio-informatique, ) Données liées, données hiérarchiques Services de routage, d'expédition et de géolocalisation Services financiers : chaîne de financement, dépendances, gestion des risques, détection des fraudes,

«Graphe» Forces et Faiblesses Forces : Modèle de données puissant Rapide pour les données liées, bien plus rapide que SGBDR Modèles d'interrogation bien établis et performants Faiblesses : Fragmentation (sharding) : Même si elles peuvent évoluer assez bien

NoSQL Atouts et Faiblesses

NoSQL - Atouts Adapté au Big Data (grand volume, données structurées, semi-structurées ou non-structurées, données stockées et gérées à plusieurs endroits) Disponibilité continue des données Utilisent une architecture hautement distribuée Indépendance de l emplacement (Possibilité de consulter et modifier une BD sans savoir où est-ce que ces opérations ont réellement lieu) Modèles de données flexibles

NoSQL - Faiblesses Choix de NoSQL, en opposition aux bases de données relationnelles, conduits par les contraintes du marché et les besoins techniques Il n existe pas de langage de requêtage unifié (tel que SQL) Requêtage moins expressif que SQL Moins mature que les SGDBR (10aine d années vs 40+) Moins d outils que les SGDBR

SQL est de retour - NewSQL

Conclusion Utilisez le bon modèle de données pour le bon problème

Merci pour votre attention!