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 Show
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 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ư 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
Chiến lược sao lưu MongoDBCá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à
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 MongoDBBả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ậnSao 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.
|