你应该敬畏时间,因为那是一切的密码。
—— 电影《星际穿越》
近日,UCloud 新发布了一款时间序列数据库 UTSDB (UCloud TimeSeries Database) ,此次上线的 UTSDB-InfluxDB 版基于 InfluxDB v.1.7,完全兼容原生 InfluxDB 协议。后端存储接入 UCloud 自研的 Manul 统一存储,容量可动态扩充,最高可至数百 TB,并通过高效压缩节省 80% 存储成本。支持高并发写入,QPS 最高可达 350 万,为物联网等领域的亿级设备提供实时监控生产数据、全局掌握数据趋势等能力。
时序数据库对 IoT 的价值
时序数据是指基于时间的一系列数据,随着 IoT、5G 等技术的发展,工业物联网、智能家居、监控等行业对时序数据的需求呈现爆发式的增长,而传统关系型数据库难以对此进行有效的处理。不仅因为数据量比之前可能要多数万倍,实时采集、高频度、高密度的动态数据也导致模型随时可变。
为了更好的支持时序数据的存储分析,各种时序数据库( TimeSeries Database )应运而生,时序数据库可以基于时间区间进行聚合分析和高效检索,实现对时序数据的快速写入、持久化、多纬度的查询等功能。据 DB-Engines 2019 年 12 月的最新报告显示,近一年内时序数据库的受欢迎程度稳居前列。
InfluxDB 的优势
在最新的 DB-Engines 时间序列数据库的排名中,InfluxDB 超越了 Kdb+、Prometheus、OpenTSDB 等时序数据库排名第一位。InfluxDB 是一个用于存储和分析时间序列数据的开源数据库,无需特殊的环境依赖,使用简单方便,且底层采用了 TSMT 结构实现高性能读写。
相比其他类型的时序数据库,InfluxDB 的主要优势在于:
内置 HTTP 接口,使用起来更方便; 数据可以打标记,查询更灵活; 类 SQL 的查询语句; 安装管理简单,且读写数据高效; 实时查询,数据在写入时被索引后就能够被立即查出; 灵活的数据保留策略,可以定义到 Database 级别; 支持自定义插件,能够扩展到兼容多种协议,如 Graphite、collectd 和 OpenTSDB。 InfluxDB 特别适用于存储大规模的时序数据并进行实时分析,包括来自 DevOps 监控、应用指标和 IoT 传感器上的数据。
为什么选择 UTSDB-InfluxDB
InfluxDB 作为一款开源的数据库软件,用户可以选择自行购买服务器进行安装使用,但由于 InfluxDB 分布式集群版本闭源,每次版本变动都较大,尤其是在存储和集群方面。因此自建整个部署流程和后续的数据库维护,例如版本升级、漏洞修复、服务器故障处理等工作需要耗费不少时间精力,且前期硬件成本投入大、部署周期长。
而 UCloud 此次上线的 UTSDB-InfluxDB 在完全兼容开源 InfluxDB 版本的基础上,后端存储还接入 UCloud 自研的分布式 Manul 统一存储,提供了动态可扩充的存储容量。通过 UCloud 控制台界面创建实例,用户可根据业务的实际需求情况按需选择时序数据库实例 CPU 和内存规格大小,从而实现业务的快速灵活可拓展。
相比自建 InfluxDB,UTSDB-InfluxDB 还具备以下优势:
数据高效读写
提供高并发、平稳、持续、实时写入数据,QPS (每秒数据点写入)最高可达 350W。HTTP API 使用简单,且支持高效的写入和查询。
数据写入:支持通过 API 方式和 InfluxDB 语法写入协议;类 SQL 的查询语句,可轻松查询聚合数据;
数据查询:支持通过 API 访问和控制台查询两种方式;支持对标签( tag )建索引,以实现快速有效的查询。
高效压缩存储
UTSDB-InfluxDB 版专为时间序列数据定制的高性能数据存储,TSM 引擎支持数据高效写入和数据压缩;可以降低 80% 存储使用空间,同时加快数据写入的速度,降低存储空间成本。
时序数据计算能力
提供专业全面的时序数据计算函数,支持数据多维度(降采样、插值、多种聚合计算)查询分析;连续查询( CQ )自动计算聚合数据,以提高频繁查询的效率;保留策略( RP )有效地自动使过时数据过期。
计算与存储分离
UTSDB-InfluxDB 采用计算与存储分离架构,支持三副本存储确保数据安全可靠;支持 Manul 统一存储技术,IO 性能强大;数据库宕机时支持秒级迁移、业务层几乎无影响;提供最高数百 TB 的存储空间,支持存储空间动态扩缩容,根据实际使用量计费,有效节省存储成本。
简单易用
支持使用 InfluxQL 方式对时序数据库进行访问和管理,完全兼容 InfluxDB 的读写协议;
通过控制台即可一键部署 InfluxDB,实现对实例及时序数据库进行管理,并提供监控功能,高效便捷,实时发现实例瓶颈。
UTSDB-InfluxDB 存储计算分离架构
UTSDB-InfluxDB 采用存储与计算分离架构,由存储层 + 计算层构成,存储层基于 Manul 统一存储,简要框架如下:
通过 UTSDB-InfluxDB 写入的数据都将写入 Manul 统一存储中,Manul 统一存储提供数据可靠性保证。如果物理机出现问题,调度系统可以随时在另一台机器上重启 UTSDB,无需再做数据的迁移,从而大幅度降低运维成本并提高服务可用性。
UTSDB-InfluxDB 应用场景
可以说,绝大部分数据的产生都与时间有着密不可分的联系,时序数据的处理分析在越来越多的场景中出现,例如物联网传感器、移动互联网、工业生产等。UTSDB-InfluxDB 因其高效的数据读写、存储计算分离、简单易用等特性,可以充分解决以下应用场景中时序数据的处理难题。
IoT 平台企业
IoT 物联网企业通过将设备接入云端,实现设备云端监控、设备能源管理、设备预测性维护、设备租赁等功能,服务平台将设备的状态及记录的数据高并发实时写入到时序数据库 UTSDB-InfluxDB 中,通过 UCloud 控制台及客户端工具等多种查询方式来访问时序数据并进行数据分析。
互联网运维及业务监控
互联网行业也有大量的时序数据,例如用户访问网站的行为轨迹,业务运维监控系统分析,应用程序产生的日志数据等,将这些数据写入 UTSDB-InfluxDB 中可以做监控数据展示,并进行多维聚合计算查询。
工业制造行业
传统制造业的生产安全监控需要通过产品智能化实现设备自诊断、自调整、自适应,降低设备运维成本,提高设备利用率。UTSDB-InfluxDB 可帮助制造商创造新的商业模式,将产品转化成服务、数据转化成价值,提供多种查询方式,能够从整体大局上查看数据趋势及平均数值,从多维度进行数据分析、成本预算、资源规划等。
此外,UTSDB-InfluxDB 还可结合 UCloud-IoT 平台,通过工业设备实时采集数据点、云平台时序数据库存储、进行海量数据分析处理,实现对制造业的生产设备的预测及维护、来改善生产制造系统,提高生产效率及质量,推动智能制造落地。
目前 UTSDB-InfluxDB 正处于免费公测阶段,欢迎体验~