Amazon DocumentDB (với khả năng tương thích MongoDB) là cơ sở dữ liệu tài liệu JSON gốc được quản lý đầy đủ, giúp vận hành khối lượng công việc tài liệu quan trọng ở hầu hết mọi quy mô mà không cần quản lý cơ sở hạ tầng một cách dễ dàng và tiết kiệm chi phí. Amazon DocumentDB đơn giản hóa kiến trúc của bạn bằng cách cung cấp các biện pháp bảo mật tích hợp sẵn tốt nhất, sao lưu liên tục và tích hợp gốc với các dịch vụ AWS khác. Bạn có thể cải thiện các ứng dụng của mình với các chức năng trí tuệ nhân tạo (AI) tạo sinh và máy học (ML) bằng cách sử dụng tìm kiếm véc-tơ dành cho Amazon DocumentDB và tích hợp với Amazon SageMaker Canvas.
Giới thiệu chung
- Một dạng
MongoDB
- JSON
- Tương thích với các MongoDB app, drivers, tools
- Hiệu năng cao, hỗ trợ
scalability
(cả storage và compute) vàhigh availability
- Hỗ trợ flexible index, analytics, ad-hoc query
- Tối đa
15 read replicas
(Multi AZs) - Storage
- Auto scaling với
interval là 10GB
: từ10Gb
tới64TB
- Chịu lỗi và tự động sửa chữa
- Auto scaling với
- Backup: hỗ trợ
backup tự động
(increment) vàPITR
So sánh DocumentDB với các dạng DB khác
- DocumentDB và Relational DB
- Một số ưu điểm của DocumentDB
- Lưu thẳng giá trị được trả về từ API
Model, data types rất flexible
- Dễ dàng thêm/xoá indexes
- Hỗ trợ analytics workload hoặc các workload phức tạp
- Khá tương đồng với DynamoDB, NHƯNG
DynamoDB yêu cầu define structure ngay từ đầu
, còn DocumentDB thì không
Cấu trúc
- Tương tự như
Aurora
- Sử dụng mô hình
quorum
6 copies
được chia đều ra3 AZs
⇒ Rất khó để mất dữ liệu- Storage được chia thành 100 volumes
Share chung storage
giữa computes node (master) và read replicas ⇒ KHÔNG cần replicate dữ liệuĐộ trễ
giữa master và read replicaskhoảng 10ms
- Gồm 2 tầng là
compute
vàstorage
, sử dụng cơ chế incremental log - Data được backup liên tục về S3
- Nên sử dụng
cluster endpoint
vàreader endpoint
Backup và restore
- Hỗ trợ backup tự động
Retention tối đa 35 ngày
- RPO = 5 mins
- Backup đầu là full backup, các backup sau là increment
- Hỗ trợ manually snapshot
- Có thể
restore một snapshot thành một cluster mới
(hỗ trợ từ unencrypted thành encrypted) - Khi restore một encrpyted snapshot ⇒ cần access tới KMS key
- Có thể share manual snapshot
- Có thể share cho các
account khác
những cần phảicùng region
- Tương tự như RDS, snapshot
KHÔNG
được mã hoá bằngdefault KMS key
- Có thể share cho các
Scaling
- KHÔNG hỗ trợ sharding
- Scale ngang – add/remove thêm các read replica
- Scale dọc
- Storage: từ 10GB tới 64TB (hoàn toàn tự động)
Security
- Sử dụng
IAM
để giới hạn các quyền thay đổi đến DocumentDB - Hỗ trợ
SCRAM
(Salted Challenge Response Authentication Mechanism) vàRBAC
(role-based access control)
- VPC:
- Encryption
At rest
: sử dụng KMS, sẽ được apply cho data, indexes, logs, backups, snapshotsIn transit
: sử dụng TLS
Pricing
- On-demand instances – trả tiền
mỗi giây
mà instance chạy,tối thiểu là 10 mins
- IOPS – tính tiền theo mỗi
triệu requests
- Read – 8KB
- Write – 4KB
- DB storage, backups, data transfer
- Instance sẽ
TỰ ĐỘNG
bật lại sau 7 ngày bị stopped
Monitoring
- Các API calls: sử dụng
CloudTrail
- Một số metrics trong
CloudWatch
- CPU và RAM utilization
- IOPS
- DB connections
- Storage
- Network traffic
Các loại logs
Profiler logs
(performance logs)- Giúp tìm ra các
query chậm
- Để bật cần chỉnh
parameter group
vàenable log export
trong setting của instance- profiler
- profiler_threshold_ms
- profiler_sampling_rate
- Giúp tìm ra các
Audit logs
- Logs của tất cả các actions: thay đổi data, login……
- Ở dạng
JSON
- Để bật cần chỉnh
parameter group
(audit_logs=enabled) vàenable log export
trong setting của instance