我已經在研究NoSQL一段時間了,但我還在努力圍繞搜索和過濾結果/文檔。NoSQL/Document Store搜索
在NoSQL世界中,我如何找到兩個時間戳內的所有數據?如果一切都按鍵/值存儲?或者在緯度和經度點的半徑內找到所有文件?
謝謝
我已經在研究NoSQL一段時間了,但我還在努力圍繞搜索和過濾結果/文檔。NoSQL/Document Store搜索
在NoSQL世界中,我如何找到兩個時間戳內的所有數據?如果一切都按鍵/值存儲?或者在緯度和經度點的半徑內找到所有文件?
謝謝
不同的數據結構支持不同的用例。例如,如果您可以使用字典/地圖界面的有限API來處理分佈式散列表,那麼這將是一個不錯的選擇。
如果您需要詢問更復雜的數據庫查詢,請選擇一個支持該用例的數據庫。數據庫景觀非常多樣,並且可能有一個數據庫供您使用。
對於範圍查詢,BigTable克隆(以及表達式查詢能力中的向上)可能值得考慮。
即使具有正確數據結構的數據庫速度不夠快或無法擴展,仍然可以使用分片,複製和巧妙使用緩存或搜索索引等技巧。
如何權衡一致性,可用性,彈性,吞吐量和延遲等約束條件都取決於具體問題,並且您可能會發現需要多種類型的數據庫才能實現最佳解決方案。
不要人爲地讓事情變得更難;過早優化,你知道。
我在一家MySQL商店工作,它工作的速度足以滿足我們每天成千上萬的交易(數百萬次查詢),並且足以可靠地用於我們的軟件在實況電視事件中的使用。
對不起,我不能給你一個比這更具體的答案。
例如,MongoDB支持範圍查詢,您可以在緯度/經度信息上創建地理索引。 NoSQL數據庫之間有很大的區別。
問題太籠統了。至少你應該提到你想使用哪個nosql db。 – 2011-06-22 02:12:52