Mongodb
ElasticSearch:這個問題適合 ElasticSearch DB 嗎?
我有一些硬體儀器,每個儀器都記錄一個信號並生成時間戳/值對序列。時間戳是基本的 UTC posix 時間,值是雙精度值。
我想將這些對記錄在數據庫中以供以後檢索。因為我們想在多台伺服器上進行擴展,所以我們排除了關係數據庫並選擇了 NoSQL 解決方案。
核心案例將是從給定時間段(開始時間、結束時間)中檢索一組值。
ElasticSearch 是一個好的解決方案嗎?MongoDB呢?
對於您的鍵值數據案例,值很簡單,MongoDB 超出了您的需要。它是用於復雜值類型的面向文件的數據儲存。特定的鍵值儲存將滿足您的需求。RIAK 是我看過的,儘管還有其他幾個。
由於您的檢索將按時間範圍(即鍵範圍)進行,因此 Elastic 的全文功能將再次成為您沒有回報的成本。
你沒有說你的橫向擴展要求是什麼,無論是本地寫入和全域讀取還是整個數據集的完全複製等。幾個關係引擎提供分佈式功能。例如,MariaDB 有 Galera。SQL Server 具有分佈式分區視圖。其他流行的系統可以提供類似的功能。NeoDB 在設計上是關係型和多主機。關係模型建立在理論上合理的原則基礎上,經過了數十年的行業發展。如果你不加控制地打折,你會對自己造成傷害。
你的數據確實有結構,即使它是一個簡單的結構。您有一個主鍵(設備和時間)和一個功能相關的屬性。無論您是在模式中以聲明方式還是在程序的資料結構中隱式定義它,它仍然存在。
Elasticsearch 很好用,任何解決方案都會有不需要的功能。
但為什麼不使用持久鍵值儲存解決方案 http://rocksdb.org/