2017-08-08 80 views
0

對不起,如果這是一個抽象的問題,我會盡量提供更多的細節。每個實驗都有自己的一組元數據(基本上是鍵/值對,比如開始時間,結束時間,名稱,資源基數,系統類型等),並且每個實驗都有一組元數據以及與各種性能指標相關的一個或多個時間序列數據(例如,以10秒爲間隔從頭到尾的CPU和內存使用情況)。 數據量不會很大;最多幾個千兆字節每月。實驗數據組織 - 是否會彈性搜索?

我想將這些數據存儲在單個系統中(例如,在某些特定時間序列數據庫中不包含MySQL中的元數據和性能數據)。 elasticsearch會適合這個嗎?我怎樣才能最好地索引數據?

編輯:要更清楚,這裏有一些關於如何組織數據的想法。對於元數據,使用metadata指數,例如,像這樣的實驗aa_12:

{ 
    "_id": "aa_12", 
    "_source": { 
    "name": "aa_12", 
    "start": 1420070400001, 
    "end": 1420097400001, 
    "system": "cluster-1", 
    "nodes": 6, 
    ... 
    } 
} 

具有實驗名稱爲_id使得不定期的更新更容易(我想)。

則關聯到這個實驗中的時間序列使用索引perfdata舉例如下:

{ 
    "_source": { 
    "host": "cluster-1-1", 
    "experiment": "aa_12", 
    "cpu1": 44, 
    "cpu5": 40, 
    "cpu15": 41, 
    "memtot": 16384, 
    "memused": 5025, 
    ... rest of metrics 
    "time": 1420070410001 
    } 
} 

,所以我可以查詢,例如,「給我量度X主機Y代表的實驗時間Z「並使用kibana/timelion獲得度量圖。我的關注點是,perfdata指數可能增長到包含大量條目(整體規模不是很大,但仍有幾十萬條目)。以上是否有意義?

回答

1

按我的知識,

  • InfluxDB,卡桑德拉是時間序列數據的不錯的選擇
  • Elasticsearch是元數據不錯的選擇

ELasticsearch是建立搜索雖然很多人都能夠通過使用快照和還原功能減輕Elastic中的彈性問題,將其用作永久性數據存儲。這裏是鏈接ElasticSearch resiliency

此外,如果您的用例類似於下面的問題,那麼ES是要走的路。

  • 您是否打算使用ES進行搜索?是
  • 聚合,全文搜索?是
  • 你關心數據永續性嗎?沒有

如果你做一下數據彈性照顧,我會建議,存儲元數據的其他存儲(MySQL的),以及除ES或使用快照或恢復ES的功能,以保持彈性。