MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để khôi phục từ một lần khôi phục MongoDB?

Nếu bạn đang chạy bộ bản sao MongoDB trong môi trường đám mây công cộng trong bất kỳ khoảng thời gian hợp lý nào thì khả năng là bạn đã trải qua một sự 'quay lui'. Nghe có vẻ khó khăn nhưng có các bước đơn giản để khôi phục dữ liệu của bạn trong trường hợp hệ thống của bạn gặp sự cố khôi phục.

Khi nào thì quá trình khôi phục xảy ra?

Việc khôi phục trong tập hợp bản sao MongoDB có thể xảy ra theo trình tự các bước sau đây
1. Một MongoDB chính chấp nhận các ghi chưa được sao chép sang các thư thứ hai khác và sau đó bị lỗi
2. Một máy chủ khác trở thành chính và chấp nhận các ghi khác
3. Khi trang chính trước đó sao lưu trở lại và đồng bộ hóa lại trạng thái của nó với phần lớn

Tôi có thể ngăn quá trình khôi phục xảy ra ngay từ đầu không?

Chắc chắn. Nhưng như mọi khi, nó đi kèm với một cái giá. Bạn có thể đặt mối quan tâm khi viết của mình thành "MAJORITY". Điều này sẽ yêu cầu tất cả các lần ghi của bạn được cam kết với phần lớn các nút trong tập hợp bản sao trước khi MongoDB có thể xác nhận thành công. Tuy nhiên, điều này sẽ có tác động đáng kể đến tốc độ ghi của bạn. Vì vậy, trong thế giới thực, số dư tốt có thể là chỉ sử dụng mối quan tâm ghi ‘MAJORITY’ để ghi dữ liệu giao dịch quan trọng

Làm cách nào để khôi phục dữ liệu từ quá trình khôi phục?

Dưới đây là bốn bước đơn giản để khôi phục dữ liệu của bạn trong trường hợp khôi phục

1. Tìm tệp khôi phục
Khi quá trình khôi phục xảy ra, các tệp bson của dữ liệu khôi phục được đặt trong thư mục ‘quay lại’ của đường dẫn dữ liệu MongoDB của bạn. Các tệp trông giống như là

<dbname>.<collectioname>.2016-02-08T19-34-44.0.bson

2. Tải dữ liệu từ rollback vào một cơ sở dữ liệu hoặc máy chủ riêng biệt
Sở thích của tôi là sao chép các tệp rollback sang một máy chủ mới và sử dụng mongorestore để tải chúng vào máy chủ. Đây là cú pháp bạn có thể sử dụng

mongorestore -u <> -p <> -h 127.0.0.1 -d <rollbackrestoretestdb> -c <rollbackrestoretestc> <path to the .bson file> --authenticationDatabase=<database of user>

3. Sàng lọc dữ liệu &làm sạch dữ liệu không cần thiết
Tại thời điểm này, với tư cách là quản trị viên cơ sở dữ liệu, bạn sẽ phải toàn quyền quyết định dữ liệu nào từ bản khôi phục mà bạn muốn giữ lại và dữ liệu nào không còn ý nghĩa nữa. Trong hầu hết các trường hợp, không chắc bạn có thể nhập tất cả dữ liệu. Đây có lẽ là bước khó nhất trong quá trình khôi phục khôi phục.

4. Nhập dữ liệu vào chính của cụm
Sử dụng công cụ mongodump và mongorestore để tải xuống dữ liệu đã được làm sạch và nhập lại chúng vào cụm sản xuất ban đầu của bạn.

Để biết thêm thông tin về các hoạt động khôi phục, vui lòng tham khảo tài liệu chính thức của MongoDB


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để liệt kê tất cả các bộ sưu tập trong MongoDB shell?

  2. Tại sao MongoDB không sử dụng giao điểm chỉ mục?

  3. Mô hình tốt nhất để biểu diễn nhiều mối quan hệ với các thuộc tính trong MongoDB

  4. Làm cách nào để xác định các phương thức trong mô hình Mongoose?

  5. Cách chỉ trả về các tài liệu lồng nhau của một mảng từ tất cả các tài liệu