Vérification des connaissances - Données et stockage
Testez 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 un score d'au moins 60 % pour réussir.
Le portail client de FinCorp sert des vues de résumé de compte et d'historique de transactions qui sont lues beaucoup plus souvent qu'elles ne sont écrites, le tout à partir d'un Managed PostgreSQL Cluster réglementé sur le niveau de données privé. Un architecte propose d'ajouter des réplicas de lecture à ce Cluster et de diriger le trafic de reporting vers un standby. Pourquoi est-ce le mauvais point de départ, et quel est le modèle natif ?
Les standbys Managed PostgreSQL existent pour la haute disponibilité, et non pour servir le trafic de lecture ; il n'y a pas de réplicas de lecture et pas de point de terminaison en lecture seule géré. Le modèle natif remplace la fonctionnalité manquante avec un In-Memory DB cache devant le niveau relationnel (la moitié de lecture du modèle sans réplica de lecture) plus le pooler géré pgbouncer. Les distracteurs inventent un mode qui accorde une mise à l'échelle des lectures, lisent incorrectement le décompte d'instances, et utilisent abusivement les instantanés, qui sont des images de bloc cohérentes en cas de panne, et non une source cohérente de base de données.
Un architecte conçoit la continuité des données pour le patrimoine de FinCorp, qui comprend des machines virtuelles migrées, des volumes Block Storage, un Managed PostgreSQL Cluster, et un Managed MongoDB Cluster. Un membre de l'équipe 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 patrimoine. Quel est le défaut décisif ?
La limite la plus importante dans le 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 livrée à l'intérieur de chaque service de base de données via PITR et dump/restore logique. Les options incorrectes sont fausses sur les faits : la variante de l'agent externe protège les machines virtuelles sur site et dans d'autres nuages, le Backup Service n'offre pas de sauvegardes immuables (l'immutabilité est une propriété d'objet verrouillée 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 en tant que rétention tamper-evident, écriture unique qui ne peut être raccourcie ou supprimée par personne, même un administrateur de contrat, avant la date de rétention. L'architecte met en place un bucket appartenant à un contrat dans une région allemande, télécharge les premières exportations, puis tente d'activer Object Lock en mode COMPLIANCE. La console n'offre aucune option pour l'activer. Qu'est-ce qui s'est mal passé, et quelle est la conception correcte ?
Object Lock ne peut être activé qu'au moment de la création du bucket et jamais ajouté par la suite, et son activation active également la versioning, avec aucune des deux options ne pouvant être annulée ; le mode COMPLIANCE rend ensuite l'objet immuable jusqu'à sa date de rétention, avec la période qui ne peut être raccourcie par personne. Les options incorrectes inversent la relation de versioning, inventent un chemin réservé à API qui permet toujours une rétrofit, et inventent une mise à niveau de GOVERNANCE à COMPLIANCE qui n'existe pas.
Le flux de transactions à haute Volume de FinCorp passe par Event Streams for Apache Kafka. L'exigence est que tous les événements pour un compte donné soient traités dans l'ordre où ils se sont produits, tandis que les différents comptes sont traités de manière concurrente, et que les partitions se répartissent uniformément sur les trois courtiers de Cluster. Quel design de sujet satisfait aux trois contraintes à la fois ?
L'ordre dans Kafka est par partition, donc la clé sur l'identifiant de compte place les événements de chaque compte sur une partition, ce qui donne un ordre strict par clé avec une concurrence entre les clés ; le nombre de partitions est également le plafond dur de la parallélisme des consommateurs, et l'utilisation d'un multiple des trois courtiers (3, 6, 9) maintient la répartition uniforme. Une seule partition sérialise tous les comptes et limite la parallélisme à un consommateur, 5 n'est pas un multiple de trois et abandonne l'ordre par compte, et gonfler les partitions de manière spéculative 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 un flux de capture de données modifiées que les systèmes en aval peuvent souscrire, pourtant l'entrepôt d'analyse, le modèle de fraude et un index de recherche doivent tous réagir à chaque modification. L'architecture doit également permettre au niveau IA de ré-lire l'historique des modifications à partir d'une position validée lorsque le modèle est ré-entraîné. Quelle approche est le substitut natif sur IONOS ?
Puisque les bases de données gérées IONOS n'exposent pas de flux de capture de données modifiées souscribable, le modèle natif inverse la dépendance : l'application publie un événement de domaine sur Kafka lorsqu'elle effectue la modification, et chaque système en aval consomme ce sujet, les groupes de consommateurs suivant leurs propres décalages afin que le niveau IA puisse rejouer à partir d'une position validée. Suivre le WAL n'est pas un flux souscribable pris en charge, la comparaison des dumps est lente et entraîne des pertes, et MongoDB n'a pas de réplication de flux de modification gérée vers une deuxième Cluster.
FinCorp a besoin d'une copie à l'épreuve de falsification, à long terme, de ses données Managed PostgreSQL qui survive en dehors du Cluster et qui peut être conservée pendant des années, séparément de la fenêtre de récupération ponctuelle de 7 jours du Cluster. Quelle composition répond à cette exigence tout en respectant les limites de la plateforme ?
PITR est lié à la fenêtre et au magasin de sauvegarde du Cluster, donc la copie portable à long terme provient d'un dump logique (pg_dump) expédié à Object Storage, où le verrou d'objet en mode COMPLIANCE ajoute la preuve de non-falsification que le service de base de données ne fournit pas lui-même. L'extension de PITR maintient la copie non portable et liée au Cluster, les snapshots sont des images de blocs cohérents en cas de panne plutôt que des sauvegardes cohérentes de base de données, et le Backup Service ne sauvegarde pas les bases de données gérées du tout.