AWS Certified Cloud Practitioner
Les bases de données sur AWS
Comprenez comment fonctionnent les bases de données sur AWS, la différence entre un service managé et une base autogérée sur EC2, les données relationnelles face aux non relationnelles, et l'idée des bases de données spécialisées.
- Expliquer ce qu'est un service de base de données managé et en quoi il diffère d'une base exécutée sur Amazon EC2
- Comparer les bases de données relationnelles et non relationnelles
- Décrire l'idée des bases de données spécialisées (purpose-built)
- Identifier les principales catégories de bases de données proposées par AWS et l'usage de chacune
Pourquoi c'est important
Presque toutes les applications doivent stocker des données quelque part, et c'est la base de données qui les conserve. À l'examen CLF-C02, vous n'avez pas à concevoir de schéma ni à écrire de requêtes. Vous devez reconnaître les services de bases de données AWS, savoir si un service est relationnel ou non relationnel, et associer un besoin décrit au bon service.
Cette leçon pose les bases du reste du thème. Elle couvre ce qu'est un service de base de données managé, en quoi il diffère d'une base hébergée par vos soins, la distinction entre données relationnelles et non relationnelles, et l'idée des bases de données spécialisées. Les leçons suivantes entrent dans le détail de chaque service.
Service managé ou base autogérée
Vous pouvez exécuter une base de données sur AWS de deux grandes façons.
La première consiste à lancer une instance Amazon EC2, à y installer vous-même le logiciel de base de données et à tout gérer : le système d'exploitation, les correctifs, les sauvegardes, la montée en charge et la restauration. Vous gardez un contrôle total, mais vous portez aussi toute la charge opérationnelle, et une petite erreur pendant un correctif manuel peut provoquer une interruption.
La seconde consiste à utiliser un service managé comme Amazon RDS. AWS provisionne la base, applique les correctifs, réalise des sauvegardes automatiques, détecte les pannes et gère la restauration. Vous vous concentrez sur vos données et votre application plutôt que sur la tuyauterie en dessous. AWS recommande le service managé comme choix par défaut pour la plupart des charges de travail.
Le tableau ci-dessous montre qui fait quoi selon les trois options.
| Tâche | Sur site | Base sur EC2 | Service managé (RDS) |
|---|---|---|---|
| Optimisation de l'application et des requêtes | Vous | Vous | Vous |
| Installation et correctifs du logiciel de base | Vous | Vous | AWS |
| Correctifs du système d'exploitation | Vous | Vous | AWS |
| Sauvegardes et restauration | Vous | Vous | AWS |
| Maintenance des serveurs et du matériel | Vous | AWS | AWS |
| Alimentation, réseau et refroidissement | Vous | AWS | AWS |
Remarquez la logique : plus vous allez vers un service managé, plus AWS prend en charge le travail de routine. Une chose ne bouge jamais. L'optimisation de vos propres requêtes reste à votre charge dans tous les modèles, parce qu'elle dépend de vos données et de la façon dont votre application les utilise.
Bases de données relationnelles et non relationnelles
Les bases de données se rangent en deux grandes familles, et l'examen attend de vous que vous sachiez les distinguer.
Une base de données relationnelle (souvent appelée SQL) stocke les données dans des tables faites de lignes et de colonnes, avec un schéma défini. Vous pouvez relier, ou joindre, des tables pour répondre à des questions qui couvrent des données liées, par exemple associer des clients à leurs commandes. Les bases relationnelles conviennent bien aux données structurées et aux transactions où l'exactitude compte, comme la finance, les commandes et les stocks.
Une base de données non relationnelle (souvent appelée NoSQL) utilise d'autres modèles de données qui sacrifient une part de la structure stricte pour gagner en échelle, en vitesse et en souplesse. Au lieu de tables fixes, elle peut stocker des paires clé-valeur, des documents de type JSON, des graphes ou des points horodatés. Ces modèles brillent quand vous avez besoin d'un très haut débit, d'une faible latence ou d'un schéma flexible qui change souvent.
Aucune des deux familles n'est «meilleure». Elles résolvent des problèmes différents, et c'est exactement pour ça qu'AWS propose les deux.
Bases de données spécialisées
AWS ne pousse pas une seule base pour tous les usages. Il propose plutôt une gamme de bases de données spécialisées (purpose-built), chacune optimisée pour un modèle de données et une charge de travail précis. L'idée est simple : choisir le bon outil pour chaque tâche. Une même application peut en combiner plusieurs, par exemple une base relationnelle pour la facturation et une base clé-valeur pour le panier d'achat.
| Catégorie | À quoi elle sert | Service AWS |
|---|---|---|
| Relationnelle | Données structurées en tables, transactions, jointures | Amazon RDS, Amazon Aurora |
| Clé-valeur | Applications web à fort trafic, à toute échelle | Amazon DynamoDB |
| En mémoire | Cache et temps de réponse en microsecondes | Amazon ElastiCache, Amazon MemoryDB |
| Document | Documents de type JSON aux champs flexibles | Amazon DocumentDB |
| Graphe | Données fortement connectées et relations | Amazon Neptune |
| Colonnes larges | Charges Apache Cassandra à grande échelle | Amazon Keyspaces |
| Séries temporelles | Données qui évoluent dans le temps, comme l'IoT | Amazon Timestream |
Vous n'avez pas besoin du détail de chaque service pour l'examen. Vous devez en revanche reconnaître le nom, savoir à quelle catégorie il appartient, et l'associer à un scénario. Les trois prochaines leçons couvrent les services les plus testés de chaque famille, à commencer par les bases relationnelles.
Points clés pour l'examen
- Un service managé (comme Amazon RDS) signifie qu'AWS gère les correctifs, les sauvegardes, le basculement et le matériel. Héberger une base sur EC2 signifie que vous gérez tout cela vous-même.
- L'optimisation des requêtes reste toujours votre travail, même avec un service managé.
- Relationnel (SQL) = tables, lignes, colonnes, jointures, schéma fixe. Non relationnel (NoSQL) = clé-valeur, document, graphe et autres modèles flexibles conçus pour l'échelle.
- Spécialisé (purpose-built) signifie qu'AWS propose une base pour chaque type de charge, et que vous choisissez la bonne plutôt que de tout forcer dans une seule base.
- Apprenez à associer une catégorie à son service : relationnel vers RDS et Aurora, clé-valeur vers DynamoDB, en mémoire vers ElastiCache, graphe vers Neptune, document vers DocumentDB.
