NoSQL - Bases orientées colonnes

Bases de données NoSQL, enjeux et solutions

Objectifs de la formation

  • Identifier les différences entre SGBD SQL et SGBD NoSQL
  • Évaluer les avantages et les inconvénients inhérents aux technologies NoSQL
  • Analyser les principales solutions du monde NoSQL pour chaque modèle de données
  • Identifier les champs d'application des SGBD NoSQL en opérationnel et en analytique
  • Comprendre les différentes architectures, les modèles de données, les implémentations techniques


Programme de la formation

Introduction au NoSQL

  • L'historique du mouvement NoSQL.
  • Les différentes approches de gestion de SGBD à travers le temps : hiérarchiques, relationnelles, objets, XML, NoSQL.
  • Les cinq « V » du big data : Volume, Variété, Vélocité, Véracité, Validité.
  • Données non structurées : activité web, échange de documents, réseaux sociaux, open data, IoT.
  • Les grands acteurs à l'origine du mouvement NoSQL et du big data analytique : Google et Amazon.
  • Vue synoptique des différents types de moteurs NoSQL du point de vue du modèle de données.
  • Le NoSQL, le big data et les architectures cloud : principes d'architecture communs et divergents.
  • Les modes de distribution : avec maître et décentralisé.
  • Transactions distribuées, failover, points de sauvegarde, parallélisation des requêtes, équilibrage de charge.
  • Le positionnement du NoSQL au sein du big data analytique : de l'ère de la transaction à l'ère de l'interaction.

Réflexion collective

Pourquoi le NoSQL ? Et pourquoi son succès ? Les besoins, l'évolution des architectures, la distribution et l'élasticité, le commodity hardware, quelques scénarios d'utilisation.

Le relationnel et le NoSQL.

  • Les bases de données relationnelles : leurs forces et leurs limites.
  • Structuration forte des données (schéma explicite) versus structure souple (schéma implicite) et la modélisation Agile.
  • Des qualités ACID aux qualités BASE.
  • Théorème CAP (cohérence, disponibilité, tolérance au partitionnement).
  • Les différents niveaux de cohérence.
  • Le langage SQL, la performance des jointures. L'accès par la clé en NoSQL.
  • L'évolution vers le distribué : extensibilité verticale et horizontale.
  • Comprendre le NoSQL par le modèle de l'agrégat et de la centralité de la donnée.
  • le NewSQL, un redesign des moteurs relationnels pour la distribution. Étude de CockroachDB.

Réflexion collective

Le modèle de l'agrégat versus le modèle relationnel : comment choisir ? Comment gérer l'interopérabilité ?

Les mondes du NoSQL

  • Monde du NoSQL à travers ses choix techniques et différentes bases NoSQL libres (du moins structuré au plus structuré).
  • L'architecture distribuée : principes, le shared-nothing.
  • Disponibilité et cohérence différée : gossip, timestamps, la règle de majorité, l'arbre de Merkle.
  • Les patterns et les modèles. Comment modéliser et travailler efficacement en NoSQL.
  • Les bases orientées clé-valeur et en mémoire : Redis, Riak, Aerospike.
  • Les bases orientées documents : le format JSON. Couchbase Server, MongoDB.
  • Les bases orientées colonnes distribuées pour le big data opérationnel : Hbase, Cassandra, ScyllaDB...
  • Les moteurs orientés graphes : Neo4j, OrientDB...
  • Les moteurs de recherche JSON : Elasticsearch, SOLR.
  • Les bases de données de séries de temps : InfluxDB, KDB, Prometheus.

Démonstration

Démonstrations techniques, du point de vue de développement, de la mise en œuvre et de l'administration, des principaux moteurs NoSQL libres.

Choisir et mettre en place

  • À quels usages correspondent les bases NoSQL ?
  • Comment aborder la migration ?
  • 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.
  • Gérer les interactions avec les bases de données relationnelles.
  • Implémenter des stratégies NoSQL avec des moteurs relationnels. L’exemple de PostgreSQL et ses extensions.
  • Implémenter le NoSQL dans les clouds publics. Les pratiques et les offres de bases de données en tant que service.

Réflexion collective

Quel est l’intérêt de déployer des moteurs NoSQL dans le contexte de chacun et quel moteur NoSQL choisir ?

NoSQL et Big Data

  • Big data analytique : l'écosystème Hadoop.
  • Stockage et traitements. Les différentes formes de stockage dans HDFS : SequenceFile, Apache Parquet.
  • Fonctions et usages : moteurs de recherche, outils de suggestion commerciale, détecteurs d'intrusion...
  • Différents types de traitements : MapReduce, graphe orienté acyclique, flux, machine learning, graphes distribués...
  • Fonctionnalités, outils et algorithmes : moteurs de recherche, Google Search, l'algorithme PageRank.
  • L'outil intégré : Apache Spark.
  • Connexion avec les moteurs opérationnels : ETL, Apache Sqoop.

Démonstration

Démonstrations de l'usage d'une plate-forme intégrée de big data analytique comme Apache Spark.

Please login to get access to the quiz
HBase – Mise en oeuvre d’une base de données NoSQL (Prev Lesson)
(Next Lesson) Apache Cassandra, administration et exploitation
Back to NoSQL – Bases orientées colonnes
Public

Direction informatique et fonctionnelle. Responsables informatique, chefs de projet, architectes, développeurs.

Pré-requis

Connaissances de base des architectures techniques et du management SI. Connaissances en bases de données.