var _hmt = _hmt || []; (function() {   var hm = document.createElement("script");   hm.src = "https://hm.baidu.com/hm.js?8c9c5a8618dc4aea3be27b32962e5871";   var s = document.getElementsByTagName("script")[0];    s.parentNode.insertBefore(hm, s); })();
400 050 6600
数据分析师

手机号

验证码

30天自动登录

为您的物联网系统选择正确的数据库的4个步骤

来源:CPDA数据分析师网 / 作者:数据君 / 时间:2020-09-03

步骤1.确定解决方案的数据需求

物联网解决方案依赖于从连接的设备收集和处理数据,做出明智的决定,例如触发通知或操作,计算实时分析,从历史数据中收集模式等,为了便于讨论,在通用的IoT解决方案中,您可以在整个企业中安装传感器和执行器,成千上万的传感器和执行器与边缘服务器连接,物联网解决方案不断从所有传感器收集数据,做出实时决策来控制传感器和执行器,向系统监视器发出异常活动警报,并向终用户提供分析的历史视图。

 

在决定服务和服务所伴随的数据库之前,有必要弄清楚数据的用途以及在何处。一些问题可帮助您了解数据需求并确定其优先级:

1、哪些数据处理和决策权委托给边缘服务器?

2、云解决方案是部署在一个区域中,还是分散在多个区域中?

3、从设备传输到边缘服务器以及从边缘服务器传输到中央服务器的数据量是多少?峰值量的估计值是多少?

4、物联网解决方案是否控制设备或执行器?如果是,他们是否需要实时响应?

5、从历史数据中得出哪些业务见解?

 

步骤2.将您的解决方案分解为独立的软件服务

在此步骤中,您将设计执行独立的特定任务的软件服务或组件,将前面描述的示例IoT解决方案分解为独立的服务时,IoT解决方案本身是按地理位置分布的,其中某些组件部署在边缘网络上,而其余组件则位于集中式位置。

 

现在,让我们将体系结构分解为服务,并分析其职责和数据需求:

 

数据提取

目的:从设备收集和存储日志和消息。

 

数据库需求:支持高速写入操作,因为数据可能会突然到达,确保在异常情况下不会丢失数据。

 

边缘分析

目的:对传入的数据执行数据转换,分类,聚合,过滤和功能。它负责在边缘进行实时决策。

 

数据库需求:支持亚毫秒级延迟的高速读写;提供工具和命令以对数据执行复杂的分析计算。

 

装置经理

目的:将消息传达给设备。

 

数据库需求:以小的延迟访问消息并将消息传递到设备。

 

全系统分析

目的:从边缘服务器收集数据并执行数据转换和分析操作。

 

数据库需求:提供命令以对数据执行分析计算,并根据分析引擎的要求将数据存储足够长的时间。

 

提供物联网生态系统当前状态的可视化表示。

 

数据库需求:保持数据和准确,以亚毫秒级延迟读取数据。

 

商业情报

目的:根据历史数据运行报告,查询和推断。

 

数据库需求:以经济有效的方式长时间存储数据;提供查询和分析数据的工具。

 

物联网数据流出口

目的:将数据规范化为通用格式,然后将其推送给订户。

 

数据库需求:能够有效执行数据转换操作;支持发布和订阅功能。

 

步骤3:将服务按数据需求分组,然后选择合适的数据库

下一步将基于每个服务的数据选择正确的数据库,根据数据在数据库中保留的时间以及服务所需的数据读写速度对服务进行分类,您将看到数据不断地进出,并在数据库中保留很短的时间,同时数据可能以高容量和高速度到达,因此我们需要一个低延迟的高速数据库来保存摄取服务的数据。另一方面,商业智能服务依赖于历史数据,下一步是对具有相似数据访问特性的服务进行分组,其目的是限制数据库的数量(多余的数据库和不符合您要求的数据库),从而减少运营开销。

 

