Analytics services: choosing the right one
What each of the eleven SAA-C03 analytics services does, how they fit into a data pipeline, and how to go from the clues in a question to the right service.
6 min read · Last reviewed · SAA-C03
Sign in to bookmark tutorials and track what you have read.
On this page
The services at a glance
The Analytics category of the exam covers eleven services. Most analytics designs combine several of them, so it helps to know the job each one does before comparing them. Each service name links to its own tutorial, which covers its security, resilience, performance, and cost in depth.
| Service | What it does |
|---|---|
| Amazon Kinesis Data Streams | Collects streaming records in real time and keeps them so that several applications can read them |
| Amazon Data Firehose | Delivers streaming data to destinations such as Amazon S3, Amazon Redshift, and Amazon OpenSearch Service, with no applications to write |
| Amazon MSK | Runs Apache Kafka clusters for you, so existing Kafka applications work unchanged |
| Amazon Athena | Runs standard SQL (Structured Query Language)The standard language for querying and changing data in relational databases. Analytics services such as Amazon Athena and Amazon Redshift also use SQL.Glossary entry queries directly on data in Amazon S3, with no infrastructure to manage |
| Amazon Redshift | A fully managed, petabyte-scale Data warehouseA database designed for analytics, holding cleaned, structured data from many sources, so that reports and queries across years of history run fast. Amazon Redshift is the AWS data warehouse.Glossary entry |
| AWS Glue | Serverless data integration: crawlers, the Data Catalog, and ETL (Extract, transform, and load)Copying data from sources, cleaning and reshaping it, and loading it into a target such as a data warehouse. AWS Glue is the AWS serverless ETL service.Glossary entry jobs |
| Amazon EMR | Managed clusters for big data frameworks such as Apache Spark and Apache Hadoop |
| Amazon OpenSearch Service | Managed OpenSearch clusters for log analytics, full-text search, and monitoring |
| AWS Lake Formation | Central governance and fine-grained access control for a Data lakeA central store for large amounts of structured and unstructured data kept in its original form, usually in Amazon S3, which many tools can analyze. AWS Lake Formation helps build and secure one.Glossary entry |
| AWS Data Exchange | Finds, subscribes to, and uses data from other organizations |
| Amazon Quick | Business intelligence dashboards and visualizations (Amazon Quick Sight, formerly Amazon QuickSight) |
Amazon Kinesis Video Streams shares the Kinesis name, but the exam lists it under Media Services.
How they fit together
A typical data lake pipeline moves through five stages:
- Ingest: Kinesis Data Streams, Data Firehose, or Amazon MSK bring streaming data in.
- Store and catalog: data lands in Amazon S3, and AWS Glue crawlers record its schema in the AWS Glue Data Catalog.
- Process: AWS Glue jobs or Amazon EMR clusters clean and transform the data. Amazon Managed Service for Apache Flink processes the streams themselves as the data arrives.
- Query and analyze: Athena queries the data in place, Redshift serves warehouse workloads, and OpenSearch Service handles search and log analytics.
- Visualize and govern: Amazon Quick builds dashboards, and Lake Formation controls who can see which databases, tables, columns, and rows.
Real-time analytics on streams: Amazon Managed Service for Apache Flink
Amazon Managed Service for Apache Flink (formerly Amazon Kinesis Data Analytics) runs Apache Flink applications with no servers to manage. An application reads a Kinesis data stream or an Amazon MSK topic and computes results continuously as records arrive: windowed counts and aggregations (such as "orders per store in the last 5 minutes"), filtering, joins, and streaming ETL. You write the application in Java, Scala, Python, or SQL, or query streams interactively in a Studio notebook. The service scales the application and checkpoints its state.
Data Firehose only buffers and delivers, and Athena or Glue run on Encryption at restEncrypting data where it is stored, such as on disks, in databases, or in backups, so that it cannot be read without the key. On AWS it usually uses keys in AWS KMS.Glossary entry, so a requirement to compute rolling or windowed results on a stream in real time points to Managed Service for Apache Flink.
Reverse mindmap: from the question to the service
Exam scenarios rarely name the service you need. They describe a requirement. Find the kind of problem the question describes, then follow its clue to the service.
- The data arrives as a stream
- Real-time processing, several consumers, replay leads to Kinesis Data Streams
- Deliver to S3, Redshift, or OpenSearch with no code leads to Data Firehose
- Convert streaming JSON to Parquet or ORC leads to Data Firehose
- Existing Apache Kafka applications leads to Amazon MSK
- Windowed counts or aggregations on a stream in real time leads to Managed Service for Apache Flink
- The data is queried with SQL
- Ad hoc SQL on files in S3, serverless leads to Athena
- Data warehouse for complex reporting leads to Redshift
- Query S3 from Redshift without loading leads to Redshift Spectrum
- The data is prepared or processed
- Discover schemas, central table catalog leads to Glue crawlers and Data Catalog
- Serverless ETL, no clusters leads to AWS Glue
- Spark, Hadoop, Hive, or HBase with cluster control leads to Amazon EMR
- The data is searched
- Full-text search, log analytics, monitoring leads to OpenSearch Service
- The data is governed, shared, or shown
- Column, row, or cell permissions on a data lake leads to Lake Formation
- Share data lake tables with other accounts leads to Lake Formation
- Subscribe to third-party data sets leads to AWS Data Exchange
- Dashboards for business users, embedded analytics leads to Amazon Quick
Commonly confused pairs
| If the choice is between | Choose the first when | Choose the second when |
|---|---|---|
| Kinesis Data Streams or Data Firehose | You need custom real-time processing, several consumers, or replay | You only need to deliver data to a destination |
| Kinesis Data Streams or Amazon MSK | You want an AWS-native stream with no Kafka to run | You need Apache Kafka compatibility |
| Athena or Redshift | Queries are occasional and the data stays in Amazon S3 | Many users run frequent, complex reporting queries |
| AWS Glue or Amazon EMR | You want serverless ETL | You need control over big data frameworks and clusters |
| Athena or OpenSearch Service | You query structured data with SQL | You search text or analyze logs |
| Data Firehose or Managed Service for Apache Flink | You deliver a stream to a destination | You compute results, such as windowed aggregations, continuously on the stream |
| Amazon Macie or Lake Formation | You need to find sensitive data, such as personal data, in S3 buckets | You need to control who can query which databases, tables, columns, and rows |
Key takeaways
- Identify the stage the question is about: ingest, store, process, query, or govern.
- "Deliver" and "no code" point to Data Firehose; "real-time processing" and "multiple consumers" point to Kinesis Data Streams.
- "Serverless SQL on Amazon S3" points to Athena; "data warehouse" points to Redshift.
- "Real-time windowed analytics on a stream" points to Managed Service for Apache Flink.
- "Fine-grained data lake permissions" points to Lake Formation; "find sensitive data in S3" points to Amazon Macie.
Sources
- AWS Certification: SAA-C03 in-scope AWS services
- Amazon Kinesis Data Streams Developer Guide: What is Amazon Kinesis Data Streams?
- Amazon Data Firehose Developer Guide: What is Amazon Data Firehose?
- Amazon Data Firehose Developer Guide: Convert input data format
- Amazon Managed Service for Apache Flink Developer Guide: What is Amazon Managed Service for Apache Flink?
- Amazon Managed Service for Apache Flink FAQs
- Amazon MSK Developer Guide: What is Amazon MSK?
- Amazon Athena User Guide: What is Amazon Athena?
- Amazon Redshift Management Guide: What is Amazon Redshift?
- AWS Glue Developer Guide: What is AWS Glue?
- Amazon EMR Management Guide: What is Amazon EMR?
- Amazon OpenSearch Service Developer Guide: What is Amazon OpenSearch Service?
- AWS Lake Formation Developer Guide: What is AWS Lake Formation?
- Amazon Macie User Guide: What is Amazon Macie?
- AWS Data Exchange User Guide: What is AWS Data Exchange?
- Amazon Quick User Guide: What is Amazon Quick?