Bản sao lưu mongodb sẽ được giữ lại trong bao nhiêu ngày?

MongoDB là một chương trình cơ sở dữ liệu định hướng tài liệu đa nền tảng nguồn có sẵn để lưu trữ khối lượng lớn. Được phân loại là chương trình cơ sở dữ liệu NoSQL, MongoDB sử dụng các tài liệu giống như JSON với các lược đồ tùy chọn


Cơ sở dữ liệu được quản lý của DigitalOcean tự động xử lý khôi phục từ các lỗi phần cứng và phần mềm bằng cách thay thế các nút xuống cấp bằng các nút mới tiếp tục trực tiếp từ điểm lỗi. Để khôi phục từ các tình huống như quản trị viên cơ sở dữ liệu hoặc ứng dụng vô tình phá hủy dữ liệu, bạn có thể khôi phục thủ công cụm cơ sở dữ liệu MongoDB từ các bản sao lưu

Sao lưu cụm MongoDB được tạo tự động một lần mỗi ngày và được giữ lại trong 7 ngày. Các bản sao lưu không dẫn đến thời gian ngừng hoạt động hoặc suy giảm hiệu suất và thời gian trong ngày mà các bản sao lưu chạy được DigitalOcean tự động đặt và không thể thay đổi

Khôi phục cụm MongoDB từ bản sao lưu

Để khôi phục từ bản sao lưu, từ trang Cơ sở dữ liệu, nhấp vào tên cơ sở dữ liệu MongoDB mà bạn muốn khôi phục để chuyển đến trang Tổng quan, sau đó nhấp vào nút Hành động và chọn Khôi phục từ bản sao lưu từ menu

Bản sao lưu mongodb sẽ được giữ lại trong bao nhiêu ngày?

Nếu bạn không thể chọn Khôi phục từ bản sao lưu, điều đó có nghĩa là bạn đã đạt đến giới hạn cụm cơ sở dữ liệu cho tài khoản hoặc nhóm hoặc cụm của bạn mới và chưa có bản sao lưu. Bạn có thể xóa một cụm hoặc liên hệ với nhóm hỗ trợ của chúng tôi để tăng giới hạn

Trong cửa sổ Khôi phục từ bản sao lưu mở ra, hãy chọn một trong các bản sao lưu có sẵn từ trường Chọn bản sao lưu, sau đó chọn tên cho cơ sở dữ liệu mới. Theo mặc định, tên là tên của cơ sở dữ liệu ban đầu được thêm vào ngày sao lưu và từ "sao lưu", chẳng hạn như originalname-aug-13-backup

Khi bạn đã sẵn sàng, hãy nhấp vào Khôi phục thành cụm mới để bắt đầu khôi phục. Thời gian cần thiết để tạo cụm mới phụ thuộc vào lượng dữ liệu trong cụm ban đầu

Phá hủy một cụm cơ sở dữ liệu sẽ phá hủy các bản sao lưu của cơ sở dữ liệu đó. Đảm bảo bạn đã tải xuống mọi dữ liệu quan trọng trước khi hủy

Sao lưu cơ sở dữ liệu cũng quan trọng như chính cơ sở dữ liệu, đặc biệt là khi đảm bảo tính liên tục của doanh nghiệp sau một trục trặc kỹ thuật có thể phá hủy hoàn toàn cơ sở dữ liệu. Thông thường, bản sao lưu chỉ là bản sao nội dung của cơ sở dữ liệu tại thời điểm nhất định có thể được sử dụng để khôi phục cơ sở dữ liệu về trạng thái hoạt động của nó

Với một chiến lược sao lưu phù hợp, người ta có thể yên tâm rằng trong trường hợp xảy ra thảm họa, dữ liệu luôn sẵn sàng để khôi phục hoạt động kinh doanh. Nó có thể là một yêu cầu tuân thủ và quy định của chính phủ trong việc thực hiện một cách tiếp cận chủ động đối với việc bảo vệ dữ liệu

Sao lưu thường xuyên có thể được sử dụng để thiết lập môi trường phát triển và dàn dựng mới mà không ảnh hưởng không cần thiết đến thiết lập sản xuất, do đó cho phép phát triển nhanh và khởi chạy sản phẩm suôn sẻ.  