两个主要数据库-热数据库和冷数据库。保存热数据的数据库部署在IoT设备附近,以程度地减少网络延迟。冷热数据的数据库选择包括:

 

热门数据库:随着RAM成本的降低,内存数据库通常是一个不错的选择。内存数据库以小的延迟提供数据读取和写入功能。选择热数据库时,这些附加功能将帮助您缩小选择范围:

 

1、数据格式的灵活性帮助您支持各种设备和通讯格式

2、查询功能-使您可以实时运行有效的查询

3、消息和排队驱动通信和数据交换

4、分层内存模型-提供具有成本效益的内存模型,并具有高性能

5、高可用性和灾难恢复-帮助您始终保持业务正常运行

6、地理分布服务于地理分布的物联网部署

7、二进制安全-帮助您保存二进制数据

 

冷数据库:物联网解决方案的历史数据可能会增长到数TB,在某些情况下可能会超过PB。存储历史数据的流行选择包括在商品硬件上的存储解决方案。查询通常遵循模式。通常,历史数据还会在搜索引擎中建立索引,以进行模式匹配和数据聚合。如果您要将数据存储在云中,请与您的云提供商联系,以了解您所在地区经济高效的数据存储解决方案。

 

步骤4:评估成本,资源效率

将数据库分为热数据库和冷数据库可帮助您缩小数据库选择范围。对于大多数物联网用例,一个高速数据库可以满足您的热数据库的所有要求。对于冷数据库,选项范围可能从关系数据库到数据湖。设计人员经常犯的一个错误是,为每个服务创建一个带有专用数据库的多语言架构。这增加了应用程序堆栈的复杂性以及操作开销和成本。

 

拥有数据库的总成本是许多参数的函数。数据库本身的成本只是成本的一小部分。以下是一些费用:

数据库许可证成本:该成本可能是以下因素的函数:CPU数量,集群中的分片数量,数据库大小,吞吐量(每秒操作数),时间(每年,每月,每小时等),高功能可用性和恢复,在云的多个区域中的可用性等。如果您使用的数据库可以作为开源软件使用,则根据许可证的类型,数据库成本甚至可能为零。

 

基础架构成本:基础架构成本取决于数据库的资源效率

例如,一个轻量级,线程安全的数据库仅使用两个商用服务器就可以每秒执行一百万次读/写操作,而传统数据库可能需要更多服务器才能提供相同的结果。除数据库效率外,硬件成本还取决于吞吐量,CPU数量,RAM,数据大小,闪存,网卡等。高可用性的数据库体系结构也起着作用。例如,基于仲裁的故障转移体系结构将仅需要一个辅助服务器副本,但是基于非仲裁的体系结构将需要两个数据副本,以避免脑裂。

 

数据丢失成本:拥有适当的数据丢失保险非常重要,尤其是对于商业物联网解决方案而言。您的数据丢失总费用为:

1、营业亏损

2、数据丢失的可能性*恢复数据的成本

3、您可以通过与数据库供应商一起使用适当的SLA来抵消部分成本。

 

运营开销:自动化是成功的口号。一个提供控件以自动化操作的数据库,这些操作可以自动执行诸如部署,配置,故障转移,扩展,数据分区以及备份和恢复,监视和警报等多种操作,从而有助于有效地进行操作。

 

当为您的下一代物联网解决方案选择合适的数据库时,很容易迷失在当今可用的众多数据库中

但是,如果将解决方案分解为组件服务并了解它们的数据库需求,则可以有效地缩小数据库选择范围。大多数物联网解决方案都可以依赖于热数据库来进行实时数据收集,处理,消息传递,分析以及冷数据库来存储历史数据并收集商业智能。这将使体系结构简单,精简和强大。

 

Prev article

优化时间序列应用程序的数据查询

Next article

如何在会话存储中构建智能:数据结构

数据分析师

报名咨询

数据分析师

报名缴费

数据分析师

客服中心

数据分析师

课程服务

数据分析师

认证服务