OpenSearch

Amazon OpenSearch Service

  • Amazon OpenSearch là phiên bản kế nhiệm của Amazon ElasticSearch.
  • Với DynamoDB, truy vấn chỉ tồn tại thông qua primary key hoặc index...
  • Với OpenSearch, bạn có thể tìm kiếm trên bất kỳ trường dữ liệu nào, kể cả khớp một phần.
  • Thường được sử dụng như một hệ thống bổ trợ (complement) cho các database khác.
  • Có hai chế độ hoạt động: cụm được quản lý (managed cluster) hoặc cụm serverless.
  • Không hỗ trợ SQL một cách nguyên bản, nhưng có thể bật thông qua plugin.
  • Hỗ trợ ingest (nạp dữ liệu) từ các nguồn như:
    • Kinesis Data Firehose
    • AWS IoT
    • CloudWatch Logs
  • Bảo mật thông qua:
    • Cognito và IAM
    • Mã hóa bằng KMS
    • Giao thức truyền bảo mật TLS
  • Đi kèm với OpenSearch Dashboards để trực quan hóa dữ liệu.

OpenSearch patterns

DynamoDB

Luồng dữ liệu:
  1. Ứng dụng thực hiện thao tác CRUD lên DynamoDB.
  2. DynamoDB Stream sẽ tự động ghi nhận các thay đổi (Insert/Update/Delete).
  3. AWS Lambda được kích hoạt bởi Stream, xử lý dữ liệu (mapping, normalization...) và gửi sang Amazon OpenSearch.
  4. Client (frontend/backend) có thể:
    1. Gọi API để tìm kiếm dữ liệu bằng OpenSearch (ví dụ: tìm theo tiêu đề, mô tả, keyword).
    2. Hoặc gọi API để lấy dữ liệu chuẩn từ DynamoDB (theo primary key, GSI, etc).

CloudWatch Logs

Kinesis Data Streams & Kinesis Data Firehose

Bạn thấy bài này thế nào?