Hermes Wiki
CertExams/SAA-C03/Domain3/D3_HighPerformingDataIngestionAndTransformationSolution

Determine High-Performing Data Ingestion and Transformation Solutions

Core Idea

Data ingestion = collecting, curating, and preparing data from source systems into AWS (storage, data lakes, ML). The design axes are performance, latency, scale, security, and governance.

Two Ingestion Pattern Families

  • Homogeneous ingestion: data moves to the destination in the same format/engine as the source. Focus: speed of transfer, integrity protection, automating continuous ingestion. Tooling: cloud-based ETL like Amazon Athena or Amazon EMR.
  • Heterogeneous ingestion: data must be transformed as it's ingested (type/format changes, or ML-derived new attributes) to meet the destination's requirements.

Streaming Ingestion

  • Amazon Kinesis and Amazon MSK (Managed Streaming for Apache Kafka): real-time collection/processing/analysis.
  • Kinesis Data Streams: real-time ingestion — producers push records directly into the stream; high scalability/durability; can continuously capture multiple GB/sec from many sources.
  • Kinesis Data Firehose: the simplest path for capturing, transforming, and loading streams directly into AWS data stores — distinct from Data Streams in that Firehose is about delivery/landing, not raw stream access.
  • Kinesis Data Analytics: the Kinesis family member that includes basic data transformation options — this is the specific answer when a question asks which Kinesis service does light transform-in-flight.
  • Kinesis Video Streams: ingestion of streaming video specifically.

Processing & Cataloging After Extraction

  • Amazon EMR, AWS Glue, AWS Lake Formation — all candidates once data needs transforming/loading/cataloging for consumption (e.g., feeding an ML model).
  • If data lives in S3, EMR and Glue are natural choices — both can process data in a highly distributed way at massive scale, matching S3's own horizontal scalability.
  • Optimizing EMR/Glue ↔ S3 access at scale: adjust the number of concurrent S3 requests, tune the retry strategy, or adjust how many S3 objects are processed per job.
  • Additional transform optimization: convert data to Parquet (columnar, compressed) via EMR clusters, or use Lambda functions to transform data flowing into an S3-based data lake.

Data Lakes

  • A data lake gives you agility/flexibility beyond traditional data-management systems: manage multiple data types (structured + unstructured) from many sources in one centralized repository, with quick ingestion, deduplication, and centralized governance.

Ingesting Into an S3-Based Data Lake (AWS Lake Formation)

Service shortlist to know cold for hybrid/on-prem-to-cloud ingestion: Kinesis Data Firehose, Snow Family, Glue, AWS DataSync, AWS Transfer Family, Storage Gateway, Direct Connect, Database Migration Service (DMS) — selection depends on data frequency/change-rate as much as volume.

When to Use Each Transfer Service (explicitly flagged as exam-relevant)

  • Snow Family: physical, large-volume, bandwidth-constrained transfers.
  • Kinesis: continuous/real-time transfer into AWS.
  • Others (DataSync, Transfer Family, DMS, Direct Connect) selected by matching source type, protocol, and continuity requirements.

AWS Glue in Depth

A data-integration service used to discover, prepare, move, and integrate data from multiple sources — spans analytics, ML, and application-development use cases, not just "ETL for S3."

Security for Hybrid Data Ingestion

  • Access policy options on S3: bucket policies (cross-account/cross-user centralized data lake access) and IAM user policies (link permissions to roles for processing/analytics tooling).
  • Additional S3 data-protection levers: Cross-Region Replication, Object Lock, versioning.
  • IAM policies control legitimate access; encryption (S3's multiple options + KMS for key management/scale) protects against those who shouldn't have access, including accidental/malicious internal exposure.
  • For PII and elevated compliance needs: API Gateway, Cognito, and CloudHSM are named as the escalation path beyond standard KMS-backed encryption.

Exam Angle

Expect Kinesis-family disambiguation (Streams vs. Firehose vs. Analytics vs. Video Streams — know which does what), transfer-service selection by volume/bandwidth/frequency, and "secure a multi-account S3 data lake" questions combining bucket policies + IAM + KMS.

Practical Examples

Kinesis family, one pipeline, three roles: A ride-share app streams GPS pings from every driver's phone. Kinesis Data Streams ingests the raw ping events in real time from thousands of producers. Kinesis Data Analytics runs a simple SQL query over that stream to compute rolling average speed per driver. Kinesis Data Firehose takes the enriched output and lands it into S3 in Parquet format automatically, batched every 5 minutes — three different Kinesis services, each doing the specific job it's built for in the same pipeline.

Homogeneous vs. heterogeneous ingestion: Copying nightly CSV exports from an on-prem SQL Server straight into an S3 "raw zone" bucket, same format, same structure → homogeneous ingestion (focus: speed, integrity, automation). Taking those same CSVs and converting them into a normalized Parquet schema with derived columns for a data warehouse → heterogeneous ingestion (focus: transformation logic).

Glue + EMR after landing in S3: A company lands 500 GB/day of raw JSON clickstream data in S3. AWS Glue crawls it to infer/catalog the schema and runs a serverless ETL job converting it to partitioned Parquet. For a much larger, custom Spark job needing fine-grained cluster tuning (e.g., a 50-node job with specific memory settings), they'd reach for Amazon EMR instead — Glue for "let AWS manage the infrastructure," EMR for "I need to control the Spark/Hadoop cluster directly."

Snow Family for the "can't use the network" case: A research lab has 400 TB of genomic data on local disks and only a 100 Mbps internet connection — at that speed, a raw upload would take over a year. They order an AWS Snowball Edge device, copy the data locally over their LAN in days, and ship the device back to AWS for ingestion into S3 — this is the textbook "bandwidth is the bottleneck" trigger for the Snow Family.

Securing a data lake, layered: A central S3-based data lake serves 3 business units, each in its own AWS account. The data lake account's bucket policy grants each business-unit account's data-processing role read access to only its designated prefix (e.g., s3://datalake/finance/*). Within each business-unit account, an IAM policy further restricts which specific users/roles can assume that data-processing role. All objects are encrypted with a KMS customer-managed key, and the key policy independently controls who can decrypt — three layers (bucket policy, IAM policy, KMS key policy) all have to agree before access is actually granted.

Athena + QuickSight for ad-hoc analysis: A business analyst wants to explore the S3 data lake without spinning up a database. Amazon Athena lets them run standard SQL directly against S3 objects (via the Glue Data Catalog) with no infrastructure to provision, and QuickSight builds dashboards directly on top of those Athena queries — a serverless, pay-per-query BI stack.

Hermes Wiki