MongoDB HÀ

Sao chép là quá trình đồng bộ hóa dữ liệu trên nhiều máy chủ. Bản sao cung cấp khả năng dự phòng và tăng tính khả dụng của dữ liệu với nhiều bản sao dữ liệu trên các máy chủ cơ sở dữ liệu khác nhau. Bản sao bảo vệ cơ sở dữ liệu khỏi sự mất mát của một máy chủ. Bản sao cũng cho phép bạn khôi phục sau lỗi phần cứng và gián đoạn dịch vụ. Với các bản sao bổ sung của dữ liệu, bạn có thể dành riêng một bản để khôi phục, báo cáo hoặc sao lưu sau thảm họa

Tại sao sao chép?

  • Để giữ an toàn cho dữ liệu của bạn
  • Dữ liệu sẵn có cao (24*7)
  • khắc phục thảm họa
  • Không có thời gian chết để bảo trì (như sao lưu, xây dựng lại chỉ mục, nén)
  • Tỷ lệ đọc (các bản sao bổ sung để đọc từ)
  • Bộ bản sao trong suốt đối với ứng dụng

Cách sao chép hoạt động trong MongoDB

MongoDB đạt được bản sao bằng cách sử dụng bộ bản sao. Bộ bản sao là một nhóm các phiên bản mongod lưu trữ cùng một bộ dữ liệu. Trong một bản sao, một nút là nút chính nhận tất cả các thao tác ghi. Tất cả các phiên bản khác, chẳng hạn như phiên bản thứ cấp, áp dụng các thao tác từ phiên bản chính để chúng có cùng một tập dữ liệu. Bộ bản sao chỉ có thể có một nút chính

  • Bộ bản sao là một nhóm gồm hai nút trở lên (thường yêu cầu tối thiểu 3 nút)

  • Trong một bộ bản sao, một nút là nút chính và các nút còn lại là nút phụ

  • Tất cả dữ liệu sao chép từ nút chính sang nút phụ

  • Tại thời điểm tự động chuyển đổi dự phòng hoặc bảo trì, cuộc bầu chọn được thiết lập cho nút chính và một nút chính mới được bầu chọn

  • Sau khi phục hồi nút bị lỗi, nó lại tham gia vào bộ bản sao và hoạt động như một nút phụ

Một sơ đồ điển hình về sao chép MongoDB được hiển thị trong đó ứng dụng khách luôn tương tác với nút chính và nút chính sau đó sao chép dữ liệu sang các nút phụ

MongoDB HÀ

Các tính năng của bộ bản sao

  • Một cụm gồm N nút
  • Bất kỳ một nút nào cũng có thể là nút chính
  • Tất cả các hoạt động ghi chuyển đến chính
  • chuyển đổi dự phòng tự động
  • Tự động phục hồi
  • Đồng thuận bầu cử sơ bộ

Thiết lập một bộ bản sao

Trong hướng dẫn này, chúng tôi sẽ chuyển đổi phiên bản MongoDB độc lập thành một bộ bản sao. Để chuyển đổi sang bộ bản sao, sau đây là các bước -

  • Tắt máy chủ MongoDB đang chạy

  • Khởi động máy chủ MongoDB bằng cách chỉ định -- tùy chọn replSet. Sau đây là cú pháp cơ bản của --replSet -

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"

Ví dụ

mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
  • Nó sẽ bắt đầu một phiên bản mongod với tên rs0, trên cổng 27017

  • Bây giờ bắt đầu dấu nhắc lệnh và kết nối với phiên bản mongod này

  • Trong ứng dụng khách Mongo, hãy ra lệnh rs. started() để bắt đầu một bộ bản sao mới

  • Để kiểm tra cấu hình bộ bản sao, hãy ra lệnh rs. conf(). Để kiểm tra trạng thái của bộ bản sao, hãy sử dụng lệnh rs. trạng thái()

Thêm thành viên vào bộ bản sao

Để thêm thành viên vào bộ bản sao, hãy bắt đầu phiên bản mongod trên nhiều máy. Bây giờ hãy bắt đầu một ứng dụng khách mongo và đưa ra lệnh rs. cộng()

cú pháp

Cú pháp cơ bản của rs. lệnh add() như sau -

>rs.add(HOST_NAME:PORT)

Ví dụ

Giả sử tên ví dụ mongod của bạn là mongod1. net và nó đang chạy trên cổng 27017. Để thêm phiên bản này vào bộ bản sao, hãy ra lệnh rs. add() trong máy khách Mongo

>rs.add("mongod1.net:27017")
>

Bạn chỉ có thể thêm phiên bản mongod vào bộ bản sao khi bạn được kết nối với nút chính. Để kiểm tra xem bạn có được kết nối với chính hay không, hãy ra lệnh db. isMaster() trong máy khách mongo

Phiên bản bộ bản sao ApsaraDB cho MongoDB cung cấp nhiều bản sao dữ liệu để đảm bảo độ tin cậy cao của dữ liệu. Nó cũng cung cấp cơ chế chuyển đổi dự phòng tự động để đảm bảo tính sẵn sàng cao của ApsaraDB cho MongoDB. Bạn phải sử dụng đúng phương thức để kết nối với phiên bản bộ bản sao nhằm triển khai tính khả dụng cao. Bạn cũng có thể định cấu hình kết nối để tách đọc/ghi

