Verificación de conocimientos - Datos y Almacenamiento
El portal del cliente de FinCorp sirve vistas de resumen de cuenta y de historial de transacciones que se leen mucho más a menudo de lo que se escriben, todo desde un Managed PostgreSQL Cluster regulado en el nivel de datos privado. Un arquitecto propone agregar réplicas de lectura a ese Cluster y dirigir el tráfico de informes a un servidor de respaldo. ¿Por qué este es el punto de partida incorrecto y cuál es el patrón nativo?
Los servidores de respaldo de Managed PostgreSQL existen para alta disponibilidad, no para servir tráfico de lectura; no hay réplicas de lectura y no hay extremo de solo lectura administrado. El patrón nativo reemplaza la función que falta con una caché In-Memory DB frente a la capa relacional (la mitad de lectura del patrón de no réplica de lectura) más el conector de conexión administrado pgbouncer. Los distractores inventan un modo que otorga escalabilidad de lectura, malinterpretan la cuenta de instancias y malutilizan las instantáneas, que son imágenes de bloque coherentes con fallos, no una fuente coherente con la base de datos.
Un arquitecto está diseñando la continuidad de datos para el patrimonio de FinCorp, que incluye máquinas virtuales migradas, volúmenes de Block Storage, un Managed PostgreSQL Cluster y un Managed MongoDB Cluster. Un compañero de equipo propone un plan único: instalar el agente de Backup Service basado en Acronis en todas partes, incluyendo en los hosts de bases de datos, para que una consola cubra todo el patrimonio. ¿Cuál es el defecto decisivo?
El límite más importante en el módulo es que el Backup Service no respalda las bases de datos gestionadas; la continuidad de la base de datos se entrega dentro de cada servicio de base de datos a través de PITR y volcado lógico/restauración. Los distractores son incorrectos en los hechos: la variante del agente externo sí protege las máquinas virtuales locales y de otras nubes, el Backup Service no ofrece copias de seguridad inmutables (la inmutabilidad es una propiedad de bloqueo de objeto de Object Storage), y la clase de almacenamiento no hace que una base de datos sea respaldable por el agente.
FinCorp debe mantener su archivo de auditoría de varios años en Object Storage como retención de solo lectura, con un período de retención que no puede ser acortado o eliminado por nadie, ni siquiera por un administrador de contrato, antes de la fecha de retención. El arquitecto provisiona un bucket propiedad de un contrato en una región de Alemania, sube las primeras exportaciones y luego intenta habilitar Object Lock en modo COMPLIANCE. La consola no ofrece ninguna opción para activarlo. ¿Qué salió mal y cuál es el diseño correcto?
Object Lock solo se puede habilitar durante la creación del bucket y nunca se puede agregar más tarde, y habilitarlo también activa la versionado, con ninguno de los dos siendo reversible; el modo COMPLIANCE hace que el objeto sea inmutable hasta su fecha de retención, con el período que no puede ser acortado por nadie. Los distractores invierten la relación de versionado, inventan una ruta solo para API que aún permite la retrocompatibilidad, e inventan una actualización de GOVERNANCE-a-COMPLIANCE que no existe.
El flujo de transacciones de alta Volume de FinCorp pasa por Event Streams for Apache Kafka. El requisito es que todos los eventos para una cuenta determinada se procesen en el orden en que ocurrieron, mientras que las cuentas diferentes se procesan de forma concurrente, y que las particiones se distribuyan de manera uniforme en los tres brokers de Cluster. ¿Qué diseño de tema satisface las tres restricciones al mismo tiempo?
El orden en Kafka es por partición, por lo que la clave en el identificador de cuenta coloca los eventos de cada cuenta en una partición, lo que da un orden estricto por clave con concurrencia entre claves; el recuento de particiones también es el límite máximo para el paralelismo del consumidor, y el uso de un múltiplo de los tres brokers (3, 6, 9) mantiene la distribución uniforme. Una sola partición serializa todas las cuentas y limita el paralelismo a un consumidor, 5 no es un múltiplo de tres y abandona el orden por cuenta, y la inflación de particiones de forma especulativa multiplica los controladores de archivos, el tráfico de replicación y el tiempo de reequilibrio.
Las bases de datos gestionadas de FinCorp no exponen un flujo de captura de cambios de datos que los sistemas downstream puedan suscribirse, sin embargo, el almacén de análisis, el modelo de fraude y un índice de búsqueda necesitan reaccionar a cada cambio. La arquitectura también debe permitir que el nivel de inteligencia artificial vuelva a leer el historial de cambios desde una posición comprometida cuando se vuelve a entrenar un modelo. ¿Cuál es el enfoque sustituto nativo en IONOS?
Debido a que las bases de datos gestionadas de IONOS no exponen un flujo de captura de cambios de datos suscribible, el patrón nativo invierte la dependencia: la aplicación publica un evento de dominio en Kafka mientras realiza el cambio, y cada sistema downstream consume ese tema, con grupos de consumidores que rastrean sus propios desplazamientos para que el nivel de inteligencia artificial pueda reproducir desde una posición comprometida. Seguir el WAL no es un flujo suscribible compatible, difundir volcadas es lento y propenso a pérdidas, y MongoDB no tiene replicación de flujo de cambios gestionada a una segunda Cluster.
FinCorp necesita una copia a prueba de manipulaciones, a largo plazo, de sus Managed PostgreSQL datos que sobreviva fuera del Cluster y que pueda ser retenida durante años, separada de la ventana de recuperación puntual de 7 días del Cluster. ¿Cuál composición cumple con esto respetando los límites de la plataforma?
PITR está limitado por la ventana y está vinculado al almacén de copias de seguridad de Cluster, por lo que la copia portátil a largo plazo proviene de un volcado lógico (pg_dump) enviado a Object Storage, donde el bloqueo de objeto en modo COMPLIANCE agrega la prueba de manipulación que el servicio de base de datos no proporciona en sí mismo. Ampliar PITR mantiene la copia no portátil y vinculada a Cluster, las instantáneas son imágenes de bloques coherentes con fallos en lugar de copias de seguridad coherentes con la base de datos, y el agente de Backup Service no respalda las bases de datos gestionadas en absoluto.