TỔNG QUAN VỀ CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TRONG AWSTrong AWS, có rất nhiều lựa chọn về cơ sở dữ liệu (database). Mỗi loại phù hợp cho từng kiến trúc, từng cách sử dụng khác nhau. Điều quan trọng nhất là hiểu nên chọn database nào dựa theo nhu cầu thực tế của ứng dụng.
Dưới đây là các tiêu chí giúp bạn chọn đúng database:
1. CÁCH CHỌN DATABASE PHÙ HỢPKhi thiết kế một hệ thống, bạn cần tự trả lời các câu hỏi sau: • Hệ thống đọc nhiều, ghi nhiều hay cân bằng cả hai?
• Lượng dữ liệu cần lưu trữ là bao nhiêu và tăng trưởng thế nào?
• Kích thước trung bình của dữ liệu? Cách truy cập dữ liệu?
• Cần độ bền dữ liệu (durability) ra sao? Database có phải nguồn dữ liệu sự thật (source of truth) không?
• Độ trễ (latency) yêu cầu? Số lượng user truy cập đồng thời?
• Dữ liệu có cấu trúc hay không? Có dùng JOIN hay không?
• Bạn cần schema chặt chẽ hay cần sự linh hoạt?
• Có cần phân tích dữ liệu, tìm kiếm văn bản, hay thời gian thực?
• Chi phí license? Có muốn dùng cloud-native như Aurora để giảm chi phí không?
Việc trả lời các câu hỏi này sẽ dẫn đến quyết định chọn SQL, NoSQL, GraphDB, Search, Time-series hay Object Storage
2. CÁC LOẠI DATABASE TRONG AWSAWS cung cấp nhiều dịch vụ database, mỗi loại phục vụ một mục đích riêng: • RDBMS (SQL / OLTP): RDS và Aurora – rất phù hợp khi cần JOIN
• NoSQL: DynamoDB, ElastiCache, Neptune, DocumentDB, Keyspaces
• Object Storage: S3 và Glacier
• Data Warehouse / Analytics: Redshift, Athena, EMR
• Search Engine: OpenSearch – tìm kiếm full text
• Graph Database: Neptune – quan hệ dữ liệu phức tạp
• Ledger Database: QLDB – ghi lại toàn bộ lịch sử thay đổi
• Time Series Database: Timestream – lưu dữ liệu theo mốc thời gian, IoT
3. TÓM TẮT TỪNG DỊCH VỤ DATABASE QUAN TRỌNG
Amazon RDS – Database quan hệ quen thuộcRDS hỗ trợ:
- PostgreSQL, MySQL, Oracle, SQL Server, MariaDB
- Tự động mở rộng lưu trữ
- Sao lưu tự động, phục hồi đến thời điểm (tối đa 35 ngày)
- Hỗ trợ Read Replica, Multi-AZ
- Bảo mật IAM, Security Groups, KMS
- Có RDS Custom cho Oracle & SQL Server
- Dùng tốt cho ứng dụng OLTP, hệ thống dạng giao dịch, dữ liệu quan hệ.
Amazon Aurora – SQL nhưng mạnh mẽ hơn RDSAurora tương thích MySQL và PostgreSQL nhưng:
- Tách Storage và Compute
- Dữ liệu lưu 6 bản sao trên 3 AZ, tự phục hồi
- Auto-scaling Read Replicas
- Hỗ trợ Aurora Serverless cho workload không ổn định
- Aurora Global cho ứng dụng đa vùng (multi-region)
- Tích hợp Machine Learning cùng Sagemaker
- Có tính năng cloning rất nhanh
- Dùng khi cần hiệu năng cao hơn RDS nhưng vẫn tương thích SQL.
ElastiCache – Tăng tốc ứng dụng với Redis hoặc MemcachedElastiCache cung cấp:
- Lưu dữ liệu trong RAM với độ trễ cực thấp
- Multi-AZ, clustering
- Backup, snapshot
- Tuy nhiên cần chỉnh sửa code ứng dụng để tích hợp
- Dùng để cache truy vấn DB, lưu session website, xử lý key-value tốc độ cao.
DynamoDB – NoSQL Serverless hàng đầuDynamoDB là database NoSQL:
- Serverless, tự động mở rộng
- Latency tính bằng mili-giây
- Hỗ trợ 2 chế độ: provisioned hoặc on-demand
- DAX để tăng tốc đọc (micro-second latency)
- DynamoDB Streams để kích hoạt Lambda
- Global Table cho đa vùng hoạt động đồng thời
- Backup tự động, phục hồi PITR
- Lưu các object JSON nhỏ, hệ thống serverless.
Amazon S3 – Lưu trữ đối tượng (Object Store)S3 là kho lưu trữ lớn, phù hợp:
- File tĩnh, ảnh, video, log
- Serverless, scale vô hạn, lưu file tối đa 5 TB
- Có nhiều tier như Standard, IA, Intelligent Tiering, Glacier
- Bảo mật IAM, Bucket Policy, ACL, CORS
- Tính năng mạnh: versioning, replication, object lock, multipart upload, S3 Event Trigger
- Đây không phải database quan hệ, mà là kho lưu file lớn.
Amazon DocumentDB – Dành cho MongoDBDocumentDB là phiên bản AWS dành cho MongoDB:
- Lưu dữ liệu dạng JSON
- Tự động tăng dung lượng đến 64TB
- High availability trong 3 AZ
- Dùng cho ứng dụng NoSQL cần document-based.
Amazon Neptune – Graph DatabaseDùng để lưu dữ liệu có mối quan hệ chằng chịt như:
- Mạng xã hội
- Gợi ý sản phẩm
- Kiểm tra gian lận
- Knowledge graph
Amazon Keyspaces – Cassandra trên AWSKeyspaces cung cấp:
- Tương thích Cassandra Query Language (CQL)
- Serverless và auto-scale
- Replica trên nhiều AZ
- Millisecond latency
- Lưu dữ liệu IoT, time-series mức đơn giản.
Amazon QLDB – Database dạng LedgerQLDB:
- Lưu toàn bộ lịch sử thay đổi
- Không thể sửa hay xóa (immutable)
- Dữ liệu được xác thực bằng mật mã (cryptographically verifiable)
- Hiệu năng cao hơn blockchain thông thường
- Phù hợp hệ thống tài chính, kế toán, audit.
Amazon Timestream – Time-series DatabaseTimestream là database chuyên cho dữ liệu theo thời gian:
- Hoàn toàn serverless
- Lưu & phân tích hàng nghìn tỷ sự kiện mỗi ngày
- 1000 lần nhanh hơn và rẻ hơn RDBMS
- Tự động phân lớp dữ liệu: mới → in-memory, cũ → storage giá rẻ
- Tích hợp phân tích dữ liệu thời gian thực
- Phù hợp IoT, giám sát hệ thống, phân tích log thời gian.
KẾT LUẬNAWS có đầy đủ mọi loại database, từ SQL, NoSQL, Graph, Ledger đến Time-Series. Việc chọn database đúng ảnh hưởng trực tiếp đến hiệu năng, chi phí và độ bền của hệ thống.
Nếu bạn muốn xây dựng ứng dụng đúng chuẩn cloud-native – bạn phải nắm vững các dịch vụ trong bài này.