Hướng dẫn where are mongodb atlas backups stored? - Các bản sao lưu tập bản đồ mongodb được lưu trữ ở đâu?

MongoDB cho phép người dùng sao lưu và khôi phục cơ sở dữ liệu của họ. Một cơ sở dữ liệu có thể được sao lưu và khôi phục bằng cách sử dụng sao lưu MongoDB và khôi phục các tiện ích hoặc nền tảng cơ sở dữ liệu đám mây MongoDB Atlas.

Hướng dẫn này sẽ bao gồm như sau:

  • Sao lưu và khôi phục với các công cụ MongoDB
  • Sao lưu và khôi phục bằng Atlas MongoDB
  • Thực tiễn tốt nhất để sao lưu và khôi phục
  • Sự khác biệt giữa bản sao lưu logic và thể chất trong MongoDB
  • Một ví dụ về cách sao lưu và khôi phục bằng cả hai công cụ MongoDB và Atlas MongoDB

Công cụ Sao lưu và Khôi phục MongoDB cho phép bạn gói gọn trạng thái của cụm và quay trở lại trạng thái đó bất cứ lúc nào. Điều này giúp bảo vệ bạn khỏi mất dữ liệu, vì bạn có thể khôi phục cơ sở dữ liệu về thể hiện MongoDB bằng cách sử dụng bản sao được tạo của trường hợp đó.

Các bản sao lưu được tạo bằng các công cụ sao lưu và khôi phục mong muốn đơn giản là các bản sao lưu logic và chúng sử dụng kiểu dữ liệu BSON. MongoDB Atlas có thể làm việc với cả bản sao lưu logic và vật lý.BSON data type. MongoDB Atlas can work with both logical and physical backups.

MongoDB Atlas Sao lưu và Khôi phục

MongoDB Atlas cho phép người dùng tạo bản sao lưu bằng hệ thống sao lưu đám mây. Các bản sao lưu đám mây MongoDB được tạo bằng chức năng chụp nhanh gốc của nhà cung cấp dịch vụ đám mây cụm.

MongoDB Atlas hỗ trợ các bản sao lưu đám mây cho các cụm được phục vụ trên các nền tảng lưu trữ sau:

  • Nền tảng đám mây Google (GCP)
  • Amazon Web Services (AWS)
  • Microsoft Azure

Hàm khôi phục trong Atlas MongoDB cho phép người dùng khôi phục lại một tập hợp bản sao hoặc cụm được phân chia, miễn là đích sử dụng cùng một nhà cung cấp mã hóa như cụm nguồn gốc ảnh chụp. Cụm đích cũng phải được sử dụng cùng một phiên bản MongoDB hoặc phiên bản mới hơn so với Cụm ảnh chụp. Sao lưu di sản được hỗ trợ nhưng không dùng nữa.

Tính năng sao lưu Atlas MongoDB tăng dần dữ liệu trong một cụm được chỉ định và bạn có thể khôi phục từ các ảnh chụp nhanh này hoặc từ bất kỳ thời điểm nào trong vòng 24 giờ qua. Các chức năng Sao lưu đám mây và Khôi phục đám mây vẫn là phương thức ưa thích để quản lý bản sao lưu.

MongoDB sao lưu và khôi phục các thực tiễn tốt nhất

Có một số thực tiễn tốt nhất bạn nên làm theo khi sử dụng các dịch vụ sao lưu và khôi phục MongoDB cho các cụm MongoDB của bạn.

  1. MongoDB sử dụng cả định dạng tệp JSON và nhị phân (BSON) thông thường. Nó tốt hơn để sử dụng BSON khi sao lưu và khôi phục. Mặc dù JSON rất dễ làm việc, nhưng nó không hỗ trợ tất cả các loại dữ liệu mà BSON hỗ trợ và nó có thể dẫn đến việc mất độ trung thực.

  2. Bạn không cần phải tạo rõ ràng cơ sở dữ liệu MongoDB, vì nó sẽ được tự động tạo khi bạn chỉ định cơ sở dữ liệu để nhập từ. Tương tự, một cấu trúc cho một bộ sưu tập sẽ được tạo bất cứ khi nào tài liệu đầu tiên được chèn vào cơ sở dữ liệu.

  3. Khi tạo một cụm mới, bạn có tùy chọn để bật bản sao lưu đám mây. Mặc dù bạn cũng có thể bật các bản sao lưu đám mây khi sửa đổi một cụm hiện có, bạn nên bật tính năng này theo mặc định, vì nó sẽ ngăn ngừa mất dữ liệu.

  4. Nếu ảnh chụp nhanh không thành công, Atlas sẽ tự động cố gắng tạo một ảnh chụp nhanh khác. Mặc dù bạn có thể sử dụng ảnh chụp nhanh để khôi phục một cụm, nhưng nó chỉ nên được thực hiện khi thực sự cần thiết. Ảnh chụp nhanh được tạo bằng cách sử dụng một quy trình khác và chúng có thể có dữ liệu không nhất quán.

  5. Sử dụng các máy chủ thứ cấp cho các bản sao lưu vì điều này giúp tránh làm giảm hiệu suất của nút chính.

  6. Thời gian sao lưu dữ liệu đặt xung quanh các khoảng thời gian băng thông/lưu lượng thấp. Các bản sao lưu có thể mất nhiều thời gian, đặc biệt nếu các bộ dữ liệu khá lớn.

  7. Sử dụng chuỗi kết nối đặt bản sao khi sử dụng các tập lệnh không được giám sát. Một chuỗi kết nối độc lập sẽ thất bại nếu máy chủ MongoDB chứng minh không có sẵn.

