Tưởng tượng rằng, họ đang vào một dự án công trình của một doanh nghiệp được xây dựng mở màn sử dụng cơ sở dữ liệu "X" nhằm lưu trữ những dữ liệu về quý khách và sản phẩm,... Sau đó 1 khoảng thời gian hoạt động, dữ án này cải cách và phát triển ngày càng lớn mạnh với lượng người tiêu dùng trên khắp thế giới ngày một tăng nhanh. Như 1 lẽ tất yếu, lượng dữ liệu cần phải lưu trữ/thao tác cũng tăng lên rất không hề ít lần.


Giả sử, cùng một khoảng tầm thời gian có đến 5000 người tiêu dùng thực hiện tại các thao tác làm việc liên quan đến sự việc truy vấn trên hơn 1 triệu đơn vị chức năng dữ liệu giữ trữ. Cụ là, cơ sở dữ liệu "X" này phải tiếp nhận 5000 truy nã vấn này và xử trí hết toàn bộ chúng. Đoán xem điều gì đang xảy ra? chắc hẳn rằng rằng tốc độ xử lý của khối hệ thống của chúng ta sẽ bị chậm trễ đi khi nhưng mà lượng dữ liệu cần cách xử lý trên 1 node server là quá nhiều như vậy, thậm chí nó có thể gây ra triệu chứng "crash" cơ sở dữ liệu dẫn việc ngưng hoạt động vui chơi của hệ thống.

Bạn đang xem: Replication là gì


Để giải quyết được hai sự việc nêu trên bao gồm tốc độ giải pháp xử lý chậm và việc crash các đại lý dữ liệu chúng ta cần đến sự trợ góp của Database Replication.


Database Replication là gì?


Database Replication là 1 trong những kỹ thuật/nguyên lý xây dựng sử dụng trong việc mở rộng (scale) đại lý dữ liệu bằng phương pháp duy trì các bản sao của tài liệu trên những server cơ sở dữ liệu khác nhau.
*


Mỗi node số đông đóng sứ mệnh là master node chỗ mà đồ vật khách có thể thực hiện tại cả việc đọc và ghi dữ liệu. Giữa những node hoàn toàn có thể được nhất quán bằng cả hai cách nêu bên trên (Synchronous với Asynchronous)

Nhưng khi áp dụng Asynchronous vấn đề về xung bất chợt dữ liệu rất dễ xảy ra khi các Máy khách update cùng một đơn vị chức năng dữ liệu tuy vậy trên những master-node không giống nhau.

Master-Slave Replication

Máy khách hàng chỉ bao gồm quyền đọc/ghi dữ liệu trên master-node. Các slave-node bao quanh sẽ sao chép lại tài liệu từ master-node, tài liệu ở slave-node chỉ dùng để đọc. Việc sao chép cũng rất có thể sử dụng 2 giải pháp trên.

MongoDB

MongoDB áp dụng Master-slave replication, kỹ thuật được mô tả ở hình dưới:

*


Trong khoảng thời gian cho quá trình tuyển lựa chọn này, những máy khách sẽ không còn thể ghi dữ liệu nhưng câu hỏi dọc tài liệu vẫn được được cách xử lý bình thường.

Xem thêm: Attorney In Fact Là Gì - Định Nghĩa, Ví Dụ, Giải Thích

Tải thăng bằng (Load balancing Replicas)

Ở MongoDB, lắp thêm khách đọc dữ liệu xuất phát từ một node thiết yếu mặc định hoàn toàn có thể được chuyển làn đường Request mang lại một node thứ cấp cho khác để thăng bằng tải. Bọn họ chỉ đề xuất "nói" với MongoDB driver rằng bọn họ muốn tiến hành việc đọc dữ liệu trên node sản phẩm cấp, Mongo driver sẽ auto phân biệt các node với điều hướng.