Chiến lược sao lưu được chọn phải đáp ứng một số cân nhắc sao lưu có thể bao gồm

  • Tính linh hoạt. bạn có thể chọn những gì hữu ích hay bạn có thể sao lưu dữ liệu chỉ thay đổi.
  • Mục tiêu điểm phục hồi (RPO). Điều này xác định lượng dữ liệu bạn muốn khôi phục và lượng dữ liệu bạn sẵn sàng mất trong quá trình khôi phục.
  • Mục tiêu thời gian phục hồi (RTO). Điều này xác định bạn muốn quá trình khôi phục được thực hiện nhanh như thế nào. Nếu dữ liệu nhiều thì thời gian sẽ lâu hơn và ngược lại
  • Bản sao lưu nên được viết trên phương tiện nào
  • Tần suất sao lưu sẽ được thực hiện như thế nào và quy trình sẽ hiệu quả như thế nào để không tạo ra thời gian ngừng hoạt động lớn cho các ứng dụng được kết nối
  • Các bản sao lưu sẽ được thực hiện thủ công hay tự động thông qua một công cụ đã lên lịch?
  • Chi phí của quá trình sao lưu
  • Các tệp sao lưu sẽ có kích thước lớn như thế nào. Nếu quá lớn, bạn sẽ phải chịu một chi phí lưu trữ khác do đó bạn có thể nén các tệp sao lưu
  • Sự phức tạp của chiến lược sao lưu khi xử lý các phân đoạn trong trường hợp MongoDB
  • Cách ly. làm thế nào các tệp sao lưu có thể bị ảnh hưởng liên quan đến vị trí cơ sở dữ liệu về mặt vật lý và logic. Ví dụ: nếu các bản sao lưu đủ gần cơ sở dữ liệu, khả năng bị hủy cùng lúc cơ sở dữ liệu bị hủy là rất cao.

Chiến lược sao lưu MongoDB

Các chiến lược sao lưu MongoDB khác nhau trong các tình huống khác nhau tùy thuộc vào loại máy chủ, dữ liệu và các ràng buộc ứng dụng. Các chiến lược sao lưu chính cho MongoDB là

  1. Mongodump
  2. Sao chép các tập tin cơ bản
  3. Dịch vụ quản lý MongoDB (MMS)

Bản sao lưu cho MySQL chỉ là . sql nhưng trong trường hợp sao lưu MongoDB, nó sẽ là một cấu trúc thư mục hoàn chỉnh để duy trì triển vọng cơ sở dữ liệu chính xác.

Mongodump

Đây là một công cụ có sẵn trong chính MongoDB cung cấp khả năng sao lưu dữ liệu. Mongodump là một phương pháp sao lưu hợp lý được sử dụng để xuất dữ liệu từ MongoDB thành các tệp sao lưu mà sau này có thể được khôi phục bằng công cụ mongorestore.

Mongodump khá linh hoạt trong việc lựa chọn nội dung cần sao lưu. Người ta có thể sử dụng mongodump để sao lưu toàn bộ cơ sở dữ liệu, các bộ sưu tập đã chọn hoặc kết quả của một truy vấn. Nó chụp các tài liệu đã được chọn làm ảnh chụp nhanh. Ảnh chụp nhanh này có thể được tạo ra một cách nhất quán thông qua việc bán phá giá oplog.

MongoDB cũng cung cấp tiện ích mongorestore có thể được sử dụng để khôi phục dữ liệu một cách dễ dàng vào cơ sở dữ liệu đang hoạt động. Xem xét các tiện ích này, Mongodump giúp sao lưu cơ sở dữ liệu dễ dàng hơn với sự đảm bảo rằng dữ liệu được sao lưu tồn tại mà không có bất kỳ lỗi nào. Hơn nữa, chiến lược linh hoạt ở chỗ các bản sao lưu có thể được lọc dựa trên một số nhu cầu cụ thể như đã đề cập rằng người ta có thể sao lưu toàn bộ cơ sở dữ liệu, bộ sưu tập hoặc kết quả của một truy vấn. Để đáp ứng việc xem xét RTO, chọn dữ liệu nhỏ có nghĩa là quá trình khôi phục sao lưu sẽ khá nhanh.

