InfluxDB时序、事件和指标数据库
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。InfluxDB 包括用于存储和查询数据,在后台处理ETL或监视和警报目的,用户仪表板以及可视化和探索数据等的API。
以下是InfluxDB目前支持的一些功能,使其成为处理时间序列数据的绝佳选择:
- 专为时间序列数据编写的自定义高性能数据存储。 TSM引擎允许高摄取速度和数据压缩
- 完全用 Go 语言编写。 它编译成单个二进制文件,没有外部依赖项
- 简单,高性能的写入和查询HTTP API
- 插件支持其他数据提取协议,如Graphite,collectd和OpenTSDB
- 专为类似SQL的查询语言量身定制,可轻松查询聚合数据
- 标签允许对系列进行索引以实现快速有效的查询
- 保留策略有效地自动使过时数据过期
- 连续查询自动计算聚合数据,以提高频繁查询的效率
InfluxDB 的开源版本只支持一个节点。
示例代码:
//初始化 influxdb = new InfluxDB(host, port, username, password, database); // with server set timestamps influxdb.writePoints("some_series", [ {"value": 23.0, "state": "NY", "email": "paul@influxdb.org"}, {"value": 191.3, "state": "CO", "email": "foo@bar.com"} ]); // with a specified timestamp influxdb.writePoints("response_times", [ {time: new Date(), "value": 232} ]); // get the latest point from the events time series series = influxdb.query( "select * from events limit 1;"); // get the count of events (using the column type) // in 5 minute periods for the last 4 hours series = influxdb.query( "select count(region) from events " + "group by time(5m) where time > now() - 4h;"); // get the count of unique event types in 10 second // intervals for the last 30 minutes series = influxdb.query( "select count(type) from events " + "group by time(10s), type where time > now() - 30m;"); // get the 90th percentile for the value column of response // times in 1 hour increments for the last 2 days series = influxdb.query( "select percentile(value, 90) from response_times " + "group by time(1h) where time > now() - 2d;"); // get the median in 1 hour increments for the last day series = influxdb.query( "select median(value) from response_times " + "group by time(1h) where time > now() - 1d;"); // get events from new york series = influxdb.query( "select * from events " + "where state = 'ny';"); // get the number of unique users in 1 hour periods // for the last 48 hours series = influxdb.query( "select count(distinct(email)) from events " + "group by time(1h) " + "where time > now() - 2d;"); // get the count of events in 10 minute increments // from users with gmail addresses series = influxdb.query( "select count(email) from events " + "group by time(10m) " + "where email =~ /.*gmail\.com/;");
评论
influxdb-orm时序数据库 InfluxDB 的 ORM
influxdb-orm是一个用于InfluxDB时序数据库的ORM,终结没有InfluxDBORM的时代。常用操作一把梭,支持php-fpm、Swoole环境,一键轻松切换。可以用于所有传统框架、所
influxdb-orm时序数据库 InfluxDB 的 ORM
0
influxdb-orm时序数据库 InfluxDB 的 ORM
influxdb-orm 是一个用于 InfluxDB 时序数据库的 ORM,终结没有 Influx
influxdb-orm时序数据库 InfluxDB 的 ORM
0
KDB+时序数据库
kdb+是一个面向列的时序列数据库,以及专门为其设计的查询语言q(和他们的域名一样简短)。Kdb+混合使用了流、内存和实时分析,速度很快,支持分析10亿级别的记录以及快速访问TB级别的历史数据。
KDB+时序数据库
0
TDengine时序数据库
TDengine是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达TB甚至PB级的数据得到高效实时的处理,对业务的运行
TDengine时序数据库
0