Tổng quan các dịch vụ serverless Data Lake của AWS – 1

Ở bài trước chúng ta đã biết năm thành phần chính của một hệ thống Data Lake bao gồm thu thập, lưu trữ, danh mục và tìm kiếm, xử lý, bảo mật. Với mỗi thành phần chính của hệ thống Data Lake chúng ta có thể sử dụng các dịch vụ serverless ( người dùng không cần tự quản trị máy chủ ) của AWS như sau :

Tổng quan về các dịch vụ serverless Data Lake của AWS

Thu thập ( Ingestion ):

Amazon Kinesis: Là một dịch vụ hay được dùng để thu thập dữ liệu, được quản lý hoàn toàn bởi AWS và có khả năng thu thập cả dữ liệu theo luồng và dữ liệu dưới dạng tập logs. Kinesis có thể lưu lượng dữ liệu rất lớn nhưng chỉ có thế lưu trong 7 ngày.

Ngoài Amazon Kinessis chúng ta cũng có thể thu thập dữ liệu dưới dạng : tập tin cơ sở dữ liệu , tập tin thô.

Lưu trữ ( Storage ):

Amazon S3: Để lưu trữ dữ liệu dài hạn và đảm bảo các yêu cầu của hệ thống Data Lake. Dịch vụ lưu trữ được khuyến nghị cho hệ thống Data Lake là Amazon S3. Amazon S3 có độ sẵn sàng rất cao do nó viết các đối tượng trên nhiều vùng AZ. S3 có khả năng mở rộng gần như không giới hạn và không cần phải cấu hình trước mức dung lượng sẽ cần.

Ngoài ra S3 có chi phí thấp, cho phép lưu trữ tất cả dữ liệu thô đồng thời đi kèm với các tùy chọn về các lớp lưu trữ để tối ưu hóa chi phí.

Danh mục và tìm kiếm ( Catalog & Search ):

AWS Lambda: cho phép chạy các đoạn mã lập trình ngắn mà không cần phải tự quản trị tài nguyên tính toán ( máy chủ ảo, container).Bạn có thể tại đoạn mã của mình lên Lambda và chạy đoạn mã dưới dạng Lambda Function.

Điều kiện để kích hoạt Lambda function dựa vào các sự kiện ( event ) được sinh ra từ các dịch vụ AWS khác hoặc chạy theo dạng lập lịch ( scheduled ). Lambda function có thể chạy song song và mỗi Lambda function được kích hoạt độc lập.

Khi sử dụng Lambda bạn chỉ bị tính tiền khi có function được kích hoạt, tiền sẽ tính theo thời gian chạy thực tế.

Amazon DynamoDB: là dịch vụ cơ sở dữ liệu NoSQL hiệu suất cao, độ trễ thấp, hỗ trợ dữ liệu dạng document và dạng key-value. Được quản lý hoàn toàn bởi AWS.

Amazon Elasticsearch: là dịch vụ Elasticsearch được AWS quản lý, bạn có thể thông qua giao diện quản trị của AWS hoặc API để sử dụng các cụm Elasticsearch trong thời gian ngắn mà không cần phải xây dựng hệ thống từ đầu. Amazon Elastic Search vẫn hỗ trợ các API mã nguồn mở và các công cụ khác như Kibana, Logstash.

Kết hợp Amazon S3, AWS Lambda, Amazon DynamoDBAmazon Elasticsearch có thể được sử dụng để đưa thông tin dữ liệu vào dịch vụ tìm kiếm. Trong kiến trúc dưới đây , Lambda có thể được kích hoạt tự động bởi các sự kiện từ S3 để khi một đối tượng mới được tải lên S3. Lambda Function này sẽ trích xuất thông tin dữ liệu từ các đối tượng và đưa vào DynamoDB với các thuộc tính cần thiết. Với các thông tin được đưa vào DynamoDB, sự kiện PUT có thể kích hoạt một Lambda Function khác sẽ lấy thông tin dữ liệu có liên quan và cập nhật chỉ mục trong Amazon ES.

API Gateway: Đóng vai trò cửa trước để quản lý các API được cung cấp cho người dùng. Hỗ trợ caching, theo dõi, bảo mật các API được đăng ký vào API Gateway.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s