Tuy nhiên, chiến lược này chỉ áp dụng tốt nhất cho các triển khai có quy mô vừa và nhỏ chứ không phải cho các hệ thống lớn. Đối với các hệ thống dữ liệu lớn, quá nhiều tải được sử dụng do đó trở nên tốn nhiều tài nguyên cho một kết xuất hoàn chỉnh tại mỗi điểm chụp nhanh. Khi nhiều tài nguyên được chuyển hướng để hoàn thành quá trình này, hiệu suất cơ sở dữ liệu có thể bị giảm, đặc biệt là khi sao lưu được thực hiện trong cùng một trung tâm dữ liệu với chính cơ sở dữ liệu đó. Nếu bạn buộc phải thêm nhiều tài nguyên hơn, bạn sẽ phải chịu thêm một số chi phí vận hành cho cơ sở dữ liệu của mình về tổng thể. Người ta nên giải quyết các chiến lược thân thiện với chi phí hơn như ảnh chụp nhanh hệ thống tệp hoặc Dịch vụ quản lý MongoDB

Độ phức tạp của việc triển khai chiến lược này cho một hệ thống cơ sở dữ liệu lớn với các phân đoạn tương đối cao so với khi triển khai cho các cấu hình nhỏ

Để thực hiện sao lưu mongodump cho cơ sở dữ liệu có tên xyz bạn có thể chạy lệnh bên dưới trên trình bao mongo.

$ mongodump --db xyz --out /var/backups/mongo

Mongodump cũng cung cấp một số cờ như --archive để nén thư mục đầu ra để bạn có thể giảm kích thước bản sao lưu i. e.

$ mongodump --db xyz --archive=./backup/xyz.gz --gzip

Để thực hiện khôi phục cơ sở dữ liệu này, bạn chạy lệnh mongorestore bên dưới

$ mongorestore --gzip --archive=xyz.gz --db xyz

Tùy thuộc vào Mục tiêu điểm khôi phục, người ta có thể tăng hoặc giảm tần suất sao lưu để phù hợp với cửa sổ khôi phục dữ liệu thông qua kế hoạch đã lên lịch

Sao chép các tập tin cơ bản

Đây là phương pháp sao lưu ở cấp độ Hệ thống tập tin bao gồm chụp nhanh các tệp dữ liệu cơ bản tại một thời điểm và cũng cho phép cơ sở dữ liệu tự khôi phục hoàn toàn bằng cách sử dụng trạng thái được ghi lại trong các tệp chụp nhanh được thực hiện

Tính năng ghi nhật ký phải được bật như một cách để đảm bảo rằng các ảnh chụp nhanh nhất quán về mặt logic. Để có ảnh chụp nhanh cơ sở dữ liệu nhất quán, người ta có thể tạo ảnh chụp nhanh toàn bộ hệ thống tệp hoặc dừng tất cả các thao tác ghi vào cơ sở dữ liệu và sử dụng các công cụ sao chép hệ thống tệp tiêu chuẩn để sao chép tệp.  

Phương pháp này lấy các bản sao lưu từ cấp bộ nhớ, do đó làm cho nó trở thành phương pháp hiệu quả hơn so với chiến lược mongodump. Nó phù hợp cho các triển khai có quy mô lớn với chi phí tăng thời gian ngừng hoạt động cho các ứng dụng được kết nối với cơ sở dữ liệu.

Tuy nhiên, cách tiếp cận này không linh hoạt như cách tiếp cận mongodump ở chỗ bạn không thể nhắm mục tiêu một cơ sở dữ liệu, bộ sưu tập hoặc kết quả truy vấn cụ thể. Điều này có nghĩa là bạn sẽ phải sao lưu toàn bộ thiết lập cơ sở dữ liệu với chi phí là các tệp sao lưu lớn và tăng thời gian ngừng hoạt động cho các ứng dụng yêu cầu cơ sở dữ liệu này do hoạt động sao lưu kéo dài.

Cách tiếp cận này trở nên phức tạp hơn đối với một cụm được phân mảnh và điều phối các bản sao lưu trên một số bản sao. Điều này có nghĩa là bạn cần nhân viên có chuyên môn cao để đảm bảo tính nhất quán giữa các thiết lập khác nhau. Cuối cùng, điều này có nghĩa là nhiều chi phí hơn trong hoạt động tổng thể của cơ sở dữ liệu của bạn

