2.1. Tổng quan về hệ quản trị CSDL MongoDB
2.1.2. Các thành phần trong MongoDB
CHƯƠNG 153.
a. Hình 2.7: Thành phần trong MongoDB
CHƯƠNG 154. Về mặt kiến trúc , MongoDB gồm có 4 thành phần:
CHƯƠNG 155. - Mongod: đây là một node để lưu trữ và truy xuất dữ liệu
CHƯƠNG 156. - Shard: đây là một tập hợp gồm nhiều Mongod tạo thành một cụm dữ liệu , mỗi mongod là một bản sao dữ liệu. Nó có kiến trúc Master- Slave. Do đó trong mỗi Shard sẽ có một bản sao là Master và các bản sao còn lại là Slave. Trong đó, chỉ có Master là có thể đọc và ghi dữ liệu, các slave còn lại chỉ cho phép đọc dữ liệu.
CHƯƠNG 157. - Config server: nó hoạt động như một bộ chứa siêu dữ liệu trong MongoDB về các đối tượng được lưu trữ trong các mongod. Config server sẽ được sử dụng trong trường hợp các mongod bị lỗi. Thường trong một hệ cơ sở dữ liệu MongoDB sẽ có từ 1 đến 3 Config Server.
CHƯƠNG 158. - Mongos: Đây là thành phần duy nhất có thể giao tiếp với các thành phần bên ngồi. Nó sẽ tiếp nhận u cầu từ máy khách và chuyển tiếp các yêu cầu này đến vùng thích hợp. CHƯƠNG 159. Các thành phần này giao tiếp với nhau, trao đổi
qua lại trong hệ thống và tạo cho MongoDB một cơ chế hoạt động đặc biệt đó là sharding. Với cơ chế này, MongoDB sẽ chia nhỏ một khối dữ liệu lớn ra nhiều phần khác nhau để lưu trữ phân tán. Điều này giúp tăng khả năng mở rộng, lưu trữ và xử lý của hệ thống này. Các bản dữ liệu sau khi chia nhỏ sẽ được nhân bản thành nhiều mongos. Tập hợp các mongos này sẽ được gọi mà một shard. Mỗi mongos có thể là một collection hoặc một phần của collection và một collection có thể được lưu trữ trải dài trên nhiều shard. Địa chỉ, cấu hình của các shard này sẽ được lưu trữ trên một máy chủ là config server. Nhờ đó, khi tiếp nhận một yêu cầu từ máy khách, thành phần mongod sẽ tìm kiếm vị trí các dữ liệu được yêu cầu trong config server. Sau khi đã có được địa chỉ của shard chứa dữ liệu cần, mongod sẽ vào kho chứa các shard để lấy dữ liệu đó ra để xử lý và trả về cho máy khách.