Vérification des connaissances - Données et stockage
Évaluez votre compréhension des concepts clés du Module 5. Sélectionnez la meilleure réponse pour chaque question, puis soumettez pour voir vos résultats. Vous devez obtenir au moins 60 % pour réussir.
Le portail client de FinCorp fournit des vues de récapitulatif de compte et d'historique des transactions qui sont lues beaucoup plus souvent qu'elles ne sont écrites, le tout à partir d'un cluster Managed PostgreSQL réglementé sur la couche de données privée. Un architecte propose d'ajouter des répliques de lecture à ce cluster et de diriger le trafic de reporting vers un serveur de secours. Pourquoi est-ce le mauvais point de départ, et quel est le modèle natif ?
Les serveurs de secours de Managed PostgreSQL existent pour la haute disponibilité, et non pour servir le trafic de lecture ; il n'y a ni répliques de lecture ni point de terminaison en lecture seule managé. Le modèle natif remplace la fonctionnalité manquante par un cache In-Memory DB placé devant la couche relationnelle (la moitié lecture du modèle sans réplique de lecture) ainsi que par le pooler pgbouncer managé. Les distracteurs inventent un mode qui accorde la mise à l'échelle de la lecture, interprètent mal le nombre d'instances et utilisent à tort les images, qui sont des images de bloc cohérentes en cas de crash, et non une source cohérente au niveau de la base de données.
Un architecte conçoit la continuité des données pour le parc de FinCorp, qui comprend des VM migrées, des volumes Block Storage, un cluster Managed PostgreSQL et un cluster Managed MongoDB. Un collègue propose un plan unique : installer l'agent Backup Service basé sur Acronis partout, y compris sur les hôtes de base de données, afin qu'une seule console couvre l'ensemble du parc. Quel est le défaut déterminant ?
La limite la plus importante du module est que le Backup Service ne sauvegarde pas les bases de données gérées ; la continuité des bases de données est assurée au sein de chaque service de base de données par le PITR et le déchargement/restauration logique. Les distracteurs sont erronés sur les faits : la variante à agent externe protège bien les VM sur site et dans d'autres clouds, le Backup Service n'offre aucune sauvegarde immuable (l'immuabilité est une propriété de verrouillage d'objet d'Object Storage), et la classe de stockage ne rend pas une base de données sauvegardable par l'agent.
FinCorp doit conserver son archive d'audit pluriannuelle dans Object Storage avec une rétention infalsifiable et en écriture unique, qu'aucun administrateur de contrat ne peut raccourcir ni supprimer avant la date de rétention. L'architecte provisionne un bucket appartenant au contrat dans une région allemande, téléverse les premiers exports, puis tente d'activer Object Lock en mode COMPLIANCE. La console n'offre aucune option pour l'activer. Qu'est-ce qui s'est passé, et quelle est la conception correcte ?
Object Lock ne peut être activé qu'au moment de la création du bucket et ne peut jamais être ajouté ultérieurement, et son activation active également le versioning, les deux étant irréversibles ; le mode COMPLIANCE rend ensuite l'objet immuable jusqu'à sa date de rétention, la période ne pouvant être raccourcie par personne. Les distracteurs inversent la relation avec le versioning, inventent un chemin réservé à l'API qui permet encore une rétrogradation, et inventent une mise à niveau GOVERNANCE puis COMPLIANCE qui n'existe pas.
Le flux de transactions à fort volume de FinCorp transite par Event Streams for Apache Kafka. L'exigence est que tous les événements d'un compte donné soient traités dans l'ordre où ils se sont produits, que les différents comptes soient traités de manière concurrente, et que les partitions soient réparties uniformément sur les trois brokers du cluster. Quelle conception de sujet satisfait simultanément aux trois contraintes ?
L'ordre dans Kafka est par partition, donc la clé basée sur l'identifiant du compte place les événements de chaque compte sur une seule partition, garantissant un ordre strict par clé avec une concurrence entre les clés. Le nombre de partitions constitue également la limite supérieure stricte de la parallélisation des consommateurs, et l'utilisation d'un multiple des trois brokers (3, 6, 9) maintient une répartition uniforme. Une seule partition sérialise tous les comptes et limite la parallélisation à un seul consommateur, 5 n'est pas un multiple de trois et abandonne l'ordre par compte, et l'augmentation spéculative des partitions multiplie les descripteurs de fichiers, le trafic de réplication et le temps de rééquilibrage.
Les bases de données gérées de FinCorp n'exposent pas de flux de capture des modifications (change-data-capture) auquel les systèmes en aval peuvent s'abonner, et pourtant l'entrepôt analytique, le modèle de détection de fraude et l'index de recherche doivent tous réagir à chaque modification. L'architecture doit également permettre à la couche IA de relire l'historique des modifications à partir d'une position confirmée lors d'une nouvelle formation d'un modèle. Quelle est l'alternative native sur IONOS CLOUD ?
Étant donné que les bases de données gérées d'IONOS CLOUD n'exposent aucun flux de capture des modifications auquel il est possible de s'abonner, le motif natif inverse la dépendance : l'application publie un événement de domaine dans Kafka au moment où elle effectue la modification, et chaque système en aval consomme ce sujet, les groupes de consommateurs suivant leurs propres décalages afin que la couche IA puisse rejouer à partir d'une position confirmée. Suivre le WAL ne constitue pas un flux abordable, la comparaison des déchargements est lente et entraîne des pertes de données, et MongoDB ne propose pas de réplication gérée des flux de modifications vers un second cluster.
FinCorp a besoin d'une copie longue durée de ses données Managed PostgreSQL, infalsifiable, qui existe en dehors du cluster et peut être conservée pendant des années, indépendamment de la fenêtre de récupération instantanée (PITR) de 7 jours propre au cluster. Quelle composition répond à cette exigence tout en respectant les limites de la plateforme ?
Le PITR est limité par une fenêtre temporelle et lié au magasin de sauvegardes propre au cluster. La copie portable et longue durée provient donc d'un déchargement logique (pg_dump) envoyé vers Object Storage, où le verrouillage d'objets en mode COMPLIANCE ajoute la preuve d'infalsifiabilité que le service de base de données ne fournit pas de lui-même. Prolonger le PITR laisse la copie non portable et liée au cluster. Les instantanés sont des images de blocs cohérentes en cas de plantage, mais ne constituent pas des sauvegardes cohérentes au niveau de la base de données. Enfin, le Backup Service ne sauvegarde pas les bases de données managées.