Bộ bản sao mongodb
Replication is the process of the clock data from many Server. Bản sao cung cấp sự dư thừa và tăng dữ liệu có tính khả dụng với nhiều bản sao dữ liệu trên nhiều 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ự cố thoát của một Máy chủ nào đó. Replication cũng cho phép bạn phục hồi dữ liệu từ các lỗi trong phần cứng hoặc từ việc ngắt kết nối dịch vụ. Với các bản sao dữ liệu bổ sung, bạn có thể sử dụng để phục hồi, báo cáo hoặc sao lưu Show In sao sử dụng Replication?
Cách Replication work in MongoDBMongoDB sử dụng Replica Set để thực hiện Replication. Một bộ bản sao là một nhóm các khả năng hiện có của mongodb mà lưu trữ cùng một tập dữ liệu đó. Trong một bản sao, một nút là nút chính (có thể gọi là nút thứ cấp) sẽ nhận tất cả các hoạt động ghi. Tất cả các trường hợp có thể thực hiện (ví dụ) khác, thứ cấp, áp dụng các hoạt động từ nút thứ cấp để chúng có cùng một tệp dữ liệu. Bộ bản sao chỉ có thể có một nút cấp
Dưới đây là một sơ đồ đặc trưng cho Replication trong MongoDB, trong đó ứng dụng ở Client luôn luôn tương tác với node sơ cấp và node sơ cấp này sau đó tái tạo dữ liệu cho node thứ cấp Đặc điểm của Replica Set
Cài đặt một bộ bản saoTrong chương trình này, chúng tôi sẽ chuyển đổi phiên bản mongo thành một Bộ bản sao. To convert to Replica Set, you follow the following step
Bây giờ, hãy khởi động MongoDB Server với tùy chọn xác định --replSet. Cú pháp cơ bản của --replSet as after
Ví dụ
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òng lệnh và kết nối tới phiên bản mongo này. Trong Mongo Client thông báo lệnh rs. started() to started a new Replica Set. Để kiểm tra cấu hình Bộ bản sao, bạn thông báo lệnh rs. conf(). Để kiểm tra trạng thái của Bộ bản sao, bạn thông báo lệnh rs. trạng thái() Add members to Replica SetĐể 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 thiết bị. Bây giờ, hãy bắt đầu một Mongo Client và thông báo một lệnh rs. cộng() cú phápCú pháp cơ bản của lệnh rs. add() as after
Ví dụGiả sử tên của mongod dụ của bạn là mongod1. net and are running on port 27017. To add this instance to Replica Set, you message command rs. add() trong Mongo Client
You can add instance to Replica Set only when you were connect to thegrade node. Để kiểm tra xem bạn đã kết nối tới sơ đồ nút cấp này chưa, bạn đã thông báo lệnh db. isMaster() trong Mongo Client Bản sao có nghĩa là nhân bản, trong MongoDB, bản sao là một tiến trình đồng bộ hóa dữ liệu Cơ chế của nó như sau Trong thực tế, nhiều trường hợp để máy chủ hoạt động ổn định người ta sử dụng nhiều hơn 1 máy chủ để lưu dữ liệu. Ví dụ dùng 2 server mongodb là A và B, khi dữ liệu mới được lưu vào A thì nó sẽ tiến hành sao lưu, đồng bộ sang B (quá trình replica) nếu A bị chết hoặc mất dữ liệu thì ta chuyển sang kết nối Quá trình sao chép này khác với quá trình sao lưu / sao lưu tại chỗ là nó thực hiện theo thời gian thực. Tức là khi bạn thêm dữ liệu vào A thì nó sẽ khởi động tức thì đồng bộ sang B… Trong khi quá trình sao lưu thì thường thực hiện theo lịch (chạy cuối mỗi ngày, chạy hàng giờ…) và có thể xây dựng lại chỉ mục (Sử dụng nhiều máy chủ có nhiều lợi thế nhưng không phải lúc nào ứng dụng cũng được nhé. Việc sử dụng nhiều máy chủ MongoDB kéo theo nhiều vấn đề như cấu hình và mã phức tạp hơn, chi phí tăng…) Bộ bản sao trong MongoDBReplica Set là một nhóm các máy chủ MongoDB trong hệ thống Replication. (Một nhóm máy chủ MongoDB tham gia thực hiện nhân bản. ) Mỗi máy chủ MongoDB trong Replica Set được coi là 1 nút hoặc 1 thể hiện Trong một Replica Set, sẽ có một node chính (primary node) và nhiều node phụ (secondary node) + node trọng tài (arbiter node) Nút chính sẽ thực hiện nhận tất cả các yêu cầu ghi để thực hiện bổ sung/sửa đổi/xóa dữ liệu, những thay đổi trên dữ liệu này sẽ được ghi lại vào tệp Cơ chế chuyển đổi dự phòng tự động trong bộ bản saoCác nút trong Replica Set luôn duy trì kết nối với nhau (kết nối heartbeat ). Khi nút chính bị mất kết nối với các nút còn lại (bị tắt, hết thời gian kết nối…) thì các nút còn lại sẽ tự động bầu ra 1 nút làm nút chính Quá trình bầu chọn nút chính giống như bỏ phiếu vậy, nút nào nhiều phiếu hơn thì trở thành nút chính. Tuy nhiên, trường hợp sẽ có 2 nút cùng số phiếu. Trong trường hợp này, nút trọng tài sẽ quyết định nút nào là nút chính (Nút Arbiter chỉ có tác dụng ra nút bầu chọn chính chứ không chứa dữ liệu) Khi nút chính bị ngắt kết nối trước khi được kết nối trở lại vào Bộ bản sao thì nó sẽ trở thành nút phụ Mặc định, Máy khách sẽ đọc dữ liệu từ nút chính. Tuy nhiên, ta có thể cấu hình cho phép máy khách đọc dữ liệu từ các nút phụ để giảm tải áp lực cho nút chính |