Các phiên bản mới nhất của MongoDB được xây dựng để tích hợp các tính năng mới hoặc cải tiến từ các phiên bản tiền nhiệm. Vì lý do này, bạn nên chạy phiên bản mới nhất để có hiệu suất tối đa và các tính năng bổ sung. Bên cạnh đó, các phiên bản mới nhất có thể là kết quả của các lỗi đã sửa tùy thuộc vào phiên bản MongoDB.
Phiên bản MongoDB
Phiên bản MongoDB có dạng X.Y.Z.
- Khi Y là số chẵn, tức là 4,0 hoặc 4,2, điều này đề cập đến loạt phát hành ổn định do đó được khuyến nghị cho sản xuất. Trong trường hợp này, các tính năng mới được tích hợp có thể dẫn đến không tương thích ngược.
- Nếu Y là số lẻ, tức là 4,1 hoặc 4,3, thì điều này đề cập đến chuỗi phát triển không ổn định, do đó chỉ được khuyến nghị để thử nghiệm.
- Z đề cập đến số sửa đổi / bản vá. Bao gồm sửa lỗi và các thay đổi tương thích ngược.
Ngoài ra, việc xem xét các phiên bản trình điều khiển MongoDB là điều quan trọng để đảm bảo một cơ sở dữ liệu hoạt động tốt.
Cân nhắc Trước khi Nâng cấp
- Sao lưu :Giữa chừng nâng cấp, một số sự cố có thể xảy ra và cuối cùng làm ảnh hưởng đến tính toàn vẹn của dữ liệu mà cơ sở dữ liệu đang giữ. Do đó, bạn nên luôn sao lưu dữ liệu trước khi nâng cấp lên một phiên bản nhất định.
- Thời gian bảo trì :Có thể có một số phức tạp có thể phát sinh khi nâng cấp lên một số phiên bản nếu liên quan đến các bộ bản sao. Người ta cần lên lịch đủ thời gian cho quá trình này để bạn không gặp phải thời gian chết cao.
- Khả năng tương thích với phiên bản :Đảm bảo xem qua các ghi chú phát hành và kiểm tra xem thiết lập hệ thống của bạn có tương thích với phiên bản bạn muốn nâng cấp lên hay không. Ngoài ra, hãy kiểm tra tài liệu về khả năng tương thích của trình điều khiển tại trang Tương thích với trình điều khiển nếu chúng có thể đi cùng với phiên bản MongoDB mà bạn muốn nâng cấp lên. Ví dụ:từ MongoDB 4.2 trở lên không có hỗ trợ cho hệ thống PPCLE Ubuntu 16.04.
- Thay đổi luồng :Luồng thay đổi được thiết kế để các ứng dụng truy cập vào các thay đổi dữ liệu theo thời gian thực mà không nhất thiết phải theo sau oplog. Đối với các phiên bản MongoDB trước 4.0.7, luồng thay đổi sử dụng mã thông báo tiếp tục phiên bản 0 v0 trong khi phiên bản này và các phiên bản kế nhiệm sử dụng mã thông báo tiếp tục phiên bản 1 v1. Khách hàng nên đợi quá trình nâng cấp hoàn tất trước khi tiếp tục các luồng thay đổi khi nâng cấp lên phiên bản 4.0.7.
- Kiểm tra môi trường theo giai đoạn :Đảm bảo rằng tất cả các cấu hình được thiết lập tốt trước khi nâng cấp môi trường sản xuất và chúng sẽ tương thích với phiên bản mới mà bạn muốn nâng cấp lên.
- Chính - Phụ - Kiến trúc Arbiter (PSA) :MongoDB phiên bản 3.6 trở lên cho phép hỗ trợ cho mối quan tâm đọc “đa số” theo mặc định. Tuy nhiên, cấu hình này có thể dẫn đến áp lực bộ nhớ đệm lưu trữ và cách duy nhất để ngăn chặn điều này là tắt tham số này. Tuy nhiên, việc tắt tham số này có thể gây ra nhiều lo ngại hơn, tức là:
- Hỗ trợ cho các giao dịch trên cụm phân đoạn sẽ bị ảnh hưởng:
- nếu một phân đoạn đã đọc mối quan tâm bị tắt "đa số", nó sẽ gây ra lỗi cho một giao dịch ghi vào nhiều phân đoạn.
- Không thể sử dụng
- Đọc lo ngại“ ảnh chụp nhanh ”không được sử dụng cho giao dịch liên quan đến phân đoạn có mối quan tâm đã đọc“ đa số ”bị vô hiệu hóa
- lệnh collMod chịu trách nhiệm sửa đổi một chỉ mục từ khi quay trở lại sẽ không hoạt động. Điều này chỉ ra rằng nếu một hoạt động cần khôi phục lại, người ta phải sử dụng nút chính để đồng bộ hóa lại các nút bị ảnh hưởng.
- Hỗ trợ Luồng thay đổi cho MongoDB 4.0 và các phiên bản cũ hơn cũng sẽ bị vô hiệu hóa.
- Giao dịch tập hợp bản sao không bị ảnh hưởng khi tắt thông số này.
- Hỗ trợ cho các giao dịch trên cụm phân đoạn sẽ bị ảnh hưởng:
Quy trình Nâng cấp
- Sao lưu dữ liệu của bạn.
- Nâng cấp riêng mã nhị phân mongod / mongos bằng công cụ quản lý gói hệ thống cùng với các gói MongoDB chính thức. Bạn cũng có thể nâng cấp mongos bằng cách thay thế các tệp nhị phân hiện có bằng các tệp nhị phân mới bằng cách sử dụng quy trình sau:
- Tải xuống tệp nhị phân MongoDB cho bản sửa đổi mà bạn muốn nâng cấp lên và lưu trữ tệp nén đã tải xuống ở một vị trí tạm thời.
- Tắt phiên bản.
- Sử dụng các tệp nhị phân đã tải xuống để thay thế các tệp nhị phân MongoDB hiện có.
- Khởi động lại phiên bản.
- Nếu nâng cấp nhóm bản sao, hãy nâng cấp riêng từng thành viên bằng cách bắt đầu với tên thứ hai và tên cuối cùng chính. Để nâng cấp thứ hai:
- Nâng cấp hệ nhị phân mongod
- Chờ trường thứ cấp phục hồi về trạng thái THỨ HAI và sau khi hoàn thành, hãy nâng cấp phiên bản tiếp theo. rs.status () được sử dụng để kiểm tra trạng thái của thành viên trong trình bao mongo. Trạng thái RECOVERING và STARTUP có thể hiển thị nhưng bạn cần phải đợi cho đến khi nó khôi phục về SECONDARY.
- Khi nâng cấp chính:
- Trong mongo shell, sử dụng rs.stepDown () để hạ cấp chính như một cách bắt đầu chuyển đổi dự phòng thông thường. Vì sẽ không có lần ghi nào được chấp nhận trong thời gian này, bạn nên nâng cấp trong thời gian ngắn nhất có thể.
- Cho đến khi bạn thấy một thành viên khác được bầu làm thành viên chính, thì hãy nâng cấp các tệp nhị phân của nhóm chính đã ngừng hoạt động.
- Khởi động lại chính sau khi nâng cấp xong nhưng nếu bạn kiểm tra trạng thái của nó, rs.status (), nó có thể được gắn nhãn là thứ yếu.
- Để nâng cấp cho MongoDB 4.4 Sharded Cluster:
- Đảm bảo rằng bộ cân bằng đã được tắt.
- Nâng cấp máy chủ cấu hình giống như cách bạn nâng cấp nhóm bản sao.
- Nâng cấp phân đoạn bằng quy trình tương ứng, tức là tập hợp bản sao hoặc độc lập.
- Nâng cấp từng phiên bản mongos theo thứ tự.
- Bật lại bộ cân bằng.
Kết luận
Với thời gian dữ liệu trở nên phức tạp hơn, do đó đòi hỏi các tính năng cơ sở dữ liệu nâng cao có thể đáp ứng các thông số kỹ thuật của quản trị viên cơ sở dữ liệu. MongoDB không phản đối điều này vì nó luôn phát hành các phiên bản cơ sở dữ liệu với các lỗi đã sửa hoặc các tính năng mới được tích hợp. Bạn nên luôn nâng cấp lên phiên bản MongoDB mới nhất để có hiệu suất tối đa. Tuy nhiên, trước khi thực hiện nâng cấp, người ta cần kiểm tra các ghi chú phát hành cho phiên bản bạn muốn nâng cấp xem nó có tương thích với hệ thống của bạn hay không. Bạn cũng nên nâng cấp trình điều khiển MongoDB tương ứng.