M165 V1
Utiliser des bases de données NoSQL
- Type
- EP obligatoire
- Lieu
- École professionnelle
- Année
- 2ème année d'apprentissage
- 165_1_Utiliser%20des%20bases%20de%20donn%C3%A9es%20NoSQL.pdf
Compétences PEC liées
Compétence visée par le module
Choisir un stockage de données numérique approprié dans les cas où un système de gestion de base de données relationnelle ne peut ou ne doit pas être utilisé. Implémenter une base de données dans un système de gestion de base de données NoSQL (Not only SQL), importer les données et les administrer.
Situation / objet
Deux types de base de données NoSQL au minimum
Objectifs opérationnels et connaissances
165.1 Choisir, pour le cas d’utilisation concerné, une base de données NoSQL appropriée (p. ex. orientée documents, graphiques, clé-valeur, colonnes larges, objet, en mémoire). g5
| Connaissance | Texte |
|---|---|
| 165.1.1 | Connaître le domaine d’utilisation des bases de données NoSQL (p. ex. mise en cache [caching], analyse des données, entrepôt de données, recherche plein texte, réseaux, tests). |
| 165.1.2 | Connaître le théorème CAP (cohérence, disponibilité et tolérance au partitionnement) qui caractérise les systèmes de base de données distribués. |
| 165.1.3 | Connaître le modèle de cohérence BASE et ses différences par rapport au modèle ACID des systèmes de base de données relationnelle. |
| 165.1.4 | Connaître diverses structures d’indexation utilisées pour les bases de données NoSQL. |
165.2 Implémenter une base de données NoSQL et y insérer les données. g5
| Connaissance | Texte |
|---|---|
| 165.2.1 | Connaître les éléments d’un système de gestion de base de données NoSQL permettant de transposer un modèle de données en un schéma de base de données physique. |
| 165.2.2 | Connaître les commandes d’un langage de définition de données (Data Definition Language [DDL]) permettant d’implémenter un modèle de données dans un schéma de base de données physique d’une base de données NoSQL. |
| 165.2.3 | Connaître les commandes d’un langage de manipulation de données (Data Manipulation Language [DML]) pour ajouter un ou plusieurs jeux de données dans la base de données NoSQL (via une console, à partir de jeux de données existants, via les outils front-end DBMS). |
165.3 Définir les autorisations d’accès et les appliquer à la base de données NoSQL. g5
| Connaissance | Texte |
|---|---|
| 165.3.1 | Connaître les commandes d’un langage de contrôle de données (Data Control Language [DCL]) pour gérer les utilisateurs et/ou les rôles. |
| 165.3.2 | Connaître les commandes d’un DCL pour attribuer les autorisations d’accès aux utilisateurs et/ou aux rôles et les gérer. |
165.4 Sauvegarder la base de données NoSQL et vérifier sa restauration. g5
| Connaissance | Texte |
|---|---|
| 165.4.1 | Connaître les commandes d’un système de gestion de base de données pour la sauvegarde d’une base de données (données et schéma de base de données) au repos ou en exploitation. |
| 165.4.2 | Connaître les commandes d’un système de gestion de base de données pour restaurer une base de données (données et schéma de base de données) ou des parties de celle-ci. |
165.5 Mettre à l’échelle une base de données NoSQL, p. ex. par réplication. g5
| Connaissance | Texte |
|---|---|
| 165.5.1 | Connaître les différences entre divers types de réplication: multi-maîtres, maître-esclave, active-passive et mise à l’échelle horizontale. |
| 165.5.2 | Connaître les commandes d’un système de gestion de base de données NoSQL pour gérer la réplication. |
165.6 Utiliser la base de données NoSQL en mode lecture/écriture depuis une application. g5
| Connaissance | Texte |
|---|---|
| 165.6.1 | Connaître des interfaces d’un système de gestion de base de données NoSQL pour une utilisation à partir d’une application. |
| 165.6.2 | Connaître la différence entre les requêtes et les projections lors de l’interrogation des bases de données NoSQL. |
| 165.6.3 | Connaître l’algorithme MapReduce pour traiter en parallèle des volumes importants de données dans une base de données NoSQL. |
Matrice de compétences
| Bande | Compétence | Débutant | Intermédiaire | Avancé | Objectifs |
|---|---|---|---|---|---|
| A1 | Bases NoSQL | Je suis en mesure d’expliquer des termes et des concepts des bases de données NoSQL (p. ex. théorème CAP, BASE, ACID, structures d’indexation, mise en cache, analyse des données, entrepôt de données, recherche plein texte, réseaux, tests). | Je suis en mesure de choisir de manière ciblée une base de données NoSQL pour une utilisation spécifique (p. ex. base de données orientée documents pour des vidéos). | Je suis en mesure de porter un regard critique sur l’utilisation d’une base de données NoSQL et de proposer des améliorations. |
165.1
|
| B1 | Implémenter une base de données NoSQL | Je suis en mesure d’interpréter et d’expliquer un modèle de données pour une base de données. | Je suis en mesure de transposer un modèle de données prédéfini avec une base de données NoSQL. | Je suis en mesure de concevoir un modèle de données pour une base de données NoSQL. |
165.2
|
| C1 | Insérer des données dans une base de données NoSQL | Je suis en mesure d’expliquer la structure des données dans une base de données NoSQL. | Je suis en mesure de transférer des données vers une base de données NoSQL. | Je suis en mesure d’identifier des problèmes lors du transfert de données dans une base de données NoSQL et de montrer des solutions. |
165.2
|
| D1 | Appliquer les autorisations d’accès | Je suis en mesure d’expliquer la fonction des autorisations d’accès dans une base de données NoSQL (utilisateurs, rôles, droits d’accès). | Je suis en mesure d’appliquer des autorisations d’accès prédéfinies à une base de données NoSQL (p. ex. rôles). | Je suis en mesure de créer un concept pour les autorisations d’accès d’une base de données NoSQL. |
165.3
|
| E1 | Effectuer une sauvegarde et une restauration | Je suis en mesure d’expliquer des concepts de sauvegarde d’une base de données NoSQL (p. ex. on-demand snapshots, continuous cloud backups, legacy backups). | Je suis en mesure d’effectuer une sauvegarde et une restauration d’une base de données NoSQL. | Je suis en mesure de créer un concept de sauvegarde d’une base de données NoSQL. |
165.4
|
| F1 | Appliquer la mise à l’échelle et la réplication à une base de données NoSQL | Je suis en mesure d’expliquer le principe de mise à l’échelle et les différents types de réplication pour une base de données NoSQL (p. ex. multi-maîtres, maître-esclave, active-passive et mise à l’échelle horizontale). | Je suis en mesure d’appliquer la réplication à une base de données NoSQL. | Je suis en mesure de créer un concept de mise à l’échelle d’une base de données NoSQL. |
165.5
|
| G1 | Etablir une connexion à une base de données NoSQL | Je suis en mesure d’expliquer le principe de l’accès à une base de données NoSQL (p. ex. requêtes et projections). | Je suis en mesure d’implémenter une connexion à une base de données NoSQL (p. ex. API). | Je suis en mesure d’appliquer le principe du traitement en parallèle aux bases de données NoSQL (p. ex. algorithme MapReduce). |
165.6
|
Modules liés par compétences PEC
| Module | Titre | PEC communes |
|---|---|---|
| M106 | Interroger, traiter et assurer la maintenance des bases de données | |
| M183 | Implémenter la sécurité d'une application | |
| M223 | Réaliser des applications multi-utilisateurs orientées objets | |
| M293 | Créer et publier un site Web | |
| M294 | Réaliser le front-end d’une application Web interactive | |
| M295 | Réaliser le back-end pour des applications | |
| M319 | Concevoir et implémenter des applications | |
| M320 | Programmer orienté objet | |
| M321 | Programmer des systèmes distribués | |
| M322 | Concevoir et implémenter des interfaces utilisateur | |
| M323 | Programmer de manière fonctionnelle | |
| M324 | Prendre en charge des processus DevOps avec des outils logiciels |