Tính năng
Ba yếu tố quyết định một database làm được gì: mô hình triển khai, cách bạn cho ứng dụng kết nối tới nó, và engine bạn chọn. Cả ba đều khó đổi về sau, nên hãy đọc cả ba trước khi khởi tạo, và xem Giới thiệu sản phẩm để biết danh sách engine.
Engine và tính năng khả dụng thay đổi theo quá trình phát triển dịch vụ. Trang này là trạng thái đã được ghi nhận, Console Portal là trạng thái hiện hành.
Mô hình triển khai
Đây là lựa chọn chi phối phần lớn những gì bên dưới. Mỗi database triển khai theo một trong hai mô hình, chọn tại thời điểm khởi tạo dựa trên yêu cầu về tính khả dụng, hiệu năng và chi phí.
| Single Node | High Availability (HA / Cluster) | |
|---|---|---|
| Số node | Một database instance, không có standby | Một primary cộng một hoặc nhiều node standby hoặc replica |
| Vị trí đặt | Một node | Cùng hoặc khác Availability Zone |
| Failover | Không có | Tự động. Hệ thống giám sát liên tục và failover sang standby khi primary gặp sự cố |
| Downtime | Xảy ra khi node lỗi và khi bảo trì | Giảm thiểu nhờ failover |
| Phù hợp với | Môi trường phát triển và thử nghiệm, tải thấp đến trung bình, và các trường hợp ưu tiên kiến trúc đơn giản, chi phí thấp | Hệ thống production và nghiệp vụ quan trọng |
Database Single Node nhận toàn bộ tài nguyên vCPU, RAM và storage trên một node. Backup vẫn chạy theo lịch đã cấu hình, nên mô hình này không phải là không được bảo vệ. Thứ nó thiếu là node standby, nên tính khả dụng phụ thuộc vào sức khỏe của node duy nhất đó.
High Availability mang lại ba thứ ngoài việc giảm downtime: độ tin cậy và khả năng phục hồi tốt hơn, khả năng mở rộng đọc qua replica khi bạn cấu hình, và tùy chọn đặt Database proxy phía trước để định tuyến kết nối.
Mô hình nào chọn được, và HA thực sự mang lại gì, đều khác nhau theo engine. Các bảng bên dưới nêu chi tiết.
Kết nối mạng
Ứng dụng không kết nối trực tiếp tới node. Ứng dụng kết nối qua database endpoint, và thứ nằm sau endpoint đó phụ thuộc mô hình triển khai bạn chọn ở trên.
| Mô hình triển khai | Endpoint trỏ tới |
|---|---|
| Single Node | Database instance |
| High availability | DB Proxy đại diện cho cluster |
Đi qua endpoint giúp tách logic ứng dụng khỏi kiến trúc cluster, nên thay đổi topology hay một lần failover không buộc bạn sửa cấu hình kết nối.
Truy cập private và public
Có hai mô hình truy cập, và lựa chọn này là quyết định về bảo mật nhiều như về mạng.
| Mô hình truy cập | Nghĩa là gì | Dùng cho |
|---|---|---|
| Private access | Database chỉ truy cập được từ bên trong mạng nội bộ (VPC) | Production, và mọi nơi cần giữ mức phơi nhiễm tối thiểu |
| Public access | Database cung cấp public endpoint truy cập được từ Internet, kèm các biện pháp bảo mật bổ sung | Hệ thống bên ngoài, truy cập quản trị tạm thời, môi trường thử nghiệm và tích hợp |
Security Group và Floating IP
Hai cơ chế này là thứ khiến public access đủ an toàn để dùng, và chúng được thiết kế để dùng cùng nhau chứ không tách rời.
Security Group là tập rule firewall stateful cho phép hoặc chặn traffic vào và ra theo địa chỉ IP hoặc CIDR, port và protocol. Đây là cách bạn áp dụng nguyên tắc least privilege, chỉ cho phép truy cập từ nguồn hợp lệ như ứng dụng trong cùng VPC hoặc một bastion host đã được duyệt. Thay đổi rule có hiệu lực ngay và không cần khởi động lại database.
Floating IP là địa chỉ IP public bạn gắn hoặc gỡ khỏi database instance khi cần, và đây là thứ bật khả năng truy cập từ Internet. Hãy dùng kèm Security Group giới hạn dải nguồn được phép và chỉ mở đúng port database bạn cần, ví dụ 3306, 5432 hoặc 1433.
Chỉ bật Floating IP trong thời gian thực sự cần, và ưu tiên private access cho production. Một Floating IP đi kèm Security Group quá rộng đồng nghĩa với việc đưa database ra Internet công cộng.
Hướng dẫn thao tác cho cả hai nằm ở Kết nối tới database qua Floating IP.
Tính năng chỉ có trên một số engine
| Tính năng | Khả dụng trên | Cần biết |
|---|---|---|
| Nâng cấp phiên bản database | MariaDB | Chỉ một đường nâng cấp duy nhất, MariaDB lên MariaDB 10.9. Engine khác không hiển thị nút nâng cấp. Nâng cấp không thể rollback. Với mọi engine còn lại, chuyển giữa các major version là quá trình di chuyển dữ liệu thủ công theo chính sách phiên bản. |
| Database proxy | MySQL, PostgreSQL, MariaDB | Chỉ trên database High Availability. Tab DB Proxy không hiện nếu thiếu một trong hai điều kiện. |
| Kafka user và ACL | Kafka | Xác thực SASL cho producer, consumer và Kafka Connect. |
| Point-in-time recovery | PostgreSQL, MySQL, MariaDB | Bảo vệ chỉ bắt đầu sau khi bản full backup kế tiếp hoàn tất, không phải từ lúc bạn bật. |
| Differential backup job, trong Cấu hình lịch backup | PostgreSQL, MySQL, MariaDB, SQL Server | Chỉ engine quan hệ. Full backup job không bị giới hạn như vậy. |
| Đẩy dữ liệu backup lên S3 | PostgreSQL, MySQL, MariaDB, SQL Server, Redis, MongoDB, TimescaleDB | |
| High Availability, trong Tạo database | Mọi engine trừ Cassandra | Cassandra đặt số node qua Number Of Nodes. Với ClickHouse, đọc lưu ý về replication bên dưới trước khi dựa vào tính năng này. |
Trường cấu hình chỉ hiện với một số engine
Form tạo database đổi theo engine bạn chọn, nên một trường được mô tả trong hướng dẫn có thể không xuất hiện với bạn.
| Trường | Hiện với |
|---|---|
| Edition, gồm Enterprise, Standard hoặc Web | Chỉ SQL Server |
| Database Name | Mọi engine trừ Redis và Kafka |
| VHost Name | Chỉ RabbitMQ |
| Number Of Nodes | Chỉ Cassandra |
| High Availability | Mọi engine trừ Cassandra |
Hành vi khác nhau theo engine
Đây là những trường hợp cùng một tính năng nhưng chạy khác nhau tùy engine. Mỗi trường hợp đều từng gây bất ngờ đáng để tính trước.
| Engine | Khác biệt |
|---|---|
| PostgreSQL, OpenSearch, ClickHouse | Thay đổi vCPU hoặc RAM chỉ có hiệu lực sau khi bạn tự khởi động lại database. Trước đó database vẫn chạy cấu hình cũ và hiện biểu tượng cảnh báo trong danh sách. Áp dụng cho cả thay đổi tài nguyên và auto scaling. |
| Database PostgreSQL HA tạo trước ngày 13/03/2026 | Bật PITR sẽ tự động khởi động lại database và gián đoạn dịch vụ trong thời gian ngắn. Hãy bật ngoài giờ cao điểm. |
| Kafka | Chạy backup có thể gián đoạn dịch vụ, nên đặt lịch backup Kafka vào khung giờ tải thấp. Tạo hoặc cập nhật user với SASL/PLAIN sẽ khởi động lại database. |
| ClickHouse có High Availability | Replica được tạo theo từng shard, nhưng một bảng chỉ replicate nếu bạn tạo nó bằng engine replicated thuộc họ MergeTree. Bảng MergeTree thường sẽ nằm lại trên node đã nhận ghi. Xem FAQ ClickHouse - High Availability. |
| Cassandra | Không có tùy chọn High Availability. Định cỡ cluster bằng Number Of Nodes khi khởi tạo. |
Bật High Availability trên ClickHouse là chưa đủ. Hãy kiểm tra table engine của mọi bảng bạn phụ thuộc, vì bảng MergeTree không replicate sẽ mất dữ liệu nếu node chứa nó gặp sự cố.
Tính năng hoạt động giống nhau trên mọi engine
Cấu hình như nhau bất kể engine, ngoại trừ các khác biệt theo engine ở trên:
- Tạo database, xem danh sách database và xem chi tiết database
- Dừng, khởi động & khởi động lại database
- Quản lý dịch vụ Backup và full backup job
- Restore từ backup, hoạt động trên mọi engine được hỗ trợ
- Thay đổi cấu hình tài nguyên database và tham số database
- Thay đổi maintenance window, nơi thông báo chỉ gửi qua email
- Giám sát database với FMON, action log và báo cáo
Bước tiếp theo
- Phiên bản Database Engine để biết engine của bạn có những phiên bản nào và khi nào hết hỗ trợ
- Giới thiệu sản phẩm để xem danh sách engine và phạm vi trách nhiệm
- Tạo database đầu tiên để khởi tạo database đầu tiên
- Tạo database để xem đầy đủ các trường trong form