



















Preview text:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN KẾT THÚC HỌC PHẦN
MÔN HỌC: ĐIỆN TOÁN ĐÁM MÂY
Mã học phần: CLCO332779 Đề tài: DATA ENGINEERING
GIẢNG VIÊN HƯỚNG DẪN: TS.Huỳnh Xuân Phụng
NHÓM THỰC HIỆN: Nhóm 62
SINH VIÊN THỰC HIỆN 1. Phạm Anh Quân 22110215
2. Nguyễn Hữu Đức Thọ 22110237
3. Nguyễn Lê Quang Trường 22110258
Thành phố Hồ Chí Minh, tháng 12 năm 2025
DANH SÁCH THAM GIA ĐỀ TÀI
HỌC KÌ I, NĂM HỌC: 2025 – 2026
Lớp HP: CLCO332779 _03 CLC
Đề tài: Data Engineering MSSV HỌ VÀ TÊN NHIỆM VỤ PHẦN TRĂM HOÀN THÀNH 22110215 Phạm Anh Quân -What is DE (Data 100% Engineering)? - List properties of Big Data
22110237 Nguyễn Hữu Đức - Topics related to DE with 100% Thọ AWS cloud
22110258 Nguyễn lê Quang - Find 5 user-cases to apply 100% Trường DE in AWS cloud
NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
……………………………………………………………………………………….
…………………………………………………………….…………………………
……………………………………………………………………………………….
………………………………….……………………………………………………
……………………………………………………………………………………….
……….………………………………………………………………………………
…………………………………………………………………….…………………
……………………………………………………………………………………….
Tp. Hồ Chí Minh, ngày tháng năm 2025 Giáo viên hướng dẫn LỜI CẢM ƠN
Trước hết, nhóm chúng em xin gửi lời cảm ơn chân thành đến TS. Huỳnh
Xuân Phụng, giảng viên hướng dẫn môn Điện toán đám mây, đã tận tình hướng
dẫn, truyền đạt kiến thức và kinh nghiệm quý báu trong suốt quá trình thực hiện đồ
án. Những chỉ dẫn và góp ý của thầy không chỉ giúp nhóm hoàn thành bài báo cáo
đúng hướng mà còn nâng cao hiểu biết thực tiễn về lĩnh vực Data Engineering trên
nền tảng điện toán đám mây.
Bên cạnh đó, nhóm xin cảm ơn đến Khoa Công nghệ Thông tin, Trường Đại
học Sư phạm Kỹ thuật TP. Hồ Chí Minh đã tạo điều kiện thuận lợi về môi trường
học tập, cơ sở vật chất và chương trình đào tạo, giúp sinh viên có cơ hội tiếp cận và
phát triển kiến thức chuyên môn. Xin chân thành cảm ơn! MỤC LỤC
Câu 1: What is Data Engineering (DE) ....................................................................................... 6
1. Khái niệm Data Engineering................................................................................................ 6
2. Mục tiêu chính của Data Engineering ................................................................................. 6
3. Vai trò của Data Engineer trong tổ chức ............................................................................ 7
4. Công cụ và công nghệ thường dùng trong Data Engineering ........................................... 8
5. Lợi ích của Data Engineering .............................................................................................. 8
6. Thách thức trong Data Engineering .................................................................................... 9
Câu 2: List Properties of Big Data ............................................................................................ 10
1. Volume (Khối lượng) ........................................................................................................... 10
2. Velocity (Tốc độ) .................................................................................................................. 10
3. Variety (Đa dạng) ................................................................................................................ 11
4. Veracity (Tính xác thực) ..................................................................................................... 11
5. Value (Giá trị) ...................................................................................................................... 12
6. Variability (Biến động) ....................................................................................................... 12
7. Visualization (Trực quan hóa) ........................................................................................... 12
Câu 3: Topics related to DE with AWS cloud ........................................................................... 13
1. Storage Services .................................................................................................................. 13
1.1 Amazon S3 (Simple Storage Service) .......................................................................... 13
1.2 Amazon EBS (Elastic Block Store) .............................................................................. 14
1.3 Amazon RDS (Relational Database Service) .............................................................. 14
2. Database Services ................................................................................................................ 15
2.1 Amazon RDS.................................................................................................................. 15
2.2 Amazon DynamoDB...................................................................................................... 15
2.3 Amazon Aurora ............................................................................................................. 16
3. Analytics and Big Data Services ........................................................................................ 16
3.1 Amazon EMR (Elastic MapReduce) ........................................................................... 16
3.2 Amazon Athena ............................................................................................................. 17
3.3 Amazon Kinesis ............................................................................................................. 17
3.4 AWS Glue ....................................................................................................................... 18
3.5 Amazon QuickSight ...................................................................................................... 18
4. Data Management Tools ..................................................................................................... 19
4.1 AWS Glue (Data Catalog & ETL) ............................................................................... 19
4.2 AWS Data Pipeline ........................................................................................................ 19
5. Compute Services ................................................................................................................ 19
5.1 Amazon EC2 (Elastic Compute Cloud) ...................................................................... 19
5.2 AWS Lambda ................................................................................................................ 20
5.3 AWS Elastic Beanstalk .................................................................................................. 20
5.4 Amazon ECS.................................................................................................................. 20
6. Networking and Content Delivery ..................................................................................... 20
6.1 Amazon VPC ................................................................................................................. 20
6.2 Amazon Route 53 .......................................................................................................... 21
6.3 Amazon CloudFront ..................................................................................................... 21
7. Machine Learning and AI Services ................................................................................... 21
Câu 4: Find 5 user-cases to apply DE in AWS cloud ............................................................... 22
1. Amazon S3 ........................................................................................................................... 22
2. AWS Lambda ....................................................................................................................... 22
3. Amazon Athena ................................................................................................................... 23
4. Amazon SNS ........................................................................................................................ 24
5. Amazon Redshift ................................................................................................................. 24
Câu 1: What is Data Engineering (DE)
1. Khái niệm Data Engineering
Data Engineering (Kỹ thuật dữ liệu) là một lĩnh vực trong công nghệ thông
tin tập trung vào việc xây dựng và vận hành hạ tầng dữ liệu cho các tổ chức. Data
Engineer chịu trách nhiệm thiết kế hệ thống để thu thập, lưu trữ, xử lý và phân phối
dữ liệu sao cho các bộ phận khác như Data Analyst, Data Scientist, bộ phận kinh
doanh hay các mô hình Machine Learning, AI có thể sử dụng dữ liệu một cách
thuận tiện và đáng tin cậy.
Nói một cách dễ hiểu, nếu coi các báo cáo phân tích, dashboard hay mô hình
AI là phần “ngọn cây”, thì Data Engineering chính là phần “rễ và thân cây”, đảm
bảo dòng dữ liệu từ nhiều nguồn khác nhau được đưa về đúng chỗ, đúng định dạng và đúng thời điểm.
2. Mục tiêu chính của Data Engineering
Trong một hệ thống dữ liệu hiện đại, Data Engineering hướng tới một số mục tiêu chính sau:
• Thu thập và tích hợp dữ liệu (Data Ingestion and Integration):
- Lấy dữ liệu từ nhiều nguồn khác nhau như hệ thống giao dịch, cơ sở
dữ liệu nội bộ, file log, ứng dụng web, thiết bị IoT,…
- Hợp nhất dữ liệu về một môi trường chung, giảm trùng lặp và mâu thuẫn giữa các nguồn.
• Lưu trữ và tổ chức dữ liệu (Data Storage and Organization):
- Lựa chọn cách lưu trữ phù hợp: cơ sở dữ liệu quan hệ, NoSQL, data
warehouse, data lake,… tùy theo bài toán.
- Thiết kế mô hình dữ liệu (schema, bảng, partition, index,…) để tối ưu
tốc độ truy vấn và chi phí lưu trữ.
• Xử lý và chuyển đổi dữ liệu (Data Processing and Transformation):
- Làm sạch dữ liệu: xử lý dữ liệu thiếu, dữ liệu sai, dữ liệu trùng.
- Chuẩn hóa và biến đổi dữ liệu theo các quy trình ETL/ELT để dữ liệu
ở dạng dễ phân tích và có thể dùng lại.
• Quản lý luồng dữ liệu (Data Pipeline Management):
- Xây dựng các pipeline tự động đưa dữ liệu từ nguồn về kho lưu trữ,
rồi từ kho lưu trữ sang hệ thống phân tích hoặc mô hình AI.
- Đảm bảo pipeline chạy ổn định, có lịch chạy rõ ràng, có cơ chế giám
sát và xử lý khi xảy ra lỗi.
• Bảo mật và tuân thủ (Data Security and Compliance):
- Áp dụng các cơ chế phân quyền, mã hóa, log truy cập để bảo vệ dữ liệu nhạy cảm.
- Đáp ứng các quy định về bảo vệ dữ liệu cá nhân và dữ liệu doanh
nghiệp (ví dụ như các chuẩn về bảo mật thông tin).\
3. Vai trò của Data Engineer trong tổ chức
Trong một tổ chức định hướng dữ liệu (data driven), Data Engineer giữ vai trò nền tảng:
• Xây dựng và duy trì hạ tầng dữ liệu:
Data Engineer thiết kế các hệ thống lưu trữ và xử lý dữ liệu có khả năng mở
rộng tốt, đảm bảo hệ thống vẫn hoạt động ổn định khi khối lượng dữ liệu tăng lên.
• Triển khai và tối ưu pipeline dữ liệu:
Công việc không chỉ dừng lại ở việc làm cho mô hình chạy được, mà còn
phải tối ưu thời gian xử lý, tài nguyên, chi phí và độ tin cậy.
• Kết nối giữa hệ thống kỹ thuật và bộ phận phân tích:
Data Engineer làm việc cùng với Data Analyst, Data Scientist để hiểu nhu
cầu dữ liệu của họ, từ đó thiết kế các bảng dữ liệu, view, hoặc job xử lý phù hợp.
• Xử lý các bài toán dữ liệu phức tạp:
Ví dụ như dữ liệu rất lớn (big data), dữ liệu theo thời gian thực (streaming),
dữ liệu đến từ nhiều hệ thống khác nhau với định dạng không đồng nhất,…
chúng là những bài toán khó mà Data Engineer phải giải quyết.
4. Công cụ và công nghệ thường dùng trong Data Engineering
Tùy vào từng công ty và nền tảng mà bộ công cụ có thể khác nhau, nhưng
nhìn chung Data Engineer hay sử dụng các nhóm công cụ sau:
• Hệ thống quản lý và lưu trữ dữ liệu:
- Cơ sở dữ liệu quan hệ (RDBMS): MySQL, PostgreSQL, SQL Server,…
- Cơ sở dữ liệu NoSQL: MongoDB, Cassandra, Redis,…
- Data lake / object storage: Amazon S3, Google Cloud Storage,…
- Data warehouse: Amazon Redshift, Google BigQuery, Snowflake,…
• Công cụ xử lý dữ liệu:
- Xử lý theo batch: Apache Spark, Apache Hadoop,…
- Xử lý dòng (streaming): Apache Kafka, Apache Flink, AWS Kinesis,…
• Công cụ xây dựng pipeline và lập lịch:
- Apache Airflow, Prefect, Luigi, hoặc các dịch vụ tương đương trên nền tảng cloud. • Ngôn ngữ lập trình:
- Thường dùng nhất là Python và SQL.
- Ngoài ra có thể dùng thêm Java, Scala,… cho các hệ thống xử lý dữ liệu lớn.
5. Lợi ích của Data Engineering
Khi được đầu tư đúng mức, Data Engineering mang lại nhiều lợi ích cho tổ chức:
• Giúp đưa ra quyết định dựa trên dữ liệu: dữ liệu được chuẩn hóa, tập trung,
dễ truy vấn nên lãnh đạo và các phòng ban có thể dựa vào số liệu thực tế để ra quyết định.
• Tăng hiệu quả vận hành: các quy trình thu thập và xử lý dữ liệu được tự
động hóa, giảm công việc thủ công, hạn chế sai sót.
• Tạo nền tảng cho AI và Machine Learning: mô hình AI chỉ hiệu quả khi có
dữ liệu đầu vào sạch và đủ lớn, đây chính là phần việc của Data Engineering.
6. Thách thức trong Data Engineering
Bên cạnh lợi ích, Data Engineering cũng gặp khá nhiều thách thức:
• Khối lượng và tốc độ dữ liệu tăng nhanh: hệ thống phải đủ mạnh và linh
hoạt để tiếp nhận lượng dữ liệu ngày càng lớn mà vẫn giữ được hiệu năng.
• Dữ liệu không đồng nhất: dữ liệu đến từ nhiều nguồn, với cấu trúc, định
dạng và chất lượng khác nhau, đòi hỏi quy trình tích hợp và làm sạch phải hết sức cẩn thận.
• Bảo mật và quyền riêng tư: dữ liệu thường chứa thông tin nhạy cảm, nên
Data Engineer phải chú ý tới phân quyền, mã hóa và tuân thủ các quy định liên quan.
• Công nghệ thay đổi liên tục: Data Engineer cần cập nhật các công cụ,
framework và dịch vụ cloud mới để tối ưu hệ thống cả về kỹ thuật lẫn chi phí.
=> Tóm lại, Data Engineering là một lĩnh vực quan trọng trong hệ sinh thái data
hiện nay. Nó đảm nhiệm vai trò xây dựng nền tảng để doanh nghiệp có thể khai
thác giá trị từ dữ liệu, hỗ trợ phân tích, báo cáo và các ứng dụng AI/ML trong thực tế.
Câu 2: List Properties of Big Data
Big Data dùng để chỉ những tập dữ liệu có quy mô rất lớn, tốc độ tạo ra
nhanh và định dạng đa dạng, vượt quá khả năng xử lý của các phương pháp truyền
thống. Khái niệm này không chỉ nói về nhiều dữ liệu, mà còn đề cập đến cách dữ
liệu được thu thập, lưu trữ và khai thác để phục vụ phân tích hoặc ra quyết định trong doanh nghiệp.
1. Volume (Khối lượng)
Volume là đặc điểm nổi bật nhất của Big Data, phản ánh lượng dữ liệu
khổng lồ được tạo ra mỗi ngày. Quy mô này thường lên đến terabytes, petabytes hoặc cao hơn.
Nguồn tạo dữ liệu lớn bao gồm: hoạt động trên mạng xã hội, hệ thống giao
dịch trực tuyến, dữ liệu cảm biến, nhật ký ứng dụng hoặc video từ các nền tảng giải trí.
Khối lượng quá lớn khiến việc lưu trữ và quản lý trở thành thách thức, đòi
hỏi các nền tảng lưu trữ phân tán như Hadoop HDFS, Amazon S3 hoặc Google Cloud Storage.
Ví dụ: Facebook ghi nhận và xử lý hàng petabyte dữ liệu người dùng mỗi
ngày từ bài đăng, lượt tương tác và nội dung đa phương tiện. 2. Velocity (Tốc độ)
Velocity đề cập đến tốc độ dữ liệu được tạo ra và cần được xử lý. Trong
nhiều trường hợp, dữ liệu phải được xử lý ngay lập tức để không ảnh hưởng đến hệ
thống giao dịch hoặc trải nghiệm người dùng.
Dữ liệu tốc độ cao thường đến từ: logs của ứng dụng, cảm biến IoT, giao
dịch ngân hàng hoặc dữ liệu của dịch vụ trực tuyến.
Thách thức nằm ở việc đảm bảo hệ thống có thể tiếp nhận và xử lý luồng dữ
liệu liên tục với độ trễ thấp. Các công nghệ phổ biến để xử lý dữ liệu streaming
gồm Apache Kafka, Apache Flink, Amazon Kinesis,…
Ví dụ: Các cảm biến trong nhà máy có thể phát ra hàng ngàn tín hiệu mỗi
giây để theo dõi hoạt động máy móc theo thời gian thực. 3. Variety (Đa dạng)
Variety mô tả sự đa dạng về cấu trúc và định dạng dữ liệu. Không chỉ dữ liệu
dạng bảng, Big Data còn bao gồm nhiều loại dữ liệu khác nhau:
• Structured data: dữ liệu dạng hàng, cột trong cơ sở dữ liệu.
• Semi structured data: JSON, XML, CSV có cấu trúc nhưng không cố định.
• Unstructured data: hình ảnh, video, âm thanh, văn bản tự do, nội dung mạng xã hội.
Đây là thách thức lớn vì mỗi định dạng yêu cầu một cách xử lý khác nhau để
kết hợp thành thông tin có ý nghĩa.
Ví dụ: Một nền tảng thương mại điện tử có thể lưu thông tin đơn hàng
(structured), log truy cập website (semi structured) và đánh giá của khách hàng (unstructured).
4. Veracity (Tính xác thực)
Veracity phản ánh độ tin cậy của dữ liệu. Trong Big Data, dữ liệu không phải
lúc nào cũng chính xác hoặc đầy đủ, nhiều khi chứa lỗi, dữ liệu nhiễu hoặc thông
tin không nhất quán giữa các hệ thống.
Nguồn gốc của sự sai lệch có thể là lỗi nhập liệu, dữ liệu chưa được đồng bộ
hoặc sự khác nhau giữa nhiều nguồn.
Do đó, việc làm sạch dữ liệu (data cleaning) là rất quan trọng. Các nền tảng
như AWS Glue hoặc Databricks thường được sử dụng để chuẩn hóa dữ liệu trước khi phân tích.
Ví dụ: Thông tin khách hàng có thể trùng lặp hoặc tồn tại bản ghi lỗi thời
cần được xử lý trước khi phân tích hành vi. 5. Value (Giá trị)
Value là lý do khiến Big Data trở nên quan trọng. Dữ liệu chỉ thực sự có ý
nghĩa khi đem lại lợi ích cho doanh nghiệp.
Giá trị của dữ liệu thể hiện qua việc:
• Hiểu rõ hành vi khách hàng
• Tối ưu hoạt động và giảm chi phí • Dự đoán xu hướng
• Phát hiện bất thường hoặc gian lận
Thách thức là làm sao ta có thể xác định được dữ liệu nào hữu ích, dữ liệu nào nên loại bỏ.
Ví dụ: Netflix phân tích lịch sử xem phim của từng người dùng để đưa ra các gợi ý chính xác hơn.
6. Variability (Biến động)
Variability mô tả sự thay đổi về cấu trúc và ý nghĩa của dữ liệu theo thời gian.
Dữ liệu có thể biến đổi tùy theo ngữ cảnh, xu hướng hoặc sự kiện. Điều này
đặc biệt thấy rõ ở dữ liệu trên mạng xã hội, nơi cách dùng từ khóa, hashtag, nội
dung thịnh hành thay đổi theo từng ngày.
Ví dụ: Một tổ chức tài chính phải xử lý nhiều loại dữ liệu khác nhau như
logs giao dịch, giá thị trường, phản hồi khách hàng, tất cả đều có cấu trúc thay đổi liên tục.
7. Visualization (Trực quan hóa)
Visualization phản ánh khả năng biến dữ liệu phức tạp thành biểu đồ, đồ thị,
dashboard để dễ hiểu. Đây là bước rất quan trọng để hỗ trợ người ra quyết định,
nhất là những người không chuyên về kỹ thuật.
Các công cụ trực quan hóa phổ biến: Tableau, Power BI, Google Data Studio, Amazon QuickSight.
Ví dụ: Một doanh nghiệp bán lẻ dùng dashboard để theo dõi doanh thu theo
thời gian thực, từ đó phát hiện khu vực hoặc mặt hàng đang giảm mạnh để điều
chỉnh kế hoạch kinh doanh.
=> 7 thuộc tính của Big Data là: Volume, Velocity, Variety, Veracity, Value,
Variability, Visualization, chúng giúp mô tả đầy đủ các khía cạnh của dữ liệu hiện
đại. Khi hiểu rõ và quản lý tốt các đặc tính này, tổ chức có thể xây dựng chiến lược
dữ liệu hiệu quả hơn, tối ưu chi phí, nâng cao chất lượng phân tích và tận dụng tối
đa giá trị mà dữ liệu mang lại.
Câu 3: Topics related to DE with AWS cloud 1. Storage Services
Trong một hệ thống Data Engineering trên AWS, lớp lưu trữ là nền tảng để
gom dữ liệu từ nhiều nguồn, lưu trữ dữ liệu thô và kết quả đã xử lý. Một số dịch vụ
lưu trữ thường gặp là Amazon S3, Amazon EBS và Amazon RDS.
1.1 Amazon S3 (Simple Storage Service)
• Hỗ trợ lưu trữ nhiều loại dữ liệu: file log, hình ảnh, video, backup, dữ liệu
thô từ hệ thống hoặc từ các job ETL.
• Nhiều lớp lưu trữ khác nhau để tối ưu chi phí:
- S3 Standard: dùng cho dữ liệu được truy cập thường xuyên.
- S3 Intelligent-Tiering: tự động chuyển dữ liệu giữa các lớp tùy mức độ truy cập.
- S3 Glacier / Glacier Deep Archive: lưu trữ lâu dài với chi phí thấp,
phù hợp cho dữ liệu ít khi cần xem lại.Tích hợp bảo mật: kết hợp với
IAM, bucket policy và mã hóa để kiểm soát truy cập.
• Dễ dàng kết nối với các dịch vụ phân tích như Athena, EMR, Glue, Redshift Spectrum,…
Trong Data Engineering, S3 thường được dùng để:
• Lưu trữ dữ liệu thô từ nhiều nguồn trước khi xử lý.
• Lưu kết quả sau khi xử lý từ EMR, Glue hoặc Lambda.
• Làm nơi lưu trữ lâu dài cho lịch sử dữ liệu.
1.2 Amazon EBS (Elastic Block Store)
Amazon EBS cung cấp lưu trữ dạng block cho các EC2 instance. Khác với
S3 (object storage), EBS phù hợp cho các ứng dụng cần truy cập dữ liệu ở mức
block với độ trễ thấp, giống như ổ đĩa của máy chủ.
Một số điểm nổi bật:
• Hiệu năng cao, hỗ trợ workload cần nhiều IOPS như cơ sở dữ liệu hoặc các
job xử lý dữ liệu nặng. • Nhiều loại volume:
- General Purpose SSD: dùng chung cho hầu hết workload.
- Provisioned IOPS SSD: tối ưu cho hệ thống yêu cầu độ trễ thấp và ổn định.
- HDD tối ưu throughput: phù hợp với các workload đọc hoặc ghi tuần tự nhiều.
• Có thể tạo snapshot để sao lưu và khôi phục nhanh khi cần.
Trong Data Engineering, EBS thường được dùng để:
• Làm ổ đĩa cho các EC2 chạy Spark/Hadoop trong quá trình xử lý trung gian.
• Lưu dữ liệu cho các hệ quản trị cơ sở dữ liệu cài trực tiếp trên EC2.
1.3 Amazon RDS (Relational Database Service)
Amazon RDS là dịch vụ cơ sở dữ liệu quan hệ được quản lý (managed
service), hỗ trợ các hệ quản trị như MySQL, PostgreSQL, MariaDB, SQL Server, Oracle và Aurora.
• AWS lo các tác vụ quản trị cơ bản: backup, nâng cấp phiên bản, vá lỗi, cấu hình high availability,…
• Có thể mở rộng tài nguyên (CPU, RAM, storage) khi khối lượng dữ liệu và
số lượng truy vấn tăng.
• Hỗ trợ triển khai Multi-AZ để tăng độ sẵn sàng của dữ liệu.
• Tích hợp với VPC, IAM, mã hóa để tăng bảo mật.
Trong bối cảnh Data Engineering, RDS thường dùng để:
• Lưu trữ dữ liệu quan hệ sau khi đã được chuẩn hóa.
• Là nguồn dữ liệu cho các job ETL sang data warehouse (ví dụ Redshift).
• Là backend cho ứng dụng sử dụng dữ liệu đã được xử lý. 2. Database Services
Ngoài RDS, AWS còn cung cấp nhiều dịch vụ cơ sở dữ liệu khác, đáp ứng
nhu cầu lưu trữ đa dạng trong hệ thống dữ liệu hiện đại. 2.1 Amazon RDS
RDS là lựa chọn phù hợp cho các hệ thống cần mô hình dữ liệu quan hệ, hỗ
trợ giao dịch ACID và ngôn ngữ SQL. Trong pipeline dữ liệu, RDS thường là
nguồn hoặc đích của các luồng ETL. 2.2 Amazon DynamoDB
DynamoDB là cơ sở dữ liệu NoSQL dạng key value được quản lý hoàn toàn,
nổi bật nhờ khả năng mở rộng nhanh và độ trễ rất thấp. Đặc điểm chính:
• Thiết kế để xử lý lượng request lớn mỗi giây với thời gian phản hồi tính bằng mili giây.
• Tự động scale theo lưu lượng, không cần quản lý máy chủ.
• Hỗ trợ lưu trữ dữ liệu dạng linh hoạt, phù hợp với dữ liệu bán cấu trúc.
• Tích hợp tốt với Kinesis, Lambda, EMR, Glue để phân tích dữ liệu.
Trong Data Engineering, DynamoDB thường được dùng để:
• Lưu trữ trạng thái thời gian thực, dữ liệu phiên (session) hoặc dữ liệu cấu hình.
• Lưu dữ liệu stream từ Kinesis/IoT trước khi chuyển sang S3 để phân tích. 2.3 Amazon Aurora
Aurora là cơ sở dữ liệu quan hệ do AWS phát triển, tương thích với MySQL
và PostgreSQL nhưng tối ưu hiệu năng và khả năng mở rộng. Một số ưu điểm:
• Hiệu năng cao hơn so với MySQL/PostgreSQL thông thường.
• Tự động sao chép dữ liệu trên nhiều AZ, tự động mở rộng dung lượng lưu trữ.
• Tích hợp chặt chẽ với các dịch vụ khác trong AWS, dễ dàng kết nối với Lambda, S3, Glue,…
Với Data Engineering, Aurora phù hợp cho các hệ thống giao dịch cần hiệu
năng cao, đồng thời vẫn có thể là nguồn dữ liệu cho các job phân tích.
3. Analytics and Big Data Services
Đây là nhóm dịch vụ phục vụ trực tiếp cho việc xử lý, phân tích và khai thác dữ liệu lớn trên AWS.
3.1 Amazon EMR (Elastic MapReduce)
Amazon EMR là dịch vụ cho phép chạy các framework xử lý dữ liệu lớn
như Hadoop, Spark, Hive, Presto,… trên cụm EC2 được quản lý. Vai trò trong Big Data:
• Xử lý các job ETL phức tạp với dữ liệu lớn.
• Phân tích log, clickstream, dữ liệu text, hình ảnh,…
• Chạy các mô hình machine learning trên dữ liệu khổng lồ. Ưu điểm:
• Có thể tăng hoăc giảm số lượng node trong cluster để tối ưu chi phí.
• Dễ dàng truy cập dữ liệu lưu trên S3, DynamoDB,…
• Linh hoạt trong việc lựa chọn framework phù hợp từng bài toán. 3.2 Amazon Athena
Athena là dịch vụ truy vấn dữ liệu trực tiếp trên S3 bằng SQL mà không cần dựng server hay cluster. Đặc điểm chính:
• Serverless: không phải quản lý hạ tầng, chỉ cần chỉ ra dữ liệu và schema.
• Trả phí theo lượng dữ liệu được quét, phù hợp cho nhu cầu truy vấn linh hoạt.
• Tích hợp với Glue Data Catalog để quản lý metadata. Athena thường dùng để:
• Phân tích nhanh log, file CSV, JSON lưu trên S3.
• Kiểm tra kết quả của pipeline ETL mà không cần dựng thêm hệ thống phức tạp. 3.3 Amazon Kinesis
Kinesis là nền tảng xử lý dữ liệu streaming của AWS, hỗ trợ thu thập và xử
lý dữ liệu theo thời gian thực. Các thành phần chính:
• Kinesis Data Streams: nhận và xử lý dòng sự kiện liên tục.
• Kinesis Data Firehose: tự động đẩy dữ liệu streaming vào S3, Redshift, OpenSearch.
• Kinesis Data Analytics: cho phép dùng SQL để phân tích dữ liệu streaming. Ứng dụng trong Big Data:
• Thu thập clickstream, log thời gian thực.
• Xây dựng các hệ thống giám sát, cảnh báo theo thời gian thực.
• Là bước đầu trong pipeline streaming trước khi lưu vào S3 hoặc hệ thống khác. 3.4 AWS Glue
AWS Glue là dịch vụ ETL serverless, giúp chuẩn bị dữ liệu cho phân tích. Chức năng chính:
• Crawl dữ liệu để tự động phát hiện schema và tạo metadata trong Glue Data Catalog.
• Viết và chạy job ETL dùng Apache Spark mà không phải quản lý cluster.
• Kết nối tốt với S3, Redshift, RDS, DynamoDB,…
Trong Data Engineering, Glue thường được dùng để:
• Làm sạch, chuẩn hóa dữ liệu từ nhiều nguồn.
• Xây dựng pipeline ETL từ hệ thống nguồn sang data warehouse hoặc data lake. 3.5 Amazon QuickSight
QuickSight là dịch vụ BI và trực quan hóa dữ liệu của AWS. Vai trò:
• Kết nối tới Redshift, Athena, S3, RDS,… để tạo báo cáo và dashboard.
• Hỗ trợ biểu đồ tương tác, filter động, chia sẻ dashboard cho người dùng.
• Có các tính năng hỗ trợ ML để phát hiện xu hướng, bất thường.
Đây là lớp nhìn thấy của hệ thống dữ liệu, giúp người dùng cuối (business,
quản lý) trực tiếp xem và khai thác thông tin.
4. Data Management Tools
4.1 AWS Glue (Data Catalog & ETL)
Ngoài vai trò ETL đã nêu, Glue còn là công cụ quan trọng để quản lý
metadata. Glue Data Catalog đóng vai trò như một sổ danh bạ dữ liệu, mô tả
schema, location, format của các bảng dữ liệu trong S3, Redshift,…
Điều này giúp việc truy vấn bằng Athena, Redshift Spectrum,… trở nên dễ dàng và thống nhất. 4.2 AWS Data Pipeline
AWS Data Pipeline là dịch vụ giúp lập lịch và điều phối việc di chuyển, xử
lý dữ liệu giữa các dịch vụ như S3, RDS, DynamoDB, EMR,… Một số ứng dụng:
• Thiết lập job chạy định kỳ để copy dữ liệu từ RDS lên S3.
• Kết hợp với EMR để chạy job xử lý theo lịch (hàng ngày, hàng giờ).
• Tự động hóa luồng chuyển dữ liệu giữa các hệ thống trong nội bộ AWS. 5. Compute Services
Là nơi chạy các ứng dụng xử lý dữ liệu, từ batch jobs đến streaming, từ ETL
đến huấn luyện mô hình.
5.1 Amazon EC2 (Elastic Compute Cloud)
EC2 cung cấp máy ảo trên cloud với nhiều cấu hình linh hoạt. Trong hệ
thống dữ liệu, EC2 dùng để:
• Chạy các ứng dụng tùy chỉnh, script xử lý dữ liệu.
• Chạy các framework như Spark, Hadoop.
• Triển khai các dịch vụ nội bộ phục vụ pipeline dữ liệu. 5.2 AWS Lambda
Lambda là dịch vụ serverless cho phép chạy code theo sự kiện mà không quản lý server.
Trong Data Engineering, Lambda thường dùng để:
• Xử lý dữ liệu khi có file mới được upload lên S3.
• Tự động kích hoạt các bước trong pipeline, ví dụ cập nhật metadata, gửi thông báo.
• Xử lý đơn giản các bản ghi từ Kinesis hoặc DynamoDB Streams. 5.3 AWS Elastic Beanstalk
Elastic Beanstalk giúp triển khai ứng dụng web hoặc API mà không cần cấu hình hạ tầng chi tiết.
Trong bối cảnh dữ liệu, có thể dùng Beanstalk để:
• Triển khai các ứng dụng nội bộ phục vụ xem báo cáo.
• Xây dựng các API đơn giản kết nối tới dữ liệu đã xử lý. 5.4 Amazon ECS
ECS là dịch vụ quản lý container (Docker) của AWS, ECS giúp:
• Chạy các ứng dụng được đóng gói dưới dạng container.
• Tổ chức nhiều dịch vụ nhỏ (microservices) có liên quan đến xử lý dữ liệu.
Khi xây dựng hệ thống data platform hiện đại, việc container hóa các thành
phần xử lý dữ liệu giúp dễ triển khai, dễ scale hơn.
6. Networking and Content Delivery 6.1 Amazon VPC
VPC cho phép tạo mạng ảo riêng trên AWS, trong đó triển khai EC2, RDS,
EMR,… với khả năng kiểm soát địa chỉ IP, subnet, route và bảo mật mạng.