</>Học Dev
Bài học

Tuần 8 - Ngày 1: Tổng ôn 4 Domain và chiến lược làm bài

Tuần 8 – Ngày 1

Mục tiêu học tập

  • Hệ thống lại kiến thức theo đúng 4 domain DEA-C01
  • Thuộc bảng "tín hiệu đề → dịch vụ" tổng hợp toàn khóa
  • Nắm chiến lược làm bài và quản lý thời gian
  • Xác định điểm yếu để ôn trước practice exam

1. Domain 1: Data Ingestion and Transformation (34%)

Ingestion

Batch:    DB CDC → DMS | Aurora→Redshift → Zero-ETL | SaaS → AppFlow
          NFS/SMB/HDFS → DataSync | đối tác SFTP → Transfer Family
          PB/mạng yếu → Snowball
Streaming: cần replay/nhiều consumer → Kinesis Data Streams
          chỉ deliver S3/Redshift/OpenSearch → Firehose (near real-time)
          Kafka có sẵn/ecosystem → MSK (Serverless nếu không muốn size)

Transformation & Orchestration

  • Glue: DynamicFrame (ResolveChoice, Relationalize), bookmark (transformation_ctx), push_down_predicate, Flex, Auto Scaling
  • EMR: Spot task nodes, transient cluster; EMR Serverless cho Spark gián đoạn
  • Lambda: <15 phút, event-driven nhẹ; Flink: window/stateful/exactly-once
  • Orchestration: Step Functions (retry/catch, .sync, Distributed Map) | MWAA (Airflow có sẵn) | Glue Workflows (thuần Glue) | EventBridge (event/schedule)

Câu tủ

  • Bookmark không hoạt động → thiếu transformation_ctx
  • GZIP CSV lớn chậm → không splittable → Parquet
  • Hot shard → partition key lệch
  • Firehose không replay; KDS retention tới 365 ngày

2. Domain 2: Data Store Management (26%)

S3        nguồn sự thật; class theo độ nóng; lifecycle; Parquet + partition
Redshift  DISTKEY theo join, SORTKEY theo filter; ALL cho dim nhỏ
          Serverless (gián đoạn) vs provisioned (24/7); Spectrum (S3 lạnh)
          COPY (không INSERT), streaming ingestion MV, data sharing
Athena    $5/TB scan; CTAS; workgroups; Iceberg (MERGE/OPTIMIZE/time travel)
DynamoDB  key design chống hot partition; export to S3 (không ăn RCU);
          Streams/zero-ETL; TTL
OpenSearch search + log analytics; UltraWarm + ISM
Catalog   Glue crawler (event-based rẻ), partition projection, Schema Registry

Câu tủ

  • "Analytics toàn bảng DynamoDB" → export to S3, đừng scan
  • "Query chậm theo date" → SORTKEY/partition theo date
  • "Small files" → compaction/buffer lớn hơn/OPTIMIZE Iceberg

3. Domain 3: Data Operations and Support (22%)

Monitoring  IteratorAge (consumer lag), EventBridge rule bắt job FAILED,
            metric filter log → alarm; CloudTrail = ai làm gì
Quality     Glue DQ + DQDL (RowCount vs lịch sử, IsUnique, IsComplete),
            row-level quarantine vs fail-fast
Lineage     DataZone/SageMaker Catalog; Iceberg time travel; S3 versioning
Cost        Parquet+partition (giảm scan), Flex/Spot, retention log,
            gateway endpoints thay NAT, provisioned khi đều
Resilience  at-least-once mặc định → idempotent sink (MERGE, overwrite
            partition, conditional write); DLQ mọi consumer; backoff+jitter

4. Domain 4: Data Security and Governance (18%)

Encrypt    SSE-KMS CMK (audit), Bucket Keys (cost), envelope encryption
           TLS enforce (SecureTransport), quyền kms:Decrypt/GenerateDataKey
LF         thu hồi IAMAllowedPrincipals; LF-tags (scale); data filters
           (row/cell); cross-account = grant + RAM + resource link
PII        Macie (S3 discovery), Glue Detect PII (mask ETL),
           Redshift DDM (mask theo role), hash để join
Secrets    Secrets Manager (rotation) vs Parameter Store (config, free)
Audit      CloudTrail (data events cho object access), Config (cấu hình),
           Redshift audit log, Object Lock compliance mode (WORM)
Network    Gateway endpoint S3/DDB miễn phí; SourceVpce bucket policy

