🚀 TỔNG QUAN CÁC DỊCH VỤ DỮ LIỆU & PHÂN TÍCH TRONG AWS
Hệ sinh thái Data & Analytics trong AWS cực kỳ lớn và mạnh mẽ, phục vụ từ phân tích dữ liệu theo thời gian thực, lưu trữ kho dữ liệu (Data Warehouse), đến xây dựng Dashboard BI.
🌟 1. Amazon Athena – Truy vấn dữ liệu trực tiếp trên S3 bằng SQL
Athena là một dịch vụ serverless, nghĩa là không cần quản lý máy chủ.
Bạn chỉ cần có dữ liệu trong Amazon S3 là có thể truy vấn bằng SQL chuẩn. Các đặc điểm chính
Athena có thể truy vấn dữ liệu từ:
🌟 2. Amazon Redshift – Data Warehouse cho phân tích dữ liệu quy mô lớn
Redshift là hệ quản trị data warehouse dựa trên PostgreSQL, nhưng được tối ưu cho xử lý truy vấn số lượng lớn (OLAP), không phù hợp cho OLTP (giao dịch). Đặc điểm chính
Người dùng truy vấn cluster qua JDBC/ODBC. Snapshot & Disaster Recovery
🌟 3. Redshift Spectrum – Truy vấn dữ liệu trong S3 mà không cần import
Redshift Spectrum cho phép Redshift truy vấn dữ liệu ngay trên S3.
Quy trình:
Giải pháp này cực kỳ hiệu quả khi dữ liệu quá lớn hoặc được lưu lâu dài trong S3.
🌟 4. Amazon OpenSearch (tiền thân: Elasticsearch)
OpenSearch thích hợp cho:
Kết hợp DynamoDB
Kết hợp CloudWatch Logs
Kinesis Stream/Data Firehose
🌟 5. Amazon EMR – Big Data với Hadoop/Spark
EMR giúp triển khai cluster xử lý Big Data sử dụng Hadoop, Spark, HBase, Presto, Flink… Công dụng
🌟 6. Amazon QuickSight – Xây dựng Dashboard BI
QuickSight là công cụ BI serverless, dùng để:
QuickSight dùng SPICE Engine để tăng tốc độ. Dashboard trong QuickSight
🌟 7. AWS Glue – ETL Serverless
Glue hỗ trợ:
Glue giúp chuyển đổi dữ liệu thành Parquet để Athena truy vấn siêu nhanh.
🌟 8. AWS Lake Formation – Dựng Data Lake trong vài ngày
Lake Formation xây dựng Data Lake trên S3 với:
Nó kết hợp Glue + chính sách bảo mật để tạo Data Lake hoàn chỉnh.
🌟 9. Kinesis Data Analytics – Phân tích real-time bằng SQL
Phân tích luồng dữ liệu từ:
Không cần server.
Có thể thêm dữ liệu tham chiếu từ S3.
Kết quả có thể đẩy sang Streams, Firehose hoặc các dịch vụ khác.
🌟 10. Kinesis Data Analytics for Apache Flink
Chạy ứng dụng Apache Flink để:
🌟 11. Amazon MSK – Kafka Managed trên AWS
MSK cung cấp Apache Kafka dạng fully managed, xử lý:
Cũng có phiên bản MSK Serverless.
🌟 12. Big Data Ingestion Pipeline – Kiến trúc tổng thể
Một pipeline serverless hoàn chỉnh gồm:
Quy trình:
Hệ sinh thái Data & Analytics trong AWS cực kỳ lớn và mạnh mẽ, phục vụ từ phân tích dữ liệu theo thời gian thực, lưu trữ kho dữ liệu (Data Warehouse), đến xây dựng Dashboard BI.
🌟 1. Amazon Athena – Truy vấn dữ liệu trực tiếp trên S3 bằng SQL
Athena là một dịch vụ serverless, nghĩa là không cần quản lý máy chủ.
Bạn chỉ cần có dữ liệu trong Amazon S3 là có thể truy vấn bằng SQL chuẩn. Các đặc điểm chính
- Không cần cấu hình server
- Dữ liệu có thể là CSV, JSON, Parquet, ORC, Avro
- Tính phí theo tổng dung lượng dữ liệu được quét
- Thường dùng với Amazon QuickSight để tạo báo cáo và dashboard
- Rất phù hợp cho phân tích log như VPC Flow Logs, CloudTrail, ELB Logs…
- Sử dụng định dạng cột như Parquet hoặc ORC
- Nén dữ liệu (gzip, snappy, zstd…) để giảm dung lượng cần quét
- Tổ chức dữ liệu trong S3 theo dạng thư mục phân vùng (partition)
- Dùng Glue để chuyển file sang Parquet/ORC
- Dùng file lớn hơn 128 MB để truy vấn hiệu quả hơn
Athena có thể truy vấn dữ liệu từ:
- Cơ sở dữ liệu on-premises
- DynamoDB
- RDS
- DocumentDB
- ElastiCache
và nhiều nguồn khác thông qua Data Source Connectors chạy trên AWS Lambda.
Kết quả truy vấn lại được lưu về S3.
🌟 2. Amazon Redshift – Data Warehouse cho phân tích dữ liệu quy mô lớn
Redshift là hệ quản trị data warehouse dựa trên PostgreSQL, nhưng được tối ưu cho xử lý truy vấn số lượng lớn (OLAP), không phù hợp cho OLTP (giao dịch). Đặc điểm chính
- Xử lý nhanh hơn 10 lần so với data warehouse truyền thống
- Lưu dữ liệu dạng cột (columnar)
- Chạy truy vấn song song
- Hỗ trợ BI tools như QuickSight hoặc Tableau
- Thích hợp cho truy vấn phức tạp, join, phân tích dữ liệu lớn
- Leader Node: lập kế hoạch truy vấn, tổng hợp kết quả
- Compute Nodes: thực thi truy vấn
Người dùng truy vấn cluster qua JDBC/ODBC. Snapshot & Disaster Recovery
- Snapshot lưu bằng S3
- Có thể tự động: 8 giờ/lần, mỗi 5GB, hoặc lịch tùy chỉnh
- Snapshot có thể sao chép sang Region khác
- Snapshot là incremental chỉ lưu phần thay đổi
- Có thể phục hồi thành cluster mới
- Nên import dữ liệu theo lô (batch)
- Dùng lệnh COPY từ S3 là nhanh nhất
- Có thể dùng Kinesis Firehose → S3 → COPY vào Redshift
- Enhanced VPC Routing giúp kiểm soát đường đi dữ liệu
🌟 3. Redshift Spectrum – Truy vấn dữ liệu trong S3 mà không cần import
Redshift Spectrum cho phép Redshift truy vấn dữ liệu ngay trên S3.
Quy trình:
- Redshift gửi truy vấn đến hàng nghìn node Spectrum
- Spectrum xử lý dữ liệu trên S3
- Trả kết quả về Redshift
Giải pháp này cực kỳ hiệu quả khi dữ liệu quá lớn hoặc được lưu lâu dài trong S3.
🌟 4. Amazon OpenSearch (tiền thân: Elasticsearch)
OpenSearch thích hợp cho:
- Tìm kiếm văn bản không theo khóa
- Tìm kiếm theo nhiều trường
- Log analytics
- Văn bản không cấu trúc
- Tìm kiếm toàn văn, phân mảnh, gợi ý
- Kết nối tốt với DynamoDB, IoT, CloudWatch Logs
- Yêu cầu cluster (không phải serverless)
- Có giao diện OpenSearch Dashboard
- Hỗ trợ xác thực bằng IAM và Cognito
Kết hợp DynamoDB
- DynamoDB Stream → Lambda → OpenSearch để tạo công cụ tìm kiếm nâng cao
Kết hợp CloudWatch Logs
- Gửi log → Lambda hoặc Kinesis Firehose → OpenSearch
Kinesis Stream/Data Firehose
- Đẩy log theo thời gian thực (real-time hoặc near real-time)
🌟 5. Amazon EMR – Big Data với Hadoop/Spark
EMR giúp triển khai cluster xử lý Big Data sử dụng Hadoop, Spark, HBase, Presto, Flink… Công dụng
- Xử lý dữ liệu lớn
- Machine Learning
- Web indexing
- Phân tích lớn (big data analytics)
- Master Node: điều phối cluster
- Core Node: xử lý & lưu dữ liệu
- Task Node: chạy tác vụ tạm thời (rẻ, thường dùng Spot)
- On-demand
- Reserved
- Spot
EMR tự động scale và tích hợp spot instance rất tốt.
🌟 6. Amazon QuickSight – Xây dựng Dashboard BI
QuickSight là công cụ BI serverless, dùng để:
- Xây dựng dashboard
- Visualize dữ liệu
- Phân tích ad-hoc
- Kết nối Athena, Redshift, RDS, Aurora, S3…
QuickSight dùng SPICE Engine để tăng tốc độ. Dashboard trong QuickSight
- Dashboard là phiên bản “read-only” của Analysis
- Người xem dashboard có thể xem toàn bộ dữ liệu
- Phải “Publish” trước khi chia sẻ
- Hỗ trợ phân quyền theo User/Group
🌟 7. AWS Glue – ETL Serverless
Glue hỗ trợ:
- Trích xuất dữ liệu
- Chuyển đổi (transform)
- Tải dữ liệu (load) vào hệ thống phân tích
- Glue Data Catalog: lưu metadata
- Glue Crawler: tự động đọc dữ liệu → tạo bảng & schema
- Glue Job (ETL)
- Glue Studio, Glue DataBrew: giao diện làm ETL dễ dàng
- Glue Elastic Views: đồng bộ dữ liệu giữa các nguồn khác nhau
Glue giúp chuyển đổi dữ liệu thành Parquet để Athena truy vấn siêu nhanh.
🌟 8. AWS Lake Formation – Dựng Data Lake trong vài ngày
Lake Formation xây dựng Data Lake trên S3 với:
- Quét dữ liệu
- Làm sạch dữ liệu
- Chuyển đổi
- Thiết lập bảo mật đến mức cột/hàng
Nó kết hợp Glue + chính sách bảo mật để tạo Data Lake hoàn chỉnh.
🌟 9. Kinesis Data Analytics – Phân tích real-time bằng SQL
Phân tích luồng dữ liệu từ:
- Kinesis Data Streams
- Kinesis Firehose
Không cần server.
Có thể thêm dữ liệu tham chiếu từ S3.
Kết quả có thể đẩy sang Streams, Firehose hoặc các dịch vụ khác.
🌟 10. Kinesis Data Analytics for Apache Flink
Chạy ứng dụng Apache Flink để:
- Xử lý streaming data
- Tính toán thời gian thực
- Sử dụng Java / Scala / SQL
🌟 11. Amazon MSK – Kafka Managed trên AWS
MSK cung cấp Apache Kafka dạng fully managed, xử lý:
- Tạo cluster Kafka
- Vận hành Kafka brokers
- Zookeeper
- Lưu trữ EBS
- Multi-AZ
- Tự động scale
Cũng có phiên bản MSK Serverless.
🌟 12. Big Data Ingestion Pipeline – Kiến trúc tổng thể
Một pipeline serverless hoàn chỉnh gồm:
- IoT Core
- Kinesis Data Streams
- Kinesis Firehose
- S3
- Lambda transform
- Athena
- QuickSight hoặc Redshift
Quy trình:
- Thiết bị IoT gửi dữ liệu → Kinesis
- Kinesis chuyển gần real-time → S3 qua Firehose
- S3 kích hoạt Lambda hoặc SQS
- Athena dùng SQL phân tích
- Kết quả đưa vào “reporting bucket”
- QuickSight/Redshift dùng dữ liệu để tạo dashboard