使用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)分组,然后在用性别分组,
然后为每一个年龄段的每一个性别计算平均账户余额:
就目前的感觉,es作为项目中的TSDB是足够了,安装配置不复杂,性能足够,操作接口基本都是RESTAPI.
而且ES本身的分布式集群功能也比较完善,支持海量的数据。
前端还有kibana作为面板图展示。
不过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作为面板图展示。
相关文章推荐
- Notes on Convolutional Neural Networks(阅读)
- 关于冒烟测试、随机测试、猴子测试
- as3 字符串 根据分隔符分隔数据
- 关于空白模板插件的使用
- nc 命令
- javascript函数科里化
- Bitmap裁剪图片
- UIday1601:网络编程 GET POST 的同步或异步请求,服务器接口的简单介绍。
- nginx命令详解
- 数据库设计学习博客文章汇总
- 国内yum源
- Nginx 的 proxy_store 缓存
- jQuery 实现侧边浮动导航菜单效果
- 让apache支持https的设置步骤
- UDP协议基础知识
- 读取文件内容的一般方式
- top命令使用详解
- Activity四种启动方式
- 第3周实践项目--顺序表的基本运算(3)
- 小心使用NSAssert