推荐物联网项目中采用时序数据库
随着制造业数字化的发展以及物联网应用的普及,越来越非互联网、业务系统的数据被采集、记录和存储。
很多系统开发者熟悉的是 Oracle、MySQL等关系型数据库,以及像 Redis 这样的键值数据库,于是在物联网应用、制造业数字化应用中也延续了相似的数据库选型。
这样做得好处很直接,产品熟悉,技术难度可控,开发工期可控。但随着系统运行时间的推移,该方案面临的性能挑战越来越大,而且在业务开发中会面临很多相似的查询、统计需求需要实现。
为什么呢?我们再审视一下物联网数据、制造业数据的特点。
首先,数据结构相对简单,主要包含三列,时间、标签、值;
第二,数据生成大多具有稳定的节奏,不存在或者与一般互联网应用那样的波峰波谷;
第三,数据很少更新,更多的是一次写,多次查询;
第四,数据量极其巨大,同时对于存储成本又很敏感;
第五,数据分析统计中很重要的维度之一是时间;
……
以上这些特点和我们熟悉的交易类数据有很明显的不同。虽然用关系型数据库可以存储和管理,但没有很好地利用对于数据的理解。
如果能选择针对这类数据特点的专用数据库,则会让很多技术难点得到化解,而且会提高系统的稳定性。在数据库行业中,这类产品叫时序数据库。
时间序列数据库是广泛应用于物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业场景的专业数据库产品,提供百万高效写入,高压缩比低成本存储、预降采样、插值、多维聚合计算,查询结果可视化功能;解决由于设备采集点数量巨大,数据采集频率高,造成的存储成本高,写入和查询分析效率低的问题。
下面介绍几款时间数据库产品供大家选择。
Informix TimeSeries
Informix TimeSeries在时间序列数据库中的位置就像Oracle 在关系数据库中一样,属于经典的产品。
它给后续时间数据库产品研发提供了很好的标杆作用。其针对时间序列数据的特殊存储结构、索引设计以及专用计算函数都属于创新性的设计。
它也是多模数据的早期实践者,能与关系型数据库引擎并存,简化了应用系统设计、部署的复杂度。
InfluxDB
时序数据库 InfluxDB版是一款专门处理高写入和查询负载的时序数据库,用于存储大规模的时序数据并进行实时分析,包括来自DevOps监控、应用指标和IoT传感器上的数据。目前有以下特点:
- 专为时间序列数据量身打造的高性能数据存储设备。TSM引擎提供数据高速读写和压缩等功能。
- 简单高效的HTTP API写入和查询接口。
- 针对时序数据,量身打造类似SQL的查询语言,轻松查询聚合数据。
- 允许对tag建索引,实现快速有效地查询。
- 数据保留策略(Retention policies)能够有效地使旧数据自动失效。
OpenTSDB
OpenTSDB是可扩展的分布式时序数据库,底层依赖HBase。作为基于通用存储开发的时序数据库典型代表,起步比较早,在时序市场的认可度相对较高。
OpenTSDB的自我定位很清晰:The Scalable Time Series Database。
如果应用场景很看重扩展性,可以选择 OpenTSDB,否则就要考虑一下是否需要接受将 HBase 也纳入到技术栈和系统中了。
阿里云智能TSDB
阿里云智能TSDB高度兼容OpenTSDB协议,采用自研的索引,数据模型,流式聚合等技术手段提供更强大的时序能力。它不是简单地把OpenTSDB在云上部署了一份,而是基于云计算架构重新设计了底层架构;同时由于阿里云TSDB底层技术架构同OpenTSDB的实现区别巨大,对于OpenTSDB的一些运维接口不会兼容。从运维管控,功能,成本,性能等方面对比,阿里云智能TSDB相比OpenTSDB而言,优势还是很明显的。
上述应用架构中,设备将原始数据通过 MQTT 协议发送到物联网平台,经由物联网平台将数据转发到消息服务系统,继而通过流计算系统对这些数据进行实时计算处理后写入到 TSDB 中存储,或者经由物联网平台直接将原始数据写入 TSDB 中存储。前端的监控系统和大数据处理系统会利用 TSDB 的数据查询和计算分析能力进行业务监控和分析结果的实时展现。
阿里云TSDB for InfluxDB
阿里云TSDB for InfluxDB则是云上的 InfluxDB 版,与InfluxDB 有很好的兼容性,可顺利地将线下数据库迁移至云上;同时省去了部署、运维管理的复杂度。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
英特尔正准备为 Linux 提供 Windows 用户所没有的 “超能力”
英特尔计划在 Linux 内核 5.17 中引入一个特殊的变化,可以在不重启系统的情况下更新系统固件。 去年发现的几个安全漏洞,使得系统管理员很难在不停机的情况下迅速修补系统。 如果能做出一些改进,在不重启系统的情况下更新一些关键组件以提高安全/性能呢? 英特尔旨在通过其新的 PFRUT(平台固件运行时更新和遥测Platform Firmware Runtime Update and Telemetry)驱动程序来实现这一目标。 英特尔计划在 Linux 内核 5.17 中提供 PFRUT 虽然 Linux 内核 5.16 将在本周晚些时候发布,不过英特尔的目标是将这一新的功能合并到即将发布的 Linux 内核 5.17 稳定版。 但是,它究竟是什么? 有了 PFRUT 驱动,特定组件(或系统固件)可以在系统运行时进行更新,而不需要重新启动。 最初,英特尔倾向于将其称为“无缝更新”解决方案。然而,随着最近被添加到 Linux 电源管理的 linux-next 分支中的 Linux 内核提交,他们可能会继续使用一个厂商中立的名字,即 pfrut_driver。 顺便说一句,linux-n...
- 下一篇
Qmmp 2.0.3 发布,开源音频播放器
Qmmp 是一个免费开源的跨平台音频播放器,它是用 C++ 编写的,用户界面使用 Qt widget 工具包。Qmmp 以其小巧、可设置主题的用户界面和对系统资源的低占用率而闻名。 Qmmp 2.0.3 发布,自 2.0.0 以来的变化包括: 修复了构建问题 修复了传输插件的加载 修复了双倍大小模式下的音量条绘制 修复了符号链接支持 修正了双面板文件对话框中的一些问题 删除了 KDE4 通知支持 修复了源代码外的构建 修复了 ffmpeg 插件的默认设置 修复了构建警告 修复了 http 轨道之间的过渡 改进了 qsui 插件: 修复了工具条重命名 修复了 Wayland 支持 修复了标签栏的上下文菜单 在 Qt 6.2 或更高版本下启用 QtMultimedia 支持 删除了 Qt 6.2 或更高版本的私有 API 使用 更新了多国语言翻译 更多详情可查看:https://qmmp.ylsoftware.com/index.php
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作