Infrastructure & noSQL
Durée : 2 jours
Pré-requis : Expérience en architecture technique et logicielle. Expérience des bases de données relationnelles. Une connaissance Kubernetes/Docker est un plus.
Tarif : 500€ par stagiaire et par jour (min. 3 stagiaires)
Cette formation vise à présenter aux stagiaires les concepts et principes fondamentaux de noSQL, ainsi que des applications à MongoDB sur des exemples simples. Nous présentons ensuite Hadoop et Apache Cassandra, en détail, et en s'appuyant sur des exemples.
Pour s'assurer que les concepts sont bien acquis par les stagiaires, la dernière demie-journée sera passée à implémenter collectivement une architecture Hadoop/Cassandra.
JOUR 1
NoSQL ? Présentation des concepts :
- Rappels : définition d'une base relationnelle SQL
- Fondamentaux NoSQL : structure et concepts fondamentaux versus principes relationels
- Avantages NoSQL et défauts NoSQL : usecases positif et négatif d'application de ces principes.
- Présentation d'outils NoSQL : MongoDB, Apache Cassandra
NoSQL : Principes fondamentaux, présentation, application à MongoDB sur des cas d'exemples simples
- Structures de données NoSQL : présentation, principales implémentations
- Présentation de la solution MongoDB : cycle de vie, contextes d'utilisation
- CAP Théorem : définition, appplications et enjeux. Notions de CAP Property
- Consistance et indexes
- Queries : Nested/Embedded document, Arrays, exemples et applications
- Sharding : définition, exemples. Big Data Sharding, Sharding versus partitionnement
- BigTable : design, applications
- MapReduce : principe et utilisation. Détail de la chaîne map -> partition -> comparison -> reduce. Notions de performances
Hadoop : présentation et exemples
- Présentation de la solution Hadoop, contexte et utilisations. Concurrents ? Hadoop versus Kubernetes, Hadoop versus (ou avec) Spark
- Gestions des clusters Hadoop, notions de FileSystem dédiées
- Outil CLI, interfaces.
- HDFS : présentation du fyle system, spécificités, contraintes
- HDFS : NameNodes, snapshots, storage policies
- HDFS : Exemples appliqués et utilisation
- Application du MapReduce à Hadoop
- YARN : architecture fondamentale, scheduler, YARN Applications
- YARN Rest API / Yarn Service : intérêt, utilisation
- Autres cas d'utilisation Hadoop : autres systèmes de fichier, outils (streaming, archives, etc.)
JOUR 2
Apache Cassandra : présentation et exemples sur un cas d'usage simple
- Principes fondamentaux de la solution : comparaison aux autres solutions NoSQL, intérêts propres, roadmap
- Articulations avec Hadoop : possibilités, critères de choix
- Architecture fondamentale : solution Amazon Dynamo, architecture et spécificités. Stratégies de partitionnement et de réplication. Versioning.
- Architecture fondamentale : Stockage de la donnée : CommitLog, Memtables, SSTables
- Cassandra Query Language : Data types & definitions. Limites et usages
- Outils d'utilisation Cassandra : Snitch, Repair, Compaction, Backups, Bulk Loading, Monitoring
- Notions de sécurisation et besoins matériels
Demi journée de tests :
- Mise en place collective d'une architecture Cassandra/Hadoop
- Réflexions sur les enjeux de ces solutions
- Définition d'une architecture
- Pricing de l'architecture, étude des axes d'évolution de l'architecture
- Retour sur les applications vues pendant les deux jours si besoin
JOUR 1
NoSQL ? Présentation des concepts :
- Rappels : définition d'une base relationnelle SQL
- Fondamentaux NoSQL : structure et concepts fondamentaux versus principes relationels
- Avantages NoSQL et défauts NoSQL : usecases positif et négatif d'application de ces principes.
- Présentation d'outils NoSQL : MongoDB, Apache Cassandra
NoSQL : Principes fondamentaux, présentation, application à MongoDB sur des cas d'exemples simples
- Structures de données NoSQL : présentation, principales implémentations
- Présentation de la solution MongoDB : cycle de vie, contextes d'utilisation
- CAP Théorem : définition, appplications et enjeux. Notions de CAP Property
- Consistance et indexes
- Queries : Nested/Embedded document, Arrays, exemples et applications
- Sharding : définition, exemples. Big Data Sharding, Sharding versus partitionnement
- BigTable : design, applications
- MapReduce : principe et utilisation. Détail de la chaîne map -> partition -> comparison -> reduce. Notions de performances
Hadoop : présentation et exemples
- Présentation de la solution Hadoop, contexte et utilisations. Concurrents ? Hadoop versus Kubernetes, Hadoop versus (ou avec) Spark
- Gestions des clusters Hadoop, notions de FileSystem dédiées
- Outil CLI, interfaces.
- HDFS : présentation du fyle system, spécificités, contraintes
- HDFS : NameNodes, snapshots, storage policies
- HDFS : Exemples appliqués et utilisation
- Application du MapReduce à Hadoop
- YARN : architecture fondamentale, scheduler, YARN Applications
- YARN Rest API / Yarn Service : intérêt, utilisation
- Autres cas d'utilisation Hadoop : autres systèmes de fichier, outils (streaming, archives, etc.)
JOUR 2
Apache Cassandra : présentation et exemples sur un cas d'usage simple
- Principes fondamentaux de la solution : comparaison aux autres solutions NoSQL, intérêts propres, roadmap
- Articulations avec Hadoop : possibilités, critères de choix
- Architecture fondamentale : solution Amazon Dynamo, architecture et spécificités. Stratégies de partitionnement et de réplication. Versioning.
- Architecture fondamentale : Stockage de la donnée : CommitLog, Memtables, SSTables
- Cassandra Query Language : Data types & definitions. Limites et usages
- Outils d'utilisation Cassandra : Snitch, Repair, Compaction, Backups, Bulk Loading, Monitoring
- Notions de sécurisation et besoins matériels
Demi journée de tests :
- Mise en place collective d'une architecture Cassandra/Hadoop
- Réflexions sur les enjeux de ces solutions
- Définition d'une architecture
- Pricing de l'architecture, étude des axes d'évolution de l'architecture
- Retour sur les applications vues pendant les deux jours si besoin