对不起,如果这是一个抽象的问题,我会尽量提供更多的细节。每个实验都有自己的一组元数据(基本上是键/值对,比如开始时间,结束时间,名称,资源基数,系统类型等),并且每个实验都有一组元数据以及与各种性能指标相关的一个或多个时间序列数据(例如,以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
指数可能增长到包含大量条目(整体规模不是很大,但仍有几十万条目)。以上是否有意义?