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

Tính năng và kiến trúc

FPT MongoDB Enterprise chạy trên hạ tầng cloud-native của FPT Cloud, với các thành phần vận hành và bảo vệ được tích hợp sẵn thay vì gắn thêm sau. Trang này nêu dịch vụ làm được gì, và quyết định kiến trúc duy nhất mà bạn không đổi được về sau.

Tổng hợp khả năng​

Khả năng chia thành tám nhóm. Một số luôn sẵn sàng; số khác phải bật lên mới bảo vệ hay báo cáo được gì. Cột cuối là cột cần đọc nếu bạn đang lên kế hoạch triển khai production.

NhómBạn nhận được gìBật sẵn?
Quản lý & vận hành databaseConsole tập trung để provisioning, cấu hình và vận hành cluster. Tự động hóa vòng đời gồm provisioning, scaling tài nguyên, cấu hình parameter và quản lý dịch vụ.Có
High Availability & khả năng mở rộngKiến trúc Standalone, Replica Set và Sharded Cluster. Failover tự động trên Replica Set và trong từng shard. Mở rộng ngang qua nhiều shard.Kiến trúc được chọn lúc provisioning
Backup & recoveryBackup tự động theo lịch và point-in-time recovery.Backup và PITR bật sẵn lúc tạo, nhưng dữ liệu chưa được bảo vệ cho đến khi có backup job và job đó đã chạy
Monitoring & alertMetric real-time (CPU, memory, IOPS, connection) qua FPT Monitoring, kèm dashboard Grafana và tra cứu log.Không — cần liên hệ FPT Support để bật
Bảo mật & tuân thủMã hóa khi lưu trữ và khi truyền, RBAC, tích hợp VPC, kiểm soát truy cập theo IP.Có
Tối ưu hiệu năngCấu hình engine, chiến lược index, tối ưu truy vấn.Bạn tự áp dụng
Logging & auditLog tập trung và dấu vết audit phục vụ xử lý sự cố và tuân thủ.Có
Dịch vụ được quản lý & hỗ trợFPT Cloud vận hành 24/7, xử lý sự cố theo SLA.Có

Hai thứ cần bạn ra tay​

Phần lớn danh sách trên hoạt động ngay khi cluster chạy. Hai thứ thì không, và mỗi thứ đều từng khiến người dùng mắc lỗi:

  • Backup. Backup service bật khi bạn tạo cluster, nhưng điều đó chỉ có nghĩa là dịch vụ sẵn sàng. Chưa có restore point nào cho đến khi một backup job được cấu hình và chạy xong ít nhất một lần. Xem Tổng quan Backup & Restore.
  • Monitoring. Không tự phục vụ. Tab Monitor sẽ nhắc bạn liên hệ FPT Support để bật thu thập dữ liệu cho cluster. Xem Monitor & alert.

Chọn kiến trúc​

Đây là quyết định quan trọng nhất, vì nó cố định ngay lúc provisioning. Nó quyết định cluster có sống sót khi mất một node hay không, và có mở rộng vượt sức chứa của một máy đơn lẻ được hay không.

StandaloneReplica SetSharded Cluster
Cấu trúcMột database instance, không replicationMột Primary và nhiều Secondary nodeNhiều shard, mỗi shard là một replica set 3 node, đứng sau mongos router và config server 3 node
Failover tự độngKhôngCóCó, trong từng shard
Replication dữ liệuKhôngCóCó, trong từng shard
Cách tăng dung lượngChỉ nâng node lớn hơnNâng node lớn hơn, hoặc thêm nodeNâng node lớn hơn, thêm mongos router, hoặc thêm shard
Giảm gián đoạn khi nâng cấp phiên bảnKhôngCóCó
Tốc độ triển khaiNhanh nhấtChậm hơnChậm nhất
Quy mô nhỏ nhất1 node3 node11 node
Khuyến nghị choPhát triển, kiểm thử, staging, workload nhỏProduction và mọi hệ thống cần chịu lỗiKhối dữ liệu hoặc lượng ghi vượt sức một replica set

