Amazon DEA-C01: Almacenamiento de datos y arquitectura de Data Lake — Guía de estudio
Forma parte de la Amazon Data Engineer Associate DEA-C01 — Guía de estudio. Practica con respuestas verificadas en el centro de exámenes de Amazon, o realiza tests cronometrados en ExamRoll.io.
Este dominio cubre cómo los servicios de almacenamiento y los motores de bases de datos de AWS soportan la ingesta de datos a gran escala, el archivado duradero, el rendimiento de las consultas y la gobernanza segura en las plataformas de datos modernas. Los ingenieros de datos deben equilibrar el costo, la latencia de acceso, la durabilidad y el control de acceso detallado al integrar servicios como S3, Lake Formation, Redshift y DynamoDB en las canalizaciones. Comprender los compromisos de las clases de almacenamiento, la automatización del ciclo de vida, el almacenamiento gestionado frente al local y los patrones de particionamiento previene sorpresas de rendimiento y costo en producción.
Clases de almacenamiento y políticas de ciclo de vida de Amazon S3
S3 ofrece múltiples clases de almacenamiento y controles de ciclo de vida para optimizar el costo y los patrones de acceso. Configure la clase de almacenamiento al momento de la carga (consola o CLI:
undefined
) o use reglas de ciclo de vida del bucket (aws s3api put-bucket-lifecycle-configuration –bucket my-bucket –lifecycle-configuration file://lifecycle.json). Intelligent-Tiering mueve automáticamente los objetos entre niveles de acceso frecuente e infrecuente y tiene una pequeña tarifa de monitoreo; actívelo para patrones de acceso desconocidos o cambiantes. Use reglas de ciclo de vida para transferir objetos a GLACIER o DEEP_ARCHIVE para retención a largo plazo y para expirar/eliminar versiones antiguas.
Criterios de decisión y compromisos:
- Intelligent-Tiering: baja sobrecarga operativa para acceso variable, cargo mensual de monitoreo por objeto; ideal cuando el patrón de acceso es impredecible.
- Glacier vs Glacier Deep Archive: Glacier ofrece opciones de recuperación estándar y acelerada más rápidas con un costo de almacenamiento mayor; Deep Archive es el más económico para retención de varios años con tiempos de recuperación estándar/masiva (horas).
- Standard-IA vs Intelligent-Tiering: Standard-IA tiene un cargo mínimo de 30 días y tarifas de recuperación; evítelo para datos de acceso frecuente u objetos de corta duración.
Notas operativas:
- Habilite el versionado (aws s3api put-bucket-versioning –bucket my-bucket –versioning-configuration Status=Enabled) y el bloqueo de objetos (aws s3api put-object-lock-configuration –bucket my-bucket –object-lock-configuration file://lock.json) para la inmutabilidad; habilitar MFA Delete requiere operaciones especiales de CLI y la cuenta del propietario del bucket con MFA.
- Las transiciones del ciclo de vida se aplican a las versiones de los objetos y pueden acotarse por prefijo/etiquetas; use abort-incomplete-multipart-upload para evitar fugas de almacenamiento.
Diseño de data lake con S3 y Lake Formation
Diseñe un data lake con S3 como el almacén de objetos central y Lake Formation para el control de acceso y la catalogación centralizados. Registre las ubicaciones de S3 como recursos de Lake Formation, configure un AWS Glue Data Catalog y use concesiones de Lake Formation para bases de datos/tablas (aws lakeformation grant-permissions –principal arn:aws:iam::123456789012:user/analyst –permissions SELECT –resource ‘{…}’). Lake Formation puede aplicar controles detallados: a nivel de columna, a nivel de fila (expresiones de filtro) y enmascaramiento a nivel de celda usando LF-tags y filtros de datos aplicados a las consultas de Glue/Athena.
Patrones clave de configuración y gobernanza:
- Registrar ubicación: use la consola de Lake Formation para registrar s3://bucket/path y adjunte un rol de IAM que permita a Lake Formation rastrear y leer.
- Políticas detalladas: defina LF-tags y adjúntelas a tablas/columnas; conceda permisos con una lista de columnas (column-list) para restringir columnas, y use expresiones de filtro de filas (row-filter) para limitar las filas devueltas para una entidad principal (principal).
- Recuerde que los permisos de Lake Formation pueden anular o bloquear los permisos de IAM S3 para el acceso de Glue/Athena; conceda acceso tanto a nivel de Lake Formation como de S3 donde sea necesario.
Puntos de decisión:
- Use Lake Formation cuando necesite catalogación centralizada, LF-tags y aplicación de políticas detalladas en múltiples motores de análisis.
- Para un control de acceso simple o el acceso de herramientas externas, considere las políticas de bucket de S3 e IAM, pero tenga cuidado: los motores de análisis gobernados por Lake Formation pueden ignorar las concesiones que son solo de IAM.
Arquitectura y almacenamiento de Amazon Redshift
Redshift separa el cómputo y el almacenamiento gestionado en los nodos RA3 frente a los nodos DS2 respaldados por SSD locales. Los nodos RA3 utilizan Redshift Managed Storage (RMS), donde los datos residen en Amazon S3 gestionado por el clúster; elija RA3 para un almacenamiento escalable con un rendimiento de consulta consistente y la capacidad de pagar por el cómputo por separado. Los nodos DS2 almacenan datos en discos locales de la instancia, lo que requiere un dimensionamiento y redimensionamiento cuidadosos cuando los datos crecen.
Detalles de configuración y operativos:
- Crear clúster RA3 a través de la consola o CLI: aws redshift create-cluster –cluster-identifier my-cluster –node-type ra3.xlplus –number-of-nodes 2 –master-username admin –master-user-password Passw0rd.
- Comando COPY: debe ejecutarse en un clúster con un rol de IAM adjunto que otorgue acceso de lectura a S3. Adjunte el rol en la creación del clúster o modifique el clúster para agregar roles de IAM; el ARN del rol (arn:aws:iam::acct:role/RedshiftS3Role) se referencia en COPY como credenciales ‘aws_iam_role=arn:…’.
- Monitoree las colas de WLM, la aceleración de consultas cortas (short query acceleration), la limpieza automática (automatic vacuuming) y use SORT/ENCODE para optimizar el almacenamiento y el rendimiento.
Comparación (RA3 vs DS2):
- RA3: almacenamiento desacoplado, organización automática de datos en niveles hacia S3, menor gestión del almacenamiento, ideal para conjuntos de datos en crecimiento.
- DS2: almacenamiento SSD local, menor latencia para datos locales pero capacidad limitada y más difícil de escalar.
DynamoDB y selección de bases de datos específicas
Elija DynamoDB para cargas de trabajo de clave-valor y de documentos a gran escala que requieran una latencia de milisegundos de un solo dígito. El diseño de la tabla depende de la selección de la clave de partición (y la clave de ordenación opcional): utilice claves de alta cardinalidad y bien distribuidas para evitar particiones calientes. Para claves secuenciales o basadas en marcas de tiempo, implemente prefijos aleatorios (sharding) o use UUIDs para distribuir las escrituras. Use la capacidad bajo demanda para evitar el aprovisionamiento, pero considere la capacidad aprovisionada con autoescalado para cargas de trabajo predecibles y para aprovechar la capacidad adaptativa en particiones calientes.
Notas prácticas de configuración:
- CLI para crear tabla:
undefined
.
- Use GSIs para patrones de acceso alternativos, habilite TTL para la expiración automática y use DynamoDB Streams + Lambda para patrones de captura de datos de cambios (change-data-capture).
- Para almacenar en caché cargas de trabajo con uso intensivo de lectura, agregue DAX; para consultas complejas o necesidades relacionales, elija Aurora o Redshift Spectrum dependiendo de la complejidad de la consulta y las necesidades de consistencia.
Criterios de decisión para la selección del motor:
- Use DynamoDB para patrones de acceso predecibles a una sola tabla y escala masiva con baja latencia.
- Use Redshift para análisis complejos y OLAP a gran escala.
- Use Aurora para cargas de trabajo relacionales transaccionales.
Errores comunes y criterios de decisión
- Usar S3 Standard-IA para datos a los que se accede con frecuencia: Standard-IA tiene un cargo mínimo de 30 días; use Standard o Intelligent-Tiering para objetos de corta duración o a los que se accede con frecuencia.
- Olvidar que los permisos de Lake Formation anulan los permisos de IAM para S3 en Glue/Athena: otorgue acceso tanto a Lake Formation como a S3 cuando use Glue/Athena y verifique los permisos efectivos en la consola de Lake Formation.
COPYde Redshift requiere un rol de IAM adjunto al clúster, no solo permisos de usuario: adjunte un rol de IAM con acceso a S3 al clúster y haga referencia a su ARN en las operacionesCOPY.- Particiones calientes en DynamoDB por claves secuenciales: evite las claves monotónicas; use claves con hash, prefijos aleatorios o UUIDs y considere la capacidad bajo demanda o aprovisionada con autoescalado.
- Habilitar S3 Object Lock y MFA Delete incorrectamente: object lock requiere que el versionado esté habilitado y los permisos adecuados; MFA Delete solo se puede habilitar/deshabilitar usando la CLI con MFA y tiene requisitos estrictos del propietario del bucket.
- Transiciones de ciclo de vida inadecuadas sin probar los costos y tiempos de recuperación: pruebe los flujos de trabajo de recuperación para las clases de Glacier para evitar latencias y cargos de recuperación inesperados.
Problema práctico: Escenario de caso de uso
Acme Media debe almacenar 50 TB de ingesta de video sin procesar, proporcionar a los analistas acceso de consulta a los metadatos transformados y aplicar acceso a nivel de fila y columna para diferentes unidades de negocio, minimizando al mismo tiempo el costo de almacenamiento.
- Ingestar el video sin procesar en S3 usando carga multiparte, etiquetar los objetos por fecha de ingesta y conjunto de datos, y usar Intelligent-Tiering para los patrones de acceso iniciales desconocidos.
- Configurar reglas de ciclo de vida para transferir los medios a GLACIER o DEEP_ARCHIVE después de un período de retención configurable (asegurar la alineación con los más de 30 días si se considera Standard-IA).
- Registrar las ubicaciones de S3 en Lake Formation, crear crawlers de Glue para poblar el Catálogo de Datos y otorgar permisos a nivel de fila y columna basados en etiquetas de LF a las unidades de negocio.
- Almacenar metadatos curados en Redshift RA3 para análisis; adjuntar un rol de IAM al clúster para
COPYdesde S3 y usar operacionesVACUUM/ANALYZEen ventanas de mantenimiento. - Usar DynamoDB con claves UUID con hash para una tabla de consulta de alto rendimiento para manifiestos de video y habilitar la capacidad bajo demanda para absorber picos de tráfico.
Justificación: Este enfoque aísla el costo del almacenamiento en frío con las clases de Glacier, usa Intelligent-Tiering para patrones desconocidos, aplica Lake Formation para un control de acceso seguro y detallado en todos los motores de análisis, y selecciona RA3 para un almacenamiento de análisis escalable, mientras que DynamoDB maneja las búsquedas operativas de baja latencia.
← Ingestión y recopilación de datos · Todos los dominios · Catalogación de datos y gestión de metadatos →
Practica estas preguntas → · Práctica cronometrada en ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Aprueba tu examen →