您的位置:首页 > 其它

使用elasticsearch作为TSDB

2015-09-15 18:08 183 查看
TSDB有不少,例如open TSDB,graphite等,还有最近的新贵influxdb

不过influxdb远远没到可成熟使用。对应的展示工具grafana号称源于kibana,用起来也不那么顺手。

YY: 既然grafana源于kibana,那influxdb是否和elasticsearch会不会也有些关系呢?

转了一圈,回到es上面。

es作为搜索引擎,作为文档型数据库,是不是也可以作为TSDB呢?

es提供了很强的聚合功能,max,min,avg,percentile,sum,count,还支持脚本和一次多种汇总(stat)

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html

例如,下面的例子显示了如何使用年龄段(20-29,30-39,40-49)分组,然后在用性别分组,

然后为每一个年龄段的每一个性别计算平均账户余额:

curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
{
"size": 0,
"aggs": {
"group_by_age": {
"range": {
"field": "age",
"ranges": [
{
"from": 20,
"to": 30
},
{
"from": 30,
"to": 40
},
{
"from": 40,
"to": 50
}
]
},
"aggs": {
"group_by_gender": {
"terms": {
"field": "gender"
},
"aggs": {
"average_balance": {
"avg": {
"field": "balance"
}
}
}
}
}
}
}
}'


就目前的感觉,es作为项目中的TSDB是足够了,安装配置不复杂,性能足够,操作接口基本都是RESTAPI.

而且ES本身的分布式集群功能也比较完善,支持海量的数据。

前端还有kibana作为面板图展示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: