Chuyển tới nội dung chính

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.

ghi chú

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 NodeHigh Availability (HA / Cluster)
Số nodeMột database instance, không có standbyMột primary cộng một hoặc nhiều node standby hoặc replica
Vị trí đặtMột nodeCùng hoặc khác Availability Zone
FailoverKhô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ố
DowntimeXảy ra khi node lỗi và khi bảo trìGiảm thiểu nhờ failover
Phù hợp vớiMô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ấpHệ 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 khaiEndpoint trỏ tới
Single NodeDatabase instance
High availabilityDB 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ậpNghĩa là gìDùng cho
Private accessDatabase 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 accessDatabase cung cấp public endpoint truy cập được từ Internet, kèm các biện pháp bảo mật bổ sungHệ 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.

cảnh báo

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ăngKhả dụng trênCần biết
Nâng cấp phiên bản databaseMariaDBChỉ 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 proxyMySQL, PostgreSQL, MariaDBChỉ 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à ACLKafkaXác thực SASL cho producer, consumer và Kafka Connect.
Point-in-time recoveryPostgreSQL, MySQL, MariaDBBả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 backupPostgreSQL, MySQL, MariaDB, SQL ServerChỉ engine quan hệ. Full backup job không bị giới hạn như vậy.
Đẩy dữ liệu backup lên S3PostgreSQL, MySQL, MariaDB, SQL Server, Redis, MongoDB, TimescaleDB
High Availability, trong Tạo databaseMọi engine trừ CassandraCassandra đặ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ườngHiện với
Edition, gồm Enterprise, Standard hoặc WebChỉ SQL Server
Database NameMọi engine trừ Redis và Kafka
VHost NameChỉ RabbitMQ
Number Of NodesChỉ Cassandra
High AvailabilityMọ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.

EngineKhác biệt
PostgreSQL, OpenSearch, ClickHouseThay đổ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ênauto scaling.
Database PostgreSQL HA tạo trước ngày 13/03/2026Bậ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.
KafkaChạ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 AvailabilityReplica đượ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.
CassandraKhông có tùy chọn High Availability. Định cỡ cluster bằng Number Of Nodes khi khởi tạo.
cảnh bá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:

Bước tiếp theo