5. Chiến lược làm bài

Thời gian

  • 65 câu / 130 phút = 2 phút/câu; câu dài đọc yêu cầu cuối cùng trước
  • Flag câu phân vân, quay lại sau; không sa lầy quá 3 phút/câu
  • 15 câu unscored trộn lẫn — gặp câu lạ đừng hoảng

Kỹ thuật loại trừ

  1. Gạch đáp án sai chức năng (Firehose replay, Macie quét DynamoDB, Lambda 30 phút...)
  2. Trong các đáp án đúng chức năng, chọn theo từ khóa: cost-effective / least ops / real-time / most secure
  3. Cảnh giác đáp án "tự xây" (EC2 + script) khi có managed service tương đương — thường sai
  4. Hai đáp án gần giống nhau → thường một trong hai đúng; khác biệt nằm ở chi tiết (mode, tier, tính năng phụ)

Bảng từ khóa quyết định (thuộc lòng)

Từ khóaNghĩ ngay đến
least operational overheadServerless/managed: Glue, Firehose, Athena, Redshift Serverless, zero-ETL
most cost-effectiveParquet+partition, lifecycle, Spot/Flex, Spectrum, provisioned khi đều
near real-timeFirehose, zero-ETL, streaming ingestion MV
real-time / sub-secondKDS + Flink/Lambda, enhanced fan-out
no code / minimal codeAppFlow, DataBrew, Glue Studio, zero-ETL
minimal changes (Kafka/Hadoop/Airflow)MSK / EMR / MWAA
exactly-once / no duplicatesidempotent + MERGE, Flink checkpoint, FIFO dedup
fine-grained (row/column)Lake Formation
sensitive data discoveryMacie
immutable/WORMObject Lock compliance

Câu hỏi ôn tập

  1. Không nhìn tài liệu, viết ra decision tree ingestion (nguồn DB/SaaS/file/streaming → dịch vụ).

    Xem đáp án

    DB CDC → DMS; Aurora/RDS → Redshift → zero-ETL; SaaS → AppFlow; NFS/SMB/HDFS → DataSync; đối tác push SFTP → Transfer Family; PB/mạng yếu → Snowball; streaming cần replay/nhiều consumer → KDS; chỉ deliver → Firehose; Kafka sẵn → MSK. So với mục 1 — sai nhánh nào ôn lại tuần 2-3.

  2. Ba nguyên nhân phổ biến nhất khiến chi phí Athena cao và ba cách khắc phục tương ứng?

    Xem đáp án

    (1) Định dạng text/JSON/CSV → convert Parquet (CTAS/Firehose conversion); (2) không partition/không lọc partition → partition + partition projection; (3) SELECT * và query lặp lại → chọn cột + result reuse + bảng aggregate. Kèm workgroup limits để chặn query hoang.

  3. Nêu quy trình 4 bước xử lý PII end-to-end trên lake theo khung tuần 7.

    Xem đáp án

    (1) Phát hiện: Macie quét S3 (managed + custom identifiers); (2) Giảm thiểu: Glue Detect PII hash/redact tại ETL trước curated; (3) Kiểm soát: Lake Formation column/row filters + Redshift DDM cho phần cần giữ; (4) Audit: CloudTrail data events + Config + audit logs.

  4. Khi hai đáp án đều "đúng kỹ thuật" (vd Glue vs EMR Serverless cho Spark), quyết định bằng tín hiệu nào?

    Xem đáp án

    Tìm ràng buộc phụ trong đề: "existing Spark/Hadoop code" → EMR; "catalog/bookmark/visual ETL" → Glue; "cost-optimize sâu, Spot, framework khác" → EMR; "ít vận hành nhất" → Glue/EMR Serverless tùy vế còn lại; "phân tích ad-hoc SQL" → Athena. Đề Associate luôn cài một từ khóa phân thắng bại — tìm nó thay vì tranh luận kỹ thuật chung chung.

Bài tập thực hành

  • Tự viết lại 4 khung domain (mục 1-4) ra giấy từ trí nhớ — chỗ nào bí là chỗ cần ôn
  • Học thuộc bảng từ khóa mục 5
  • Chuẩn bị môi trường yên tĩnh 130 phút cho practice exam ngày mai
  • Ngủ đủ — practice exam làm nghiêm túc như thi thật

Tài liệu tham khảo chính thức


Tiếp theo: Practice Exam 1