Giới thiệu

2 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

Lựa chọn cơ sở dữ liệu phù hợp

  • AWS cung cấp rất nhiều dịch vụ cơ sở dữ liệu quản lý sẵn để bạn lựa chọn.
  • Những câu hỏi cần đặt ra khi chọn cơ sở dữ liệu phù hợp dựa trên kiến trúc hệ thống:
    • Workload thiên về đọc, ghi hay cân bằng? Yêu cầu về throughput? Throughput có thay đổi theo thời gian trong ngày không? Có cần scale theo thời gian không?
    • Lượng dữ liệu cần lưu trữ là bao nhiêu và trong bao lâu? Dữ liệu sẽ tăng trưởng ra sao? Kích thước trung bình của mỗi đối tượng dữ liệu?
    • Yêu cầu về data durability? CSDL này có là "source of truth" (nguồn dữ liệu chính xác) hay không?
    • Yêu cầu về độ trễ? Có bao nhiêu người dùng truy cập đồng thời?
    • Mô hình dữ liệu? Truy vấn như thế nào? Có cần join không? Dữ liệu có dạng structured, semi-structured hay không?
    • Có cần schema mạnh hay linh hoạt hơn? Có cần phục vụ cho báo cáo, tìm kiếm? Nên dùng RDBMS hay NoSQL?
    • Chi phí license? Có nên chuyển sang dịch vụ cơ sở dữ liệu cloud-native như Amazon Aurora?

Các loại cơ sở dữ liệu

  • RDBMS (Cơ sở dữ liệu quan hệ - SQL / OLTP):
    • Ví dụ: RDS, Aurora – phù hợp với các hệ thống cần thực hiện nhiều phép JOIN.
  • NoSQL database – không hỗ trợ JOIN, không dùng SQL truyền thống:
    • DynamoDB (lưu trữ dạng ~JSON)
    • ElastiCache (mô hình key/value)
    • Neptune (cơ sở dữ liệu dạng đồ thị)
    • DocumentDB (tương thích MongoDB)
    • Keyspaces (dựa trên Apache Cassandra)
  • Object Store:
    • S3 – dùng để lưu các đối tượng lớn (big objects)
    • Glacier – lưu trữ backup / archive dài hạn
  • Data Warehouse (Kho dữ liệu – SQL cho Analytics / BI):
    • Redshift (OLAP)
    • Athena, EMR
  • Search:
    • OpenSearch – hỗ trợ tìm kiếm full-text, dữ liệu không có cấu trúc (free-text, unstructured)
  • Graphs:
    • Amazon Neptune – hiển thị và quản lý các quan hệ giữa dữ liệu
  • Ledger:
    • Amazon Quantum Ledger Database – cơ sở dữ liệu ledger đảm bảo tính bất biến (immutability)
  • Time series:
    • Amazon Timestream – tối ưu hóa cho dữ liệu chuỗi thời gian
Bạn thấy bài này thế nào?