Loại sao lưu

Có hai loại bản sao lưu trong MongoDB: sao lưu logic và bản sao lưu vật lý.logical backups and physical backups.


Sao lưu logic

Sao lưu logic dữ liệu kết xuất từ ​​cơ sở dữ liệu vào các tệp sao lưu, được định dạng thành tệp BSON. Trong quá trình sao lưu logic, API máy khách được sử dụng để lấy dữ liệu từ máy chủ. Dữ liệu được mã hóa, tuần tự hóa và được viết là một tệp. Nếu bạn đã kích hoạt mã hóa cấp trường, việc sao lưu dữ liệu sẽ đảm bảo rằng trường vẫn được mã hóa.

MongoDB cung cấp hai tiện ích để quản lý các bản sao lưu logic: MongoDump và MongoRestore.

Lệnh MongoDump sẽ đưa một bản sao lưu của cơ sở dữ liệu vào định dạng.

Lệnh MongoRestore được sử dụng để khôi phục các tệp kết xuất được tạo bởi MongoDump. Tạo chỉ mục xảy ra sau khi dữ liệu được khôi phục.

Sao lưu logic sao chép dữ liệu. Họ không sao chép bất kỳ tệp vật lý nào liên quan đến dữ liệu (như tệp điều khiển, tệp nhật ký, thực thi, v.v.). Chúng thường được sử dụng để lưu trữ cơ sở dữ liệu, xác minh cấu trúc cơ sở dữ liệu và di chuyển cơ sở dữ liệu trên các môi trường và hệ điều hành khác nhau.

Nếu bạn có một máy chủ chứa một bộ sưu tập bạn cần trong một máy chủ khác, bạn có thể sử dụng sao lưu logic MongoDB để di chuyển bộ sưu tập từ máy chủ gốc sang máy chủ đích.

Sao lưu vật lý

Các bản sao lưu vật lý là ảnh chụp nhanh của các tệp dữ liệu trong MongoDB tại một thời điểm nhất định. Các ảnh chụp nhanh có thể được sử dụng để khôi phục rõ ràng cơ sở dữ liệu, vì chúng bao gồm tất cả các dữ liệu được tìm thấy khi ảnh chụp nhanh được tạo. Các bản sao lưu vật lý là rất quan trọng khi cố gắng sao lưu cơ sở dữ liệu lớn một cách nhanh chóng.

Hiện tại không có giải pháp nào được cung cấp, vượt trội để tạo bản sao lưu vật lý với MongoDB. Mặc dù bạn có thể tạo các bản sao lưu vật lý với ảnh chụp nhanh LVM hoặc chặn ảnh chụp nhanh âm lượng lưu trữ, nhưng nó dễ dàng sử dụng Atlas MongoDB dễ dàng hơn. Khi sử dụng MongoDB Atlas, bạn có thể sử dụng bất kỳ ảnh chụp nhanh nào được tạo bởi nhà cung cấp dịch vụ đám mây của bạn. Ngoài ra, các bản sao lưu đám mây có thể được thực hiện bằng cách sử dụng Trình quản lý đám mây MongoDB hoặc Trình quản lý OPS.

Các bản sao lưu vật lý tạo các bản sao của tất cả các tệp vật lý thuộc về cơ sở dữ liệu, chẳng hạn như các tệp dữ liệu, tệp điều khiển và tệp nhật ký. Các tệp cơ sở dữ liệu được lưu vào một loại phương tiện lưu trữ và sau đó chúng có thể được sử dụng để khôi phục hệ thống cơ sở dữ liệu nếu có thiệt hại cho hệ thống. Bạn có thể sử dụng ảnh chụp nhanh dự phòng vật lý cùng với MongoDB Atlas để khôi phục cơ sở dữ liệu bị mất hoặc bị hỏng.

MongoDB Atlas có thể được sử dụng để khôi phục cả bản sao lưu logic và vật lý.

Cách sao lưu và khôi phục cơ sở dữ liệu MongoDB

Bây giờ, chúng tôi sẽ xem xét cách tạo cơ sở dữ liệu sao lưu MongoDB và khôi phục cơ sở dữ liệu đó. Chúng tôi sẽ làm điều này với cả MongoDB Atlas và với các tiện ích MongoDump và MongoRestore.


