Bản thân tôi là người bắt đầu sử dụng cơ sở dữ liệu NoSQL. Vì vậy, tôi trả lời điều này với chi phí là số phiếu bầu có khả năng bị giảm nhưng đó sẽ là một kinh nghiệm học tập tuyệt vời cho tôi.
- để biết liệu MongoDB có phù hợp để lưu trữ dữ liệu như vậy hay không, dữ liệu này cuối cùng sẽ được truy vấn dựa trên phạm vi thời gian (ví dụ:truy xuất tất cả hình ảnh của một máy ảnh cụ thể trong một giờ cụ thể)? Bất kỳ đề xuất nào về thiết kế giản đồ Dựa trên tài liệu cho trường hợp của tôi?
MongoDB là một db định hướng tài liệu, rất tốt trong việc truy vấn bên trong một tổng hợp (bạn gọi nó là tài liệu). Vì bạn đã lưu trữ dữ liệu của từng máy ảnh trong bảng riêng của nó, nên trong MongoDB, bạn sẽ có một bộ sưu tập riêng biệt được tạo cho mỗi máy ảnh. Đây là cách thực hiện bạn thực hiện các truy vấn phạm vi ngày.
- Các thông số kỹ thuật của máy chủ (CPU, RAM, Disk) là gì? bất kỳ đề xuất?
Tất cả các cơ sở dữ liệu NoSQL được xây dựng để mở rộng quy mô trên phần cứng hàng hóa. Nhưng theo cách bạn đã đặt câu hỏi, bạn có thể đang nghĩ đến việc cải thiện hiệu suất bằng cách mở rộng quy mô . Bạn có thể bắt đầu với một máy hợp lý và khi tải tăng lên, bạn có thể tiếp tục thêm nhiều máy chủ hơn (mở rộng quy mô). Bạn không cần phải lập kế hoạch và mua một máy chủ cao cấp.
- Tôi có nên xem xét Sharding / Replication cho trường hợp này không (trong khi xem xét hiệu suất bằng văn bản để đồng bộ hóa các tập hợp bản sao)?
MongoDB khóa toàn bộ db cho một lần ghi (nhưng mang lại kết quả cho các hoạt động khác) và dành cho các hệ thống có nhiều lần đọc hơn lần ghi. Vì vậy, điều này phụ thuộc vào hệ thống của bạn như thế nào. Có nhiều cách để đánh giá sharding và phải dành riêng cho từng miền. Một câu trả lời chung chung là không thể. Tuy nhiên, một số ví dụ có thể được đưa ra như sharding theo địa lý, theo chi nhánh, v.v.
Đồng thời đọc Giới thiệu đơn giản bằng tiếng Anh về Định lý CAP
Đã cập nhật câu trả lời cho nhận xét về sharding
Theo tài liệu của họ , Bạn nên xem xét triển khai một cụm phân đoạn, nếu:
Vì vậy, dựa trên điểm cuối cùng có. Tính năng tự động làm sắc nét được xây dựng để ghi tỷ lệ. Trong trường hợp đó, bạn có khóa ghi cho mỗi phân đoạn , không theo cơ sở dữ liệu . Nhưng câu trả lời của tôi là lý thuyết. Tôi khuyên bạn nên tham khảo ý kiến từ nhóm 10gen.com.