- vừa được xem lúc

Mongodb shard cluster

0 0 25

Người đăng: Đạt Nguyễn Công

Theo Viblo Asia

I. KHÁI NIỆM MONGDB SHARD CLUSTER image2022-1-28_9-39-0.png

II. NHỮNG KEYWORD CẦN BIẾT

  • Mongos: Đây thực ra là một query router, cung cấp một giao diện tương tác giữa ứng dụng và các sharded cluster.
  • Mongod: Nó xử lý các yêu cầu dữ liệu, quản lý quyền truy cập dữ liệu và thực hiện các hoạt động quản lý nền
  • Shard: Mỗi shard chứa đựng một tập nhỏ các data đã sharded, từ phiên bản 3.6 trở lên, shards phải được cấu hình chạy replicaset nếu muốn trở thành một phần của cluster.
  • Config server: Config server chứa đựng metadata và cấu hình cho cluster, từ phiên bản 3.4 trở lên config server phải deploy dưới dạng replicaset.
  • Replicaset (Primary, secondary): Một replica set trong MongoDB là một nhóm các tiến trình của mongodb duy trì cùng một bộ dữ liệu. Các replica set cung cấp tính dự phòng và tính sẵn sàng cao và là cơ sở để triển khai nhập xuất dữ liệu khi cần thiết.

III. REPLICASET

rep.png

IV. CƠ CHẾ LƯU VÀ TÌM KIẾM CỦA SHARD CLUSTER co.png

  • Shard key: MongoDB sử dụng shard key để phân phối các collections's documents trên các shard. Shard key bao gồm một hoặc nhiều trường tồn tại trong mọi document trong collection cần truy vấn. Bạn phải chọn shard key khi sharding một collection. Việc lựa chọn shard key không thể thay đổi sau khi sharding. Một sharded collection có thể chỉ có một shard key duy nhấ
  • Ranged sharding: Ranged Sharding liên quan đến việc chia dữ liệu dựa theo giá trị của shard key. Mỗi chuck sau đó sẽ đc gán với một phạm vi
  • Hashed sharding: Chúng ta sử dụng một hàm hash đối với shard key .Mỗi phần sau đó được gán một phạm vi dựa trên các giá trị hash của shard key . Chú ý mongoDB hỗ trợ việc hash này rồi nên mình ko cần phải làm gì cả.
  • Chuck: MongoDB chia dữ liệu thành các khối gọi là Chuck. Mỗi chuck đc chia liên quan đến shard key Cách chia này cũng chỉ phù hợp vs shard có sự thay đổi là đồng đều.

V. RANGED SHARDING shard1.png

VI. HASHED SHARDING shard2.png

VII. XÂY DỰNG SHARD CLUSTER

  • Setup shards
  • Setup config server
  • Setup query router

VIII. SOURCE DEMO

Github config mongodb shard cluster: https://github.com/congdat850/sharding-by-docker-compose

Bình luận

Bài viết tương tự

- vừa được xem lúc

TÌM HIỂU VỀ MONGODB

. 1. Định nghĩa về MongoDB. . MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL(*) hàng đầu, được hàng triệu người sử dụng.

0 0 31

- vừa được xem lúc

Mongo DB cho người mới bắt đầu !

Lời nói đầu. Gần đây, mình mới bắt đầu nghiên cứu và sử dụng mongo db nên có chút kiến thức cơ bản về Mongo muốn share và note ra đây coi như để nhở (Biết đâu sẽ có ích cho ai đó).

0 0 22

- vừa được xem lúc

Áp dụng kiến trúc 3 Layer Architecture vào project NodeJS

The problem encountered. Các framework nodejs phổ biết như Express cho phép chúng ta dễ dàng tạo ra Resful API xử lí các request từ phía client một cách nhanh chóng và linh hoạt.

0 0 61

- vừa được xem lúc

Mongo DB cho người mới bắt đầu ! (P2)

Lời nói đầu. Gần đây, mình mới bắt đầu nghiên cứu và sử dụng mongo db nên có chút kiến thức cơ bản về Mongo muốn share và note ra đây coi như để nhở (Biết đâu sẽ có ích cho ai đó).

0 0 169

- vừa được xem lúc

Xây dựng CRUD RESTful API sử dụng Node, Express, MongoDB.

Introduction. Trong phạm vi bài viết này chúng ta sẽ cùng tìm hiểu về cách tạo restful api với Node, Express và MongoDB. . Xử lý các hoạt động crud.

0 0 210

- vừa được xem lúc

MongoDB là gì? Cơ sở dữ liệu phi quan hệ

Bài viết này mình sẽ giúp các bạn có cái nhìn tổng quan về MongoDB. Chúng ta không lạ gì với cơ sở dữ liệu quan hệ, còn với cơ sở dữ liệu phi quan hệ thì sao? MEAN stack (MongoDB, Express, AngularJS,

0 0 37