Sử dụng Atlas MongoDB

Khi sử dụng MongoDB Atlas, các ảnh chụp nhanh được tạo bởi nhà cung cấp dịch vụ đám mây của bạn, vì vậy hãy chắc chắn tham khảo tài liệu tương ứng để định cấu hình ảnh chụp nhanh của bạn. Sau khi chụp nhanh đã được thực hiện, bạn có thể sử dụng tùy chọn khôi phục đám mây trong Atlas MongoDB.

Sau khi đảm bảo rằng cụm Atlas của sự lựa chọn có thể nhận được yêu cầu của khách hàng hoặc chọn khôi phục lại một cụm Atlas mới, chỉ cần điều hướng đến chế độ xem của các cụm trên các cụm trên Atlas. Sau đó, chọn bản sao lưu, bạn chọn một ảnh chụp nhanh để khôi phục và sau đó làm theo lời nhắc để khôi phục cụm của bạn.

Hướng dẫn where are mongodb atlas backups stored? - Các bản sao lưu tập bản đồ mongodb được lưu trữ ở đâu?

Bây giờ, hãy để Lôi nhìn vào cách sao lưu và khôi phục bằng các tiện ích MongoDB.

Sử dụng các công cụ sao lưu và khôi phục MongoDB

Giả sử rằng chúng ta có một máy MongoDB từ xa đang chạy và muốn tạo một ảnh chụp nhanh cơ sở dữ liệu đó trên máy cục bộ, điều này có thể được thực hiện bằng cách sử dụng lệnh mongodump trên nút chính. Chúng tôi chỉ cần chỉ ra số máy chủ và số cổng (mặc định là cổng 27017) cho máy chủ từ xa và cung cấp một số tham số đối số như tên của cơ sở dữ liệu, tên người dùng và mật khẩu của chúng tôi. Cuối cùng, chúng tôi chỉ ra thư mục kết xuất mà chúng tôi muốn tạo ảnh chụp nhanh.

mongodump -h sample.mongodbhost.com:27017 -d DATABASE_NAME -u USER_NAME -p SAMPLE_PASSWORD -o ~/Desktop

Một trong những thực tiễn tốt nhất để sao lưu cơ sở dữ liệu lớn là tách chúng lên. Bạn có thể chuyển một truy vấn vào MongoDump bằng tham số --query để bạn, trong trường hợp thất bại, có thể sử dụng một số loại trường dấu thời gian/đặt hàng trong bộ sưu tập của bạn để tiếp tục quá trình sao lưu.

Để khôi phục cơ sở dữ liệu bằng ảnh chụp nhanh, chúng ta chỉ cần sử dụng lệnh Mongoorestore. Nó khôi phục dữ liệu bằng cách kết nối trực tiếp với mongod đang chạy. Bạn có thể giới hạn đầu ra từ cơ sở dữ liệu bằng cách chạy khôi phục ở chế độ yên tĩnh bằng tùy chọn --quiet. Một lần nữa, chúng tôi cung cấp máy chủ và cổng MongoDB, cùng với tên người dùng, tên cơ sở dữ liệu và mật khẩu. Cuối cùng, chúng tôi cung cấp thư mục đầu ra.

mongorestore --host sample.mongohost.com --port 27017 --username USER_NAME --password SAMPLE_PASSWORD --db DATABASE_NAME .

Làm cách nào để khôi phục bản sao lưu Atlas của tôi tại địa phương?

Nhấp vào cơ sở dữ liệu ở góc trên cùng bên trái của Atlas UI.Từ chế độ xem triển khai cơ sở dữ liệu, nhấp vào phiên bản không có máy chủ của bạn.Nhấp vào tab Sao lưu.Chọn ảnh chụp nhanh không có máy chủ để khôi phục.

Làm cách nào để truy vấn sao lưu trong Atlas MongoDB?

Để bắt đầu, bạn có thể đăng nhập vào bảng điều khiển Atlas MongoDB và biểu tượng "Sao lưu" ở phía bên trái màn hình của bạn.Khi bạn đã đạt được phần sao lưu, bạn sẽ tìm thấy menu thả xuống Ellipsis ("...") với một số tùy chọn - chọn tùy chọn "Truy vấn".

Atlas cơ sở dữ liệu MongoDB ở đâu?

Từ tab Bộ sưu tập, bạn có thể xem cơ sở dữ liệu và bộ sưu tập trong triển khai., you can view the databases and collections in the deployment.

Làm thế nào để tôi mở một bức ảnh chụp nhanh Atlas MongoDB tại địa phương?

Tải xuống bản sao lưu từ bảng điều khiển Atlas của bạn và trích xuất nó.Thay thế Cluster0 ... bằng thư mục trích xuất của bạn.Bây giờ bạn có thể kết nối với dữ liệu chụp nhanh bằng máy khách Mongo như Compass MongoDB bằng kết nối mặc định (LocalHost: 27017).