Standalone triển khai nhanh, rẻ hơn và đơn giản hơn khi quản lý. Đánh đổi là triệt để: không có failover, và nếu node không khả dụng thì dịch vụ dừng.

Replica Set replicate dữ liệu qua nhiều node và tự động thăng cấp một Secondary khi Primary hỏng, giữ cho dịch vụ chạy tiếp qua sự cố node. Mọi node vẫn giữ trọn bộ dữ liệu, nên trần mở rộng chính là node lớn nhất bạn mua được.

Sharded Cluster phá trần đó. Dữ liệu được chia theo shard key, mỗi shard chỉ giữ phần của mình, nên dung lượng và throughput ghi tăng theo số shard thay vì theo kích thước node. Cái giá là số lượng node và độ phức tạp vận hành — cluster nhỏ nhất console dựng được là 11 node, và hiệu năng truy vấn giờ phụ thuộc vào việc chọn shard key sao cho tải trải đều.

Sharded Cluster gồm những gì​

Ba vai trò node, mỗi vai trò được cấu hình riêng lúc provisioning:

Vai tròNhiệm vụSố node
MongosQuery router. Client kết nối vào đây chứ không vào thẳng shard. Mongos đọc metadata của cluster rồi chuyển từng thao tác tới đúng shard đang giữ dữ liệu. Không lưu trạng thái nên không giữ dữ liệu riêng.2 đến 32, bạn chọn
ShardGiữ một phần dữ liệu. Mỗi shard triển khai dưới dạng replica set 3 node, nên bản thân shard chịu được mất một node.2 đến 32 shard, bạn chọn — tức 6 đến 96 data node
ConfigServerLưu metadata của cluster: chunk nào trong dải shard key nằm trên shard nào. Triển khai dưới dạng replica set.Cố định 3

Vậy một cluster 2 shard gồm 2 mongos + (2 × 3) node shard + 3 config server = 11 node.

Số shard không bị khoá từ lúc tạo — bạn tăng được về sau ngay ở tab Overview của cluster, cùng với số mongos router. Config server thì vẫn giữ 3 trong mọi trường hợp. Xem Scale out database cluster.

ghi chú

Dù vậy, thêm shard vẫn là thao tác cần lên kế hoạch chứ không phải bật một công tắc: MongoDB phân phối lại dữ liệu sang bộ shard mới, và hiệu năng tụt trong lúc chạy. Ước lượng sẵn theo lượng dữ liệu bạn dự kiến sẽ đỡ được một lần rebalance.

cảnh báo

Architecture Type được đặt khi tạo cluster và không thể thay đổi sau đó. Chuyển giữa Standalone, Replica Set và Sharded Cluster nghĩa là provisioning cluster mới và migrate dữ liệu. Chọn Replica Set nếu workload có khả năng trở thành production, và chỉ chọn Sharded Cluster khi đã chắc một replica set không chứa nổi dữ liệu.

Thành phần nền tảng​

Quanh bản thân database, dịch vụ tích hợp các thành phần tập trung bao phủ toàn bộ vòng đời cluster:

  • Monitoring — metric và log, hiển thị qua FPT Monitoring và Grafana
  • Logging — thu thập tập trung phục vụ xử lý sự cố và audit
  • Backup và restore — backup theo lịch cùng point-in-time recovery
  • Alert tự động — gửi qua email và Telegram khi có sự kiện backup, tài nguyên, scaling và maintenance

Scaling tài nguyên chạy online: vCPU, RAM và storage điều chỉnh được mà không phải dừng cluster, trong phạm vi quota của VPC.

Cô lập và bảo mật​

Kiến trúc áp dụng cô lập nhiều lớp, kết hợp với:

  • Cô lập mạng bằng cách đặt trong VPC, nên cluster nằm trong ranh giới mạng của chính bạn
  • Mã hóa dữ liệu khi lưu trữ và khi truyền
  • Kiểm soát truy cập qua IAM role và Security Group

Kết hợp lại, dữ liệu được bảo vệ cả ở nơi lưu trữ lẫn khi di chuyển.

Bước tiếp theo​