Xử lý dữ liệu không có máy chủ của AWS với Kinesis
Xử lý dữ liệu với AWS Kinesis
AWS Kinesis là dịch vụ phát trực tuyến cho phép bạn xử lý lượng lớn dữ liệu trong thời gian thực.
Luồng là sự truyền dữ liệu với tốc độ cao.
Nó cho phép bạn phản ứng nhanh chóng với dữ liệu quan trọng của bạn.
Để xử lý xuôi dòng, luồng cũng bao gồm bộ đệm dữ liệu không đồng bộ.
Bộ đệm dữ liệu là nơi lưu trữ dữ liệu tạm thời bên trong bộ nhớ trong khi dữ liệu đang được di chuyển.
AWS Kinesis có ba dịch vụ xử lý dữ liệu độc lập:
- Luồng dữ liệu Kinesis
- Kinesis Data Firehose
- Phân tích dữ liệu Kinesis
Tất cả đều được quản lý hoàn toàn và không có máy chủ.
Xử lý dữ liệu bằng video AWS Kinesis
W3schools.com cộng tác với Amazon Web Services để cung cấp nội dung đào tạo kỹ thuật số cho sinh viên của chúng tôi.
Luồng dữ liệu Kinesis
Có hai loại dịch vụ trong AWS Kinesis:
- Nhà sản xuất
- Người tiêu dùng
Nhà sản xuất đóng góp bản ghi dữ liệu vào luồng.
Người tiêu dùng tiếp nhận và xử lý những hồ sơ dữ liệu đó.
Nhà sản xuất có thể là:
- Thư viện nhà sản xuất Kinesis (KPL)
- SDK AWS
- Công cụ của bên thứ ba
Người tiêu dùng có thể là:
- Các ứng dụng được tạo bằng Thư viện máy khách Kinesis (KCL)
- Hàm AWS Lambda
- Các luồng khác
Giới hạn luồng dữ liệu Kinesis
Luồng dữ liệu Kinesis có giới hạn của nó.
Nó có thể ghi 1000 bản ghi mỗi giây.
Nó có thể ghi 1 MB mỗi giây.
Nó có thể đọc tới 10000 bản ghi mỗi giây.
Nó có thể đọc tới 2 MB mỗi giây.
Mở rộng quy mô luồng dữ liệu Kinesis
Dịch vụ Kinesis Data Streams mở rộng quy mô bằng cách thêm các phân đoạn dữ liệu.
Phân đoạn dữ liệu là một phần của tập hợp dữ liệu lớn hơn.
Mỗi phân đoạn chứa một thứ tự bản ghi dữ liệu duy nhất.
Dịch vụ Kinesis chỉ định số thứ tự cho mỗi bản ghi dữ liệu.
Tổng hợp
Bạn có thể sử dụng phân đoạn hoặc tập hợp để tăng số lượng bản ghi được phân phối cho mỗi lệnh gọi API.
Tổng hợp là một quá trình lưu trữ nhiều bản ghi trong bản ghi Kinesis Data Stream.
Để sử dụng dữ liệu trong bản ghi, trước tiên người dùng phải hủy tổng hợp dữ liệu đó.
Bạn có thể sử dụng thư viện tổng hợp Kinesis để xử lý việc tổng hợp và hủy tổng hợp dữ liệu.
Kinesis Data Firehose
Bạn không cần quản lý phân đoạn hoặc viết ứng dụng tiêu dùng bằng Kinesis Data Firehouse.
Kinesis Data Firehouse tự động gửi dữ liệu đến đích được chỉ định.
Nó cũng có thể được cấu hình để chỉnh sửa dữ liệu trước khi gửi.
Kinesis Data Firehose là một lựa chọn phù hợp hoặc tiêu thụ lượng dữ liệu khổng lồ.
Đây là một ví dụ về hoạt động của Kinesis Data Firehouse:
- Máy khách kết nối với luồng Kinesis Data Firehose bằng chức năng Cổng API
- Dữ liệu được tải lên luồng Kinesis Data Firehose bằng API Gateway
- Các bản ghi dữ liệu thô được gửi tới Amazon S3 bằng giao diện của Kinesis Data Firehose.
- Amazon S3 gọi hàm Lambda để sửa đổi dữ liệu trước khi lưu trữ
- Dữ liệu được ghi vào DynamoDB
Phân tích dữ liệu Kinesis
Trước khi lưu giữ dữ liệu, Kinesis Data Analytics cho phép bạn thực hiện phân tích SQL theo thời gian thực.
Kinesis Data Analytics được thiết kế cho các truy vấn gần thời gian thực.
Nó cũng cho phép bạn sử dụng hàm Lambda để xử lý trước dữ liệu trước khi thực hiện truy vấn SQL.
Bạn có thể thay đổi định dạng dữ liệu, lọc dữ liệu hoặc cải thiện nó.
Kinesis Data Analytics có thể xuất dữ liệu sang cả Kinesis Data Stream và Kinesis Data Firehose.
Các bài đọc liên quan:
Hướng dẫn dành cho nhà phát triển Luồng dữ liệu KinesisThuật ngữ và khái niệm về luồng dữ liệu Amazon Kinesis
Hướng dẫn dành cho nhà phát triển Kinesis Data Firehose
Chuyển đổi dữ liệu Firehose của Amazon Kinesis Data
Hướng dẫn dành cho nhà phát triển ứng dụng SQL Kinesis Data Analytics for SQL
Phân tích dữ liệu Kinesis: Tiền xử lý dữ liệu bằng hàm Lambda