mongodump
tạo một bản xuất dữ liệu nhị phân từ cơ sở dữ liệu MongoDB (ở định dạng BSON). Chỉ mục định nghĩa được sao lưu trong <dbname>.metadata.json
các tệp, vì vậy mongorestore
có thể tạo lại dữ liệu và chỉ mục gốc.
Có hai lý do chính khiến các chỉ mục thực tế không thể được sao lưu bằng mongodump
:
-
Các chỉ mục trỏ đến các vị trí trong tệp dữ liệu. Tệp dữ liệu không tồn tại nếu bạn chỉ xuất tài liệu trong tệp dữ liệu (thay vì lấy bản sao tệp đầy đủ của tệp dữ liệu).
-
Định dạng của các chỉ mục trên đĩa là dành riêng cho bộ máy lưu trữ, trong khi
mongodump
nhằm độc lập với bộ máy lưu trữ.
Nếu bạn muốn sao lưu toàn bộ dữ liệu và chỉ mục, bạn cần sao lưu bằng cách sao chép các tệp dữ liệu cơ bản
(thường bằng cách sử dụng hệ thống tệp hoặc ảnh chụp nhanh EBS). Đây là một tùy chọn phổ biến hơn cho các triển khai lớn hơn, như mongodump
yêu cầu đọc tất cả dữ liệu vào mongod
quy trình (sẽ loại bỏ một số nhóm làm việc của bạn nếu cơ sở dữ liệu của bạn lớn hơn bộ nhớ).