跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
InfluxDB
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{Infobox software | name = InfluxDB | logo = | developer = InfluxData | released = {{Start date and age|2013}} | latest_release_version = 2.7 | latest_release_date = {{Start date and age|2023|11}} | programming_language = [[Go]] | operating_system = 跨平台 | genre = [[时间序列数据库]] | license = [[MIT许可证]] | website = https://www.influxdata.com/ }} '''InfluxDB''' 是一个开源的[[时间序列数据库]],专为处理高写入和查询负载的时间序列数据而设计。它由InfluxData公司开发,采用[[Go]]语言编写,广泛应用于监控、分析、物联网(IoT)和实时分析等场景。 == 历史 == InfluxDB最初由Paul Dix于2013年开发,并于2014年9月发布首个稳定版本1.0。2015年,InfluxData公司成立,负责InfluxDB的商业化开发和支持。2020年11月,InfluxDB 2.0发布,引入了全新的用户界面和查询语言Flux。 == 主要特性 == * '''高性能''': 专为时间序列数据优化,支持高吞吐量的数据写入和查询 * '''时间序列专用查询语言''': 支持类SQL的InfluxQL和功能更强大的Flux语言 * '''水平扩展''': 通过InfluxDB Enterprise支持集群部署 * '''数据保留策略''': 可自动删除过期数据 * '''连续查询''': 支持自动降采样和聚合 * '''丰富的生态系统''': 与[[Telegraf]]、[[Grafana]]、[[Kapacitor]]等工具深度集成 == 数据模型 == InfluxDB使用以下核心概念组织数据: === 测量(Measurement) === 相当于关系型数据库中的表,用于存储相关的时间序列数据。 === 标签(Tags) === 索引字段,用于高效查询,由键值对组成。 === 字段(Fields) === 实际存储的数值数据,不支持索引。 === 时间戳(Timestamp) === 每条记录必须包含的时间戳。 示例数据结构: <syntaxhighlight lang="json"> { "measurement": "cpu_usage", "tags": { "host": "server01", "region": "us-west" }, "fields": { "value": 0.64 }, "time": "2023-12-01T12:00:00Z" } </syntaxhighlight> == 查询语言 == InfluxDB支持两种查询语言: === InfluxQL === 类SQL的查询语言,语法示例: <syntaxhighlight lang="sql"> SELECT mean("value") FROM "cpu_usage" WHERE time > now() - 1h GROUP BY time(10m), "host" </syntaxhighlight> === Flux === 功能更强大的脚本语言,示例: <syntaxhighlight lang="javascript"> from(bucket: "telegraf") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "cpu_usage") |> mean() |> group(columns: ["host"]) </syntaxhighlight> == 安装与配置 == === 使用Docker安装 === <syntaxhighlight lang="bash"> docker run -p 8086:8086 \ -v influxdb:/var/lib/influxdb \ influxdb:2.7 </syntaxhighlight> === 基本配置 === 1. 访问 http://localhost:8086 完成初始设置 2. 创建组织(Organization)和存储桶(Bucket) 3. 配置数据保留策略 4. 生成API令牌用于应用程序访问 == 企业版功能 == InfluxDB企业版提供额外功能: * 水平扩展和集群支持 * 高级安全功能 * 专业支持服务 * 长期数据保留 == 应用场景 == * '''IT监控''': 存储服务器指标、应用性能数据 * '''物联网''': 收集和分析传感器数据 * '''金融科技''': 存储市场数据和交易指标 * '''工业分析''': 设备状态监控和预测性维护 == 生态系统 == InfluxDB与以下工具深度集成: * [[Telegraf]]: 数据收集代理 * [[Grafana]]: 数据可视化工具 * [[Kapacitor]]: 流处理和告警引擎 * [[Chronograf]]: 官方管理界面 == 性能优化 == 为提高InfluxDB性能,可考虑以下策略: * 合理设计标签和字段 * 使用批量写入 * 配置适当的数据保留策略 * 对高频查询创建连续查询 == 与同类技术比较 == {| class="wikitable" |- ! 特性 !! InfluxDB !! [[Prometheus]] !! [[TimescaleDB]] |- | 存储模型 || 时间序列专用 || 时间序列专用 || 基于PostgreSQL的时序扩展 |- | 查询语言 || InfluxQL/Flux || PromQL || SQL |- | 集群支持 || 企业版提供 || 通过Thanos等实现 || 原生支持 |- | 主要用例 || 监控、IoT || 监控 || 通用时序应用 |} == 参见 == * [[时间序列数据库]] * [[Grafana]] * [[Prometheus]] * [[TimescaleDB]] == 参考资料 == <references /> == 外部链接 == * [https://www.influxdata.com/ 官方网站] * [https://github.com/influxdata/influxdb GitHub仓库] [[Category:时间序列数据库]] [[Category:开源软件]] [[Category:数据库管理系统]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
该页面使用的模板:
模板:Infobox
(
编辑
)
模板:Infobox software
(
编辑
)
模板:Infobox software/simple
(
编辑
)
模板:MONTHNAME
(
编辑
)
模板:MONTHNUMBER
(
编辑
)
模板:Main other
(
编辑
)
模板:Plainlist
(
编辑
)
模板:Plainlist/styles.css
(
编辑
)
模板:Start date and age
(
编辑
)
模板:Template link expanded
(
编辑
)
模板:Template other
(
编辑
)
模板:Tlx
(
编辑
)
模板:Trim
(
编辑
)
模板:URL
(
编辑
)
模板:Wikidata
(
编辑
)
模板:Years or months ago
(
编辑
)
模板:Yesno
(
编辑
)
模块:Arguments
(
编辑
)
模块:Check for unknown parameters
(
编辑
)
模块:Infobox
(
编辑
)
模块:Infobox/styles.css
(
编辑
)
模块:InfoboxImage
(
编辑
)
模块:Template link general
(
编辑
)
模块:URL
(
编辑
)
模块:Wd
(
编辑
)