Mongodb shard cluster

I. KHÁI NIỆM MONGDB SHARD CLUSTER 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

I. KHÁI NIỆM MONGDB SHARD CLUSTERimage2022-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 CLUSTERco.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 SHARDINGshard1.png

VI. HASHED SHARDINGshard2.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

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th