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

Biểu diễn MongoDB - có bao nhiêu cơ sở dữ liệu, bộ sưu tập?

Cách tiếp cận 1 (A): Tạo một cơ sở dữ liệu duy nhất cho mọi thứ. (Với bộ sưu tập duy nhất)

Ưu điểm:

  • Ít bảo trì hơn:Sao lưu, tạo người dùng cơ sở dữ liệu, khôi phục, v.v.

Nhược điểm:

  • Bạn có thể thấy khóa cấp cơ sở dữ liệu để tạo chỉ mục trên cơ sở dữ liệu lớn
  • Để thực hiện các thao tác trên dữ liệu cảm biến cụ thể, bạn cần thêm các chỉ mục bổ sung để chỉ tìm nạp bộ sưu tập cụ thể của cảm biến
  • Bạn bị ràng buộc không tạo hơn 64 chỉ mục trên một bộ sưu tập duy nhất. Mặc dù chiến lược lập chỉ mục nghe có vẻ tệ.

Cách tiếp cận 1 (B): Tạo một cơ sở dữ liệu duy nhất cho mọi thứ. (Với 1 bộ sưu tập cho mỗi cảm biến)

Ưu điểm:

  • Ít bảo trì hơn:Sao lưu, tạo người dùng cơ sở dữ liệu, khôi phục, v.v.
  • Giảm thiểu nhu cầu tạo chỉ mục để xác định dữ liệu cụ thể của cảm biến từ toàn bộ bộ sưu tập nguyên khối
  • Mọi truy vấn cụ thể của cảm biến sẽ chỉ được nhắm mục tiêu trên một bộ sưu tập cụ thể. Không yêu cầu kéo tập hợp làm việc lớn vào bộ nhớ so với một tập hợp lớn duy nhất.
  • Việc xây dựng chỉ mục trên tập hợp tương đối nhỏ hơn khả thi hơn so với tập hợp lớn trong một DB

Nhược điểm:

  • Cuối cùng, bạn có thể tạo quá nhiều chỉ mục. (Tổng của tổng số chỉ mục trên tất cả các bộ sưu tập).
  • Cần phải bảo trì nhiều hơn đối với một số lượng lớn các chỉ mục.
  • WiredTiger tạo 1 tệp cho bộ sưu tập và 1 tệp cho chỉ mục nội bộ. Nếu trường hợp sử dụng của bạn phát triển với số lượng lớn các cảm biến. Bạn có thể sử dụng giới hạn tệp mở 64K.

Về hiệu suất, có vấn đề gì không nếu tôi phân vùng dữ liệu theo từng cảm biến hoặc theo số liệu?

  • Điều này phụ thuộc vào các kiểu truy cập được mong đợi từ ứng dụng phân tích của bạn.

Về hiệu suất, tôi có nên tạo bộ sưu tập chỉ cho thông tin cảm biến và sau đó bộ sưu tập dữ liệu hay chỉ hợp nhất hai bộ sưu tập trong cùng một bộ sưu tập?

  • Việc tạo một bộ sưu tập cho siêu dữ liệu cảm biến và dữ liệu cảm biến có thể là cần thiết. Nó sẽ giảm thiểu siêu dữ liệu cảm biến trùng lặp trong mỗi và mọi dữ liệu cảm biến được thu thập.

  • Bạn có thể thích đọc Bài đăng trên blog của Williams ở đây về thiết kế mẫu này.

Như mọi khi, tốt hơn là nên thiết kế một lược đồ mẫu và kiểm tra các truy vấn của bạn trong môi trường thử nghiệm của bạn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuyển đổi chênh lệch ngày thành năm để tính tuổi trong MongoDB

  2. làm cách nào để đếm $ lookup field trong mongo db?

  3. pymongo nhận được E11000 lỗi chỉ mục chính lỗi trùng lặp lỗi pymongo

  4. Kết nối với nhiều máy chủ mongo db và xác thực bằng cơ sở dữ liệu khác trong khởi động mùa xuân

  5. Tìm sự khác biệt giữa 2 tài liệu trên mongoDB từ mongo shell