Xin chào tất cả và cảm ơn trước. Tôi mới tham gia trò chơi NoSQL nhưng nơi làm việc hiện tại của tôi đã giao nhiệm vụ cho tôi với các so sánh được thiết lập của một số dữ liệu lớn.Giải pháp tốt nhất cho việc tìm kiếm 1 x 1 triệu giao lộ được thiết lập? Redis, Mongo, khác
Hệ thống của chúng tôi có bộ thẻ khách hàng và bộ thẻ được nhắm mục tiêu. Thẻ là số có 8 chữ số.
Bộ thẻ khách hàng có thể có tối đa 300 thẻ nhưng trung bình 100 thẻ
Bộ thẻ được nhắm mục tiêu có thể có tối đa 300 thẻ nhưng trung bình 40 thẻ.
Tính toán trước không phải là một tùy chọn khi chúng tôi quay cho một cơ sở khách hàng tiềm năng của một tỷ người dùng.
(Các thẻ được phân cấp do đó, có một thẻ ngụ ý rằng bạn cũng có thẻ phụ huynh và tổ tiên của mình. Đặt thông tin mà dành cho thời điểm này.)
Khi một khách hàng lượt truy cập trang web của chúng tôi, chúng ta cần phải cắt thẻ của họ đặt chống lại một triệu thẻ được nhắm mục tiêu đặt nhanh nhất có thể. Bộ khách hàng phải chứa tất cả các phần tử của tập hợp được nhắm mục tiêu để khớp.
Tôi đã khám phá các tùy chọn của mình và giao điểm được đặt trong Redis có vẻ như nó sẽ lý tưởng. Tuy nhiên, trolling của tôi thông qua internet đã không tiết lộ bao nhiêu ram sẽ được yêu cầu để giữ một triệu bộ thẻ. Tôi nhận ra giao lộ sẽ nhanh như chớp, nhưng đây có phải là giải pháp khả thi với Redis không.
Tôi nhận thấy đây là lực lượng vũ phu và không hiệu quả. Tôi cũng muốn sử dụng câu hỏi này như là phương tiện để có được các đề xuất về cách thức loại vấn đề này đã được xử lý trong quá khứ. Như đã nêu trước đây, các thẻ được lưu trữ trong một cây. Tôi cũng đã bắt đầu xem Mongodb như một giải pháp khả thi.
Cảm ơn lần nữa
Đây là lưu trữ sử dụng bộ nhớ/bộ nhớ điển hình so với tình trạng khó xử về thời gian xử lý, phải không? Bạn có thể tính toán tập hợp thẻ kết quả trên cập nhật thẻ, lưu trữ thẻ và phân phát nhanh hơn hoặc thực hiện phép tính động khi dữ liệu thực sự cần thiết. Bạn có thể cân nhắc chọn tùy chọn đầu tiên nếu cập nhật thẻ không phổ biến hoặc suy nghĩ về tùy chọn cơ sở dữ liệu nhóm (Clustrix, ví dụ) –
Cảm ơn bạn. Tôi nên đã xác định. Chúng tôi hiện đang tính toán trước, nhưng nếu chúng tôi thành công như một công ty, chúng tôi có thể xem xét một tỷ khách hàng tiềm năng. Tôi sẽ xem xét Clusterix – MFD3000
Mongodb không cung cấp gì cho giao lộ được thiết lập. Và nếu bạn nhận được một số RAM (như 100 GB), bạn có thể lưu trữ một số lượng lớn các phím trong redis :) –