我想利用es做多维数据分析,但是由于不同的指标可能拥有不同的维度,如果指标数据都放在同一个index,由于维度名不一样,这样会造成数据很稀疏,而且字段也会越来越多,如果不同的指标放不同的index,这样又会造成index数量越来越多。
请问如果用es做业务指标的存储以及多维数据分析的话,怎么存比较好?或者es本身就不适合这样的场景。我们也考虑了opentsdb,druid,但是这两者运维成本相对较高。谢谢!
请问如果用es做业务指标的存储以及多维数据分析的话,怎么存比较好?或者es本身就不适合这样的场景。我们也考虑了opentsdb,druid,但是这两者运维成本相对较高。谢谢!
2 个回复
Jea - 一只猿
赞同来自:
按照天区分, 每天一个索引, 相关数据都放一个index: index-year-month-day
脚本每月reindex到index: index-year-month; 删除原: index-year-month-day
查询时候 host:9200/index-year-month-*( 或者多个日期如:index-year-month-day1,index-year-month-day2,index-year-month-day3 )/_search
一个月前的数据迁移为冷数据
倒是没考虑数据稀疏这种问题, 因为需求在那放着
rochy - rochy_he
赞同来自:
例如按小时建立索引
查询的时候可能会按照日、月、年等更多维度来查询
ES 有一个叫 RollUp 的功能,可以根据最小粒度的数据,根据设置的维度生成新的结果
这样例如:根据小时生成日、月、年
查询的时候会根据新生成的结果进行查询,这样效率很高
请参考:https://www.elastic.co/guide/e ... .html