授权协议: MIT
开发语言: Google Go 查看源码 »
操作系统: 跨平台
收录时间: 2013-11-06
提 交 者: 红薯

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/;");
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

InfluxDB 的相关博客

InfluxDB学习之InfluxDB的基本概念

一、与传统数据库中的名词做比较 influxDB中的名词 传统数据库中的概念 database 数据库 measurement 数据库中的表 points 表...

influxdb

centos7上 下载influxdb: #wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm 安装: #sudo yu...

influxDB

开源的分布式时序、时间和指标数据库,使用Go语言编写,无需外部依赖。其中,时间序列数据库是数据格式里包含Timestamp字段的...

InfluxDB从原理到实战 - 什么是InfluxDB

0x00 什么是InfluxDB InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储...

【InfluxDB】InfluxDB学习实践笔记

InfluxDB是用Go编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。它与Elasticsearch、Graphite等类似。比较适用于...

InfluxDB从原理到实战之InfluxDB时区

0x00 简介 InfluxDB默认以UTC时间存储并返回时间戳,当接收到一个时序数据记录时,InfluxDB将时间戳从本地时区时间转换为UTC...

InfluxDB学习之InfluxDB的基本操作

InfluxDB提供类SQL语法,如果熟悉SQL的话会非常容易上手。 本文就为大家介绍一下InfluxDB的基本操作。 InfluxDB提供类SQL语法...

InfluxDB学习之InfluxDB的安装和简介

系列详情请看:《InfluxDB系列教程》: InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安...

Influxdb

Influxdb的安装配置启动   influxdb简介     1、influxdb使用GO语言开发,是一种时序序列数据库     2、influxdb的...

influxDB

[TOC] 更新、更全的《Go从入门到放弃》的更新网站,更有python、go、人工智能教学等着你:https://www.cnblogs.com/nickchen1...

评论 (1)

加载中
打分: 推荐
很适合做监控系统
2017/03/07 13:47
回复
举报
更多评论
1 评论
257 收藏
分享
在线直播报名
返回顶部
顶部