Dịch vụ quản lý MongoDB (MMS)

Đây là một dịch vụ được quản lý hoàn toàn, cung cấp các bản sao lưu trực tuyến liên tục cho MongoDB. Nó rất hiệu quả đối với dữ liệu rất quan trọng và thường xuyên thay đổi. Tác nhân dự phòng được cài đặt trong môi trường cơ sở dữ liệu để tiến hành đồng bộ hóa cơ bản với các trung tâm dữ liệu dự phòng và an toàn của MongoDB. Sau đó, nó truyền dữ liệu oplog được nén và mã hóa sang MMS dưới dạng sao lưu liên tục

Chính sách chụp nhanh và lưu giữ có thể được định cấu hình theo yêu cầu của bạn. Theo mặc định, ảnh chụp nhanh được thực hiện sau mỗi 6 giờ và dữ liệu oplog sẽ được lưu giữ trong 24 giờ. Cách tiếp cận này thô hơn nhưng có tính linh hoạt để một người chọn cơ sở dữ liệu hoặc bộ sưu tập nào để sao lưu

Cách tiếp cận không phức tạp đối với một cụm được phân mảnh do các ảnh chụp nhanh của cụm cũng được thực hiện sau mỗi 6 giờ và bản sao được giữ lại trong 24 giờ do đó tạo ra một ảnh chụp nhanh tại thời điểm có thể được sử dụng để khôi phục

Hiệu suất cơ sở dữ liệu cũng không bị ảnh hưởng vì MM chỉ đọc oplog theo cách tương tự như thêm nút mới vào bộ bản sao. Điều này có nghĩa là bạn sẽ không có thời gian chết cho các ứng dụng được kết nối với cơ sở dữ liệu này. Cách tiếp cận này thường có thể được đánh giá là thân thiện với chi phí vì đăng ký doanh nghiệp không đắt

So sánh các chiến lược sao lưu MongoDB

Bảng dưới đây rút ra một số so sánh giữa các phương pháp được mô tả ở trên nhằm hướng bạn đến phương pháp tiếp cận nào

Khách quan

Mongodump

Sao chép các tập tin cơ bản

MMS

Uyển chuyển

Linh hoạt hơn để người ta có thể quyết định sao lưu cơ sở dữ liệu, bộ sưu tập hoặc kết quả của truy vấn nào

Cách tiếp cận rất thô khiến không thể nhắm mục tiêu một cơ sở dữ liệu hoặc bộ sưu tập cụ thể để sao lưu

Khá linh hoạt do đó người ta có thể loại trừ các bộ sưu tập và cơ sở dữ liệu quan trọng không phải nhiệm vụ

Mục tiêu điểm phục hồi (RPO)

Do tính linh hoạt của nó, người ta có thể đáp ứng RPO mong muốn ở chỗ bạn có thể sao lưu dữ liệu mong muốn duy nhất

Bị giới hạn trong các khoảnh khắc chụp nhanh do đó gây khó khăn cho việc đáp ứng RPO. Tất cả dữ liệu cơ sở dữ liệu phải được sao lưu

Giới hạn trong các khoảnh khắc chụp nhanh nhưng do chi phí thấp hơn, có thể thực hiện sao lưu thường xuyên

Mục tiêu thời gian phục hồi (RPO)

Bởi vì một người có thể đáp ứng mục tiêu RPO, thời gian khôi phục sẽ tỷ lệ thuận với lượng dữ liệu cần được khôi phục

RTO phụ thuộc vào kích thước cơ sở dữ liệu tổng thể. Nếu cơ sở dữ liệu có một tập dữ liệu lớn, thì sẽ mất nhiều thời gian hơn để sao lưu và tăng thời gian ngừng hoạt động của ứng dụng

Các bản sao lưu có thể đáp ứng mục tiêu RPO do đó thời gian khôi phục phụ thuộc vào kích thước của dữ liệu đã chọn

Hiệu suất cơ sở dữ liệu

Không thích hợp cho các triển khai lớn vì nó trở nên tốn nhiều tài nguyên.    

Bị ảnh hưởng do thực tế là tất cả các thao tác đọc phải dừng lại và người ta có thể mất một số dữ liệu trong thời gian ngừng hoạt động

