NoSql

Description

Tour d’horizon des bases de données NoSQL

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs :

  • Comprendre les concepts de systèmes distribués et de donnée : cohérence, théorème de CAP…
  • Découvrir l’écosystème de NoSQL et les caractéristiques des solutions du marché (ElasticSearch, Cassandra, MongoDB, Redis, Couchbase…)
  • Connaître les cas d’usage de la donnée
  • Comprendre les plateformes de streaming de la donnée (Storm, Spark…)
  • Observer l’écosystème Hadoop.
  • mettre en œuvre les solutions NoSQL Open Source
  • l’indexation et la recherche de données avec l’outil ElasticSearch

Programme :

Comprendre les bases de données avant l’arrivée de NoSQL

  • Forme normale des bases de données relationnelles
  • Baisse des coûts hardware
  • Notion de « Transaction »
  • Quand systèmes distribués et disponibilité dépassent la cohérence (CAP)
  • Découvrir le NoSQL : “Not only SQL »
  • Définition de « Réplication »
  • Définition de « Sharding »

Découvrir les familles de base de données NoSQL

  • Key-Value
  • Document
  • Graph
  • Colonne

Le monde Hadoop

  • Découvrir l’offre Colonne avec Cassandra
  • Présentation générale, architecture et cas pratique
  • Séries temporelles, objets connectés
  • Frameworks de traitement distribué et Lambda architecture

Cas d’application

  • « Cassandra et Spark streaming »

Focus sur l’offre clé-valeur et document avec Couchbase et MongoDB

  • Présentation générale, architecture et cas d’utilisation

Cas d’application 

  • « Couchbase et MongoDB »

Search – Fédération De Données

  • Présentation de l’offre Elasticsearch

Cas d’application 

  • « Elasticsearch »

 Des SGBD relationnels au NoSQL

  • Rappels synthétiques sur la philosophique des SGBDR
  • Gérer les relations entre les données avec de la redondance
  • En quoi certains formats ne sont pas adaptés aux SGBDR ?
  • Qu’entend-on par données structurées et données non-structurées ?
  • Exemples de « nouvelles » sources de données (logs, IoT, sites Web, etc.)
  • Évolutions technologiques et avènement du NoSQL
  • Champs d’application des bases NoSQL et des SGBDR

Différentes familles NoSQL

  • Pourquoi cette classification ?
  • Les bases de données clé/valeur
  • Comment gérer l’intégrité des données ?
  • Les bases de données orientées document
  • Exemples de traitements sur des formats JSON ou XML
  • Comment stocker des documents binaires ?
  • Les bases orientées colonne distribuées pour le Big Data opérationnel :
  • Hadoop, HBase, Cassandra…
  • Modéliser un réseau avec les bases de données orientées graphe (Facebook, Twitter, etc.)
  • L’écosystème Hadoop (différences avec les SGBDR, liens avec le NoSQL)

Ateliers :

  • Manipulation des données dans un contexte Big Data avec l’outil HBase de Hadoop
  • Observation du format des données manipulées sur des bases en production (Cassandra, Redis, MongoDB)

Comment choisir une base NoSQL ?

  • Synthèse des principaux acteurs Open Source (MongoDB, Cassandra, Redis, CouchBase…)
  • Les choix matériels
  • Comment aborder la migration ?
  • Les impacts sur le développement client. Comment développer efficacement avec des bases NoSQL ?
  • Quels outils de supervision et comment les choisir ?
  • Quelle est la complexité administrative et la courbe d’apprentissage ?
  • Cas d’utilisation dans des entreprises existantes
  • Et les performances ? Quelques benchmarks ?
  • Qu’est-ce que NewSQL ?

Ateliers :

  • Création interactive d’une matrice de synthèse comparant les différents acteurs, leur contexte propice d’utilisation, leurs points forts et leurs faiblesses en fonction de différents
  • paramètres comme les fonctionnalités, la recherche, le stockage, la souplesse dans la scalabilité, les performances, la courbe d’apprentissage, etc.

Rechercher les données (Elasticsearch)

  • Liens entre Elasticsearch et les bases NoSQL
  • Intégration des données dans Elasticsearch
  • Configuration d‘index
  • Analyse et extraction de texte
  • Différents modes de recherche (structurée, full-texte, proximité, etc.)

Ateliers :

  • Création d’index, Mise en place d’analyseurs
  • Utilisation de l’API de recherche

Mise en œuvre d’une base NoSQL avec MongoDB

  • Installation de MongoDB
  • Création de documents et manipulations (shell)
  • Importation de données des SGBDR au format JSON
  • Indexer les données
  • Suivre les données et les index dans le temps
  • Réplication des données
  • Partitionner les données
  • Fonctionnement du moteur de stockage des données
  • Administrer et superviser au quotidien

Ateliers :

  • Installation de MongoDB
  • Premiers pas avec le shell
  • Création de bases et de collections
  • Intégration de données au format JSON
  • Stockage de journaux de supervision de réseau (Nagios)
  • Requêtage
  • Mise en place d’index et observation du déroulement des requêtes
  • Mise en œuvre de la réplication de données
  • Mise en œuvre du partitionnement de données