[wpms_breadcrumb reverse="0"]
Les bases de données NoSQL

Bases de données NoSQL, enjeux et solutions

Reference : BDSQL1
2 jours - 1960 € HT
Prochaines sessions
  • Le 19/09/2019
  • Le 21/11/2019
Bases de données NoSQL, enjeux et solutions
Objectifs

  • Identifier les différences des BDD SQL et des BDD NoSQL
  • Évaluer les avantages et les inconvénients inhérents aux technologies NoSQL
  • les principales solutions du monde NoSQL
  • Identifier les champs d’application des BDD NoSQL
  • Comprendre les différentes architectures, les modèles de données, les implémentations techniques.

Pré requis

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

Modalités pédagogiques

Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques

Inscription

Programmes de Bases de données NoSQL, enjeux et solutions

Introduction au NoSQL

  • L’historique du mouvement NoSQL.
  • Les différentes approches de gestion de BDD à travers le temps : hiérarchiques, relationnelles, objets, XML, NoSQL.
  • Les grands acteurs à l’origine du mouvement NoSQL et du Big Data analytique : Google et Amazon.
  • Données structurées, semi-structurées et non-structurées : provenance, typologie…
  • Vue synoptique des différents types de moteurs NoSQL du point de vue du modèle de données.
  • Le NoSQL, la Big Data et les architectures Cloud: principes d’architecture communs et divergents.
  • Les modes de distribution : avec maître et décentralisé.
  • Le positionnement du NoSQL au sein du Big Analytics : de l’ère de la transaction à l’ère de l’interaction.

Le Relationnel et le NoSQL.

  • Les bases de données relationnelles : leurs forces et leurs limites.
  • Structuration forte des données (schéma explicite) vs 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.

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, vector clock, règle de majorité, arbre de Merkle.
  • Les patterns et les modèles. Comment modéliser et travailler efficacement en NoSQL.
  • Différents modèles de connexion avec le client : sur cluster décentralisé, protocoles comme Thrift ou ProtoBuf, REST…
  • Les bases orientées clé-valeur et en mémoire : Redis, Riak, Projet Voldemort, Aerospike.
  • Les bases orientées documents : Le format JSON. Couchbase Server, MongoDB, ElasticSearch.
  • Les bases orientées colonne distribuées pour le Big Data opérationnel : Hadoop, Hbase, Cassandra, Accumulo…
  • Les moteurs orientés graphes : Neo4j, OrientDB…
  • L’écosystème Hadoop : les différences avec les SGBDR, les relations avec le NoSQL.

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.
  • Différents types de traitements : MapReduce, Graphe orienté acyclique, flux, Machine Learning, de graphes distribué…
  • Les architectures Big Data : traitements batch, micro-batch, flux. Architecture Lambda, architecture Kappa.
  • Les outils intégrés : Apache Spark, Apache Flink.
  • Les outils d’analyses de données : développement pour l’analyse Big Data, les outils du data scientist.
  • La pérennité des outils du Big Data analytique devant l’évolution très rapide des frameworks.

Choisir et mettre en place

  • Le type d’utilisation propice au NoSQL. À quels usages correspondent les bases NoSQL.
  • Les choix matériels.
  • Qu’est-ce qu’un modèle de données NoSQL ?
  • 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 ?