Không ảnh hưởng đến hiệu suất cơ sở dữ liệu vì các bản sao lưu được tạo từ việc đọc oplog

Sự cô lập

Không phụ thuộc vào khoảng cách sao lưu từ cơ sở dữ liệu sản xuất

Nó phụ thuộc vào khoảng cách lưu giữ ảnh chụp nhanh sao lưu từ cơ sở dữ liệu sản xuất

Nó phụ thuộc vào khoảng cách lưu giữ ảnh chụp nhanh sao lưu từ cơ sở dữ liệu sản xuất

Chi phí triển khai

Trở nên đắt hơn cho các triển khai lớn

Tương đối rẻ hơn cho các triển khai lớn

Khá rẻ cho các triển khai lớn và nhỏ vì đăng ký phụ thuộc vào kích thước dữ liệu

Chi phí bảo trì

Tương đối rẻ vì quy trình không yêu cầu kỹ năng kỹ thuật để thực hiện

Sự phức tạp với các phân đoạn khiến việc thuê nhân viên có tay nghề cao để duy trì cụm trở nên tốn kém hơn

Không tốn kém để duy trì một cụm được phân mảnh do tính nhất quán phù hợp của ảnh chụp nhanh

Triển khai phân đoạn

Phức tạp đặc biệt khi xử lý một tập hợp lớn

Phức tạp đặc biệt khi xử lý một tập hợp lớn

Không quá phức tạp khi tạo bản sao lưu cho cụm phân đoạn

Phần kết luận

Sao lưu rất cần thiết trong việc bảo vệ dữ liệu và đảm bảo hoạt động kinh doanh liên tục sau sự cố kinh doanh do mất dữ liệu và cũng đáp ứng một số nguyên tắc quản lý của chính phủ. MongoDB cung cấp ba chiến lược chính để sao lưu dữ liệu. Mongodump, Sao chép các tệp cơ sở và Dịch vụ quản lý Mongo (MMS). Việc lựa chọn chiến lược nào phụ thuộc vào các yếu tố như chi phí bảo trì, độ phức tạp khi triển khai Shards, tính linh hoạt và tác động đến hiệu suất cơ sở dữ liệu.

Sao lưu MongoDB hoạt động như thế nào?

Trình quản lý đám mây MongoDB liên tục sao lưu các bộ bản sao MongoDB và các cụm được phân đoạn bằng cách đọc dữ liệu oplog từ quá trình triển khai MongoDB của bạn . Trình quản lý đám mây MongoDB tạo ảnh chụp nhanh dữ liệu của bạn theo các khoảng thời gian đã đặt và cũng có thể cung cấp khả năng khôi phục tại thời điểm các bộ bản sao MongoDB và các cụm phân đoạn.

Bản sao lưu MongoDB Atlas được lưu trữ ở đâu?

MongoDB Atlas sao lưu dữ liệu của bạn bằng khả năng chụp nhanh gốc của nhà cung cấp đám mây. Các bản sao lưu của bạn được lưu trữ trong cùng một vùng đám mây với cơ sở dữ liệu được quản lý của bạn .

Làm cách nào để thực hiện sao lưu gia tăng trong MongoDB?

Mongo Backup là một công cụ bên ngoài thực hiện sao lưu toàn bộ và gia tăng. Bản sao lưu được lưu trữ trên hệ thống tệp và được nén bằng thuật toán lz4. Sao lưu toàn bộ được thực hiện bằng cách thực hiện sao chép hệ thống tệp của dbPath và kết xuất oplog một phần được sử dụng để sao lưu gia tăng.

Làm cách nào để sao lưu bộ sưu tập trong MongoDB?

Bước 1. Tạo bản sao lưu trực tiếp bằng Mongodump. .
Bước 2. Sao lưu một phiên bản MongoDB từ xa. .
Bước 3. Sao lưu một phiên bản MongoDB an toàn. .
Bước 4. Chọn Cơ sở dữ liệu và Bộ sưu tập. .
Bước 5. Thay đổi thư mục sao lưu. .
Bước 6. Tạo một tệp lưu trữ. .
Bước 7. Nén bản sao lưu MongoDB. .
Bước 8. Khôi phục cơ sở dữ liệu