Tôi có một bộ sưu tập với 100 triệu tài liệu hình học.MongoDB và sử dụng DBRef với dữ liệu không gian
Tôi có bộ sưu tập thứ hai có dữ liệu thời gian được liên kết với từng hình dạng khác. Đây sẽ là 365 * 96 * 100 triệu hoặc 3,5 nghìn tỷ tài liệu.
Thay vì lưu trữ 100 triệu mục (365 * 96) lần nhiều hơn mức cần thiết, tôi muốn giữ chúng trong các bộ sưu tập riêng biệt và thực hiện một kiểu JOIN/DBRef/Bất kỳ thứ gì tôi có thể trong MongoDB.
Đầu tiên và trước hết, tôi muốn nhận danh sách GUID từ bộ sưu tập hình học bằng cách sử dụng tính năng geoIntersection. Điều này sẽ lọc nó xuống 100 triệu đến 5000. Sau đó, sử dụng 5000 hình học đó tôi muốn lọc 3,5 nghìn tỷ tài liệu dựa trên 5000 goemetries và tiêu chí ngày bổ sung mà tôi chỉ định và tổng hợp dữ liệu và tìm mức trung bình. Bạn được để lại với 5000 hình học và 5000 trung bình cho các tiêu chí ngày bạn đã chỉ định.
Điều này về cơ bản là một JOIN như tôi biết trong SQL, điều này có thể có trong MongoDB và nó có thể được thực hiện tối ưu trong vòng chưa đầy 10 giây.
Làm rõ: như tôi hiểu, đây là những gì DBrefs được sử dụng, nhưng tôi đọc rằng nó không hiệu quả chút nào, và đối phó với nhiều dữ liệu này sẽ không phù hợp.
DBRef về cơ bản không còn được dùng nữa - đó là ý tưởng tồi khi tham gia vào ứng dụng của bạn, đó là những gì bạn đang làm ở đây. Các hình học này lớn đến cỡ nào? –
Các hình học là khoảng 100 byte mỗi, do đó, nó không khả thi cho họ sao chép một cách không chuẩn hóa. Cùng với bộ sưu tập hình học chạy 10GB, vì vậy mà không cần tham gia nó sẽ cần thêm 350400 GB không gian. – ParoX