工业物联网 —— 新型数据库的召唤
各位小伙伴大家好,我们又见面了,我们都知道时序数据库的主要应用场景之一就是工业物联网(IIoT)行业,因此本次 Jesse 就想和大家聊聊 IIoT。
本文仅代表个人观点,如有偏颇之处,还请海涵~
🤠🤠🤠
工业物联网——新型数据库的召唤
我们正在进入工业 4.0 时代,一系列的新技术使我们的生产经营和组织模式变得高效,比如预测性的机器分析、计算机视觉技术、无人驾驶的车辆以及具有增强现实功能的工业级可穿戴设备等等。虽然新技术多种多样,但我们还是能从中看到这些技术的共性—— 为了支持数据化的科学决策,他们都需要采集、处理、存储和分析大量的数据。IIoT(工业物联网)的核心价值就是希望使组织能够以可扩展、高性能、高效的方式来从大量数据中分析和提取价值。而数据库技术正是实现这一价值的核心。
不幸的是,由于缺乏必要的技能和相关基础设施技术的挑战,Cisco 之前的调查认为 70%的物联网项目是失败的。与此同时,工业组织大都面临传统基础设施转型的挑战,通过云端实时优化其流程是他们可供选择的转型方式之一。
IIoT 数据是一个挑战
首先,IIoT 所涉及的数据源和前端数据采集点广而分散,所以其数据规模和类型与传统和网络规模下的数据有诸多不同,传统的数据库和基础设施技术根本不适合处理 IIoT 规模的机器数据量。关于 IIoT 数据规模如果没有直观体会,我们可以试想一下,现在有一个拥有数万传感器的工厂,从一万个不同类型的传感器主动收集数据,同时这个组织还可能在世界各地经营着 100 家这样的工厂,运营着每条供应链。IIoT 场景下选用的数据库,其任务不仅是收集这些庞大的传感器数据量,而且还要提供高效的性能并实现纳秒级的实时数据分析。
其次,IIoT 场景的数据具有多样性的特点。IIoT 传感器数据通常存储为多层嵌套的 JSON 文件。还有一些相关数据,例如文章和产品信息、批次信息、拓扑结构和固件,这些数据必须与传感器数据相关联,并结合情景才有意义。
最后,IIoT 场景还生成带有时间戳的时序数据。比如,用于跟踪流程、地理空间以协调移动设备的数据点、用于验证产品状况的图像和其他多媒体 BLOB 数据。随着工业组织规模的扩大,如此庞大的数据范围必须易于管理。工业组织希望保持简单易用,因此他们更倾向于使用单个数据库而不是协调多个数据库。
传统数据库不适合 IIoT
首先,传统的 SQL 类型数据库,比如,Oracle、MySQL 等。他们的缺点我们在之前的介绍中其实以及多次提到过,其扩展成本很高,同时也满足不了 IIoT 场景下的高数据量和复杂查询,其问题很多。
其次,NoSQL 和 NewSQL 数据库(如 MongoDB 和 Apache Cassandra),他们的易用性使得它们有一定吸引力。不过,它们需要专业的工程师和复杂的管理,从而导致高昂的人员成本。同时,绝大多数工业工程堆栈都是 SQL 连接的,这使得这些 NoSQL 和 NewSQL 解决方案难以与现有工具集成和适应。最后,这些数据库选项也并未针对 IIoT 工作负载进行性能优化。
最后,我们来看看现有的时序数据库产品,看起来它们目前是 IIoT 场景下最有力的数据库提供商。但它们大都也有自己的不足,比如某国际领先的时序数据库厂商:其一,其开源版本没有完全分布式的架构,例如,连接、子查询和聚合查询不是以完全分布式的方式实现的,这使得横向扩展计算能力来满足这些需求变得困难。其二,它可以轻松存储数据并制作时间序列图表,但不是为运行高度并发的工作负载而构建的。而 IIoT 工作负载可能需要处理每个节点的数千个连接。例如,在高负载下运行交互式仪表板并同时写入系统。由于工业环境中数据的海量和速度,一个数据库每秒必须处理多个时序查询,这比标准时序数据库的顶级查询速度要快得多。
IIoT 呼唤新的数据库
IIoT 需要无限的可扩展性,因为 IIoT 解决方案可以轻松达到 TB 甚至 PB 级的数据。数据库不仅必须处理该数据量,还必须满足计算端的性能需求。存储和计算的可扩展性必须像添加新节点一样简单,这就好比我们在搭建乐高积木。此外,我们希望数据库是通用的数据模型,能够存储 IIoT 所需的不同类型的数据。它还必须支持大规模和高度并发的工作负载,并具有动态架构,使组织能够在运行时添加列,而无需重新标记或重放数据。最后,数据库必须为混合云和本地边缘部署提供支持。工厂需要能够在没有可靠的互联网连接或不需要云连接的情况下实时做出关键决策并启用分析。
IIoT 的成功取决于效率
IIoT 部署必须易于集成和操作,同时考虑效率。例如,文档和关系型数据库可能需要八个节点才能以可接受的速度运行一个 IIoT 用例。相比之下,IIoT 新的数据库可能只需要三个节点就可以单独处理相同的用例,从而大幅提高效率。效率还意味着能够规模化终端用户数量。例如,当组织利用交互式仪表板看到相关结果和机会时,他们可以迅速扩大员工数量。这是计算需求的巨大增长,当然扩展必须简单且价格合理。此外,高效的 IIoT 数据库解决方案是任何开发人员都可以开箱即用的解决方案,并且在将其作为分布式引擎运行时具有较低的复杂性。理想情况下,数据库将在很少维护和监督的情况下运行,并且不需要专门的 DevOps 人员。
数据库世界的发展日新月异,面对新的 IIoT 场景,我们期待新的数据库出现,CnosDB 正在朝着这一方向努力。
CnosDB 简介
CnosDB 是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。
欢迎关注我们的代码仓库,一键三连🙇🙇🙇:https://github.com/cnosdb/cnosdb
版权声明: 本文为 InfoQ 作者【CnosDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/1fc10eaadbb2579d8bc108012】。文章转载请联系作者。
评论