Giới thiệu
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?