ghi chú

  • Nút chính của phiên bản bộ bản sao có thể thay đổi. Chuyển đổi dự phòng giữa các nút chính và nút phụ có thể được kích hoạt khi các nút của phiên bản bộ bản sao được nâng cấp lần lượt, nút chính bị lỗi hoặc mạng bị phân vùng. Trong các trường hợp này, bộ bản sao có thể chọn một nút chính mới và hạ cấp nút chính ban đầu xuống một nút phụ
  • Nếu nút chính của phiên bản bộ bản sao được kết nối trực tiếp thông qua chuỗi kết nối của nút chính, thì nút chính sẽ chịu tải nặng để xử lý tất cả các thao tác đọc và ghi. Nếu quá trình chuyển đổi dự phòng được kích hoạt trong phiên bản bộ bản sao và nút chính được kết nối bị hạ cấp xuống nút phụ, thì bạn không thể thực hiện các thao tác ghi nữa và hoạt động kinh doanh của bạn sẽ bị ảnh hưởng nghiêm trọng

URI chuỗi kết nối

Để kết nối chính xác với một phiên bản bộ bản sao, bạn phải hiểu định dạng của URI chuỗi kết nối của MongoDB. Tất cả các trình điều khiển MongoDB chính thức đều cho phép bạn sử dụng URI chuỗi kết nối để kết nối với MongoDB

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Mô tả về Thông Số

  • mongodb://. tiền tố, biểu thị URI chuỗi kết nối
  • username:password@. tên người dùng và mật khẩu được sử dụng để đăng nhập vào cơ sở dữ liệu. Nếu xác thực được bật, mật khẩu là bắt buộc
  • ________số 8. danh sách các chuỗi kết nối được sử dụng để kết nối với các nút trong phiên bản bộ bản sao. Mỗi chuỗi kết nối bao gồm một địa chỉ IP và một số cổng. Tách nhiều chuỗi kết nối bằng dấu phẩy (,)
  • /database. cơ sở dữ liệu tương ứng với tên người dùng và mật khẩu nếu xác thực được bật
  • mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
    
    0. tùy chọn kết nối bổ sung

Lưu ý Để biết thêm thông tin về URI chuỗi kết nối, hãy xem Định dạng URI chuỗi kết nối

Sử dụng URI chuỗi kết nối để kết nối với phiên bản bộ bản sao

Bạn có thể sử dụng URI chuỗi kết nối để kết nối với phiên bản bộ bản sao

  1. Lấy URI chuỗi kết nối của một phiên bản bộ bản sao. Để biết thêm thông tin, hãy xem Tổng quan về kết nối phiên bản bộ bản sao
    MongoDB HÀ
  2. Sử dụng URI chuỗi kết nối thu được để kết nối các ứng dụng của bạn với phiên bản. Để biết thêm thông tin, hãy xem Mã mẫu kết nối cho trình điều khiển MongoDB

    Ghi chú

    Để tách đọc/ghi, bạn phải thêm

    mongod --port 27017 --dbpath "D:\set up\mongodb\data" --replSet rs0
    
    1 vào tham số tùy chọn để đặt tùy chọn đọc cho các nút phụ

    Để biết thêm thông tin về các tùy chọn tùy chọn đọc, hãy xem Tùy chọn đọc

    Ví dụ.

    mongodb://root:xxxxxxxx@dds-xxxxxxxxxxxx:3717,xxxxxxxxxxxx:3717/admin? replicaSet=mgset-xxxxxx&readPreference=secondaryPreferred

Sau khi bạn sử dụng phương pháp trước để kết nối với một phiên bản bộ bản sao, ưu tiên khách hàng có thể gửi yêu cầu đọc tới các nút phụ để thực hiện phân tách đọc/ghi. Máy khách cũng tự động phát hiện mối quan hệ giữa các nút chính và nút phụ. Nếu nút chính thay đổi, máy khách sẽ tự động chuyển các hoạt động ghi sang nút chính mới để đảm bảo tính sẵn sàng cao của ApsaraDB cho MongoDB

MongoDB có phải là ha?

MongoDB là một trong những cơ sở dữ liệu như vậy có thể cung cấp tính sẵn sàng cao cho cơ sở dữ liệu MongoDB bằng cách sử dụng các tính năng như phân đoạn và sao chép . Nếu hệ thống gặp sự cố hoặc phần cứng hoặc phần mềm gặp phải bất kỳ sự cố nào, quy trình sao chép trong cơ sở dữ liệu sẽ giúp bạn khôi phục và sao lưu hệ thống của mình.

MongoDB đảm bảo tính sẵn sàng cao như thế nào?

Bộ bản sao sử dụng các lựa chọn để hỗ trợ tính khả dụng cao. Các cuộc bầu cử diễn ra khi cuộc bầu cử chính không khả dụng và các thành viên của bộ bản sao tự động chọn một cuộc bầu cử chính mới. Rollback hoàn nguyên các thao tác ghi trên một bản chính cũ khi thành viên tham gia lại bộ bản sao sau khi chuyển đổi dự phòng.

Khôi phục thảm họa trong MongoDB là gì?

Theo bảng thuật ngữ, các giao thức Khôi phục thảm họa (DR) là phương pháp của một tổ chức nhằm lấy lại quyền truy cập và chức năng cho cơ sở hạ tầng CNTT của mình trong các sự kiện như thảm họa tự nhiên, tấn công mạng hoặc thậm chí là gián đoạn kinh doanh liên quan đến đại dịch COVID-19

Làm cách nào để sao chép dữ liệu trong MongoDB?

Bạn có thể sao chép dữ liệu MongoDB của mình thành nhiều Phân đoạn khác nhau bằng các bước sau. .
Bước 1. Tạo máy chủ cấu hình cho MongoDB
Bước 2. Tạo Shard Server cho MongoDB
Bước 3. Khởi động Máy chủ để khởi tạo Bản sao MongoDB
Bước 4. Thêm phân đoạn vào máy chủ phân đoạn MongoDB
Bước 5. Kiểm tra quá trình sao chép