MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Điều đó có nghĩa là gì để phù hợp với bộ làm việc vào RAM cho MongoDB?

"Nhóm làm việc" về cơ bản là lượng dữ liệu VÀ chỉ mục sẽ được hệ thống của bạn hoạt động / sử dụng.

Vì vậy, ví dụ, giả sử bạn có giá trị dữ liệu của 1 năm. Để đơn giản, mỗi tháng tương ứng với 1GB dữ liệu, tổng cộng là 12GB và để trang trải giá trị dữ liệu của mỗi tháng, bạn có chỉ mục trị giá 1GB một lần nữa, tổng cộng là 12GB trong năm.

Nếu bạn luôn truy cập giá trị dữ liệu của 12 tháng qua, thì tập hợp làm việc của bạn là:12GB (dữ liệu) + 12GB (chỉ mục) =24GB.

Tuy nhiên, nếu bạn thực sự chỉ truy cập vào giá trị dữ liệu của 3 tháng gần nhất, thì tập hợp làm việc của bạn là:3GB (dữ liệu) + 3GB (chỉ mục) =6GB. Trong trường hợp này, nếu bạn có RAM 8GB và sau đó bạn bắt đầu thường xuyên truy cập dữ liệu có giá trị của 6 tháng qua, thì bộ làm việc của bạn sẽ bắt đầu vượt quá RAM khả dụng và có tác động đến hiệu suất.

Nhưng nói chung, nếu bạn có đủ RAM để trang trải lượng dữ liệu / chỉ mục mà bạn mong đợi thường xuyên truy cập thì bạn sẽ ổn.

Chỉnh sửa:Trả lời câu hỏi trong nhận xét
Tôi không chắc mình hoàn toàn theo dõi, nhưng tôi sẽ trả lời. Thứ nhất, tính toán cho bộ làm việc là một "hình công viên bóng". Thứ hai, nếu bạn có (ví dụ) chỉ mục 1GB trên user_id, thì chỉ phần của chỉ mục đó thường được truy cập cần có trong RAM (ví dụ:giả sử 50% người dùng không hoạt động, thì 0,5GB chỉ mục sẽ thường xuyên hơn yêu cầu / cần thiết trong RAM). Nói chung, bạn càng có nhiều RAM thì càng tốt, đặc biệt là bộ làm việc có thể sẽ phát triển theo thời gian do tăng mức sử dụng. Đây là lúc sharding xuất hiện - phân chia dữ liệu qua nhiều nút và bạn có thể mở rộng quy mô một cách hiệu quả. Sau đó, tập hợp làm việc của bạn được chia cho nhiều máy, có nghĩa là càng nhiều máy có thể được giữ trong RAM. Cần thêm RAM? Thêm một máy khác vào phân đoạn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để in ra hơn 20 mục (tài liệu) trong trình bao của MongoDB?

  2. Thống kê trực quan cho Máy chủ MongoDB của bạn

  3. Tìm theo id với mgo

  4. MongoDB $ toDecimal

  5. MongoDB $ arrayElemAt