前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >物联网,数据库系统和数据分发,第二部分

物联网,数据库系统和数据分发,第二部分

作者头像
Eianaro
发布2018-05-02 16:53:43
1.1K0
发布2018-05-02 16:53:43

这个由两部分组成的系列文章的第一部分中,我介绍了物联网中需要收集数据的位置:公共云或私有云中的边缘设备,网关和服务器。我还讨论了这些系统的特点以及选择合适的数据库管理系统技术的含义。

在本文中,我将讨论遗留数据分布模式以及物联网如何引入您或您选择的数据库系统供应商需要适应的新模式。

从历史上看,数据库系统中有一些常见的数据分布模式:高可用性,数据库集群和分片。

我谈到了分片在第一部分。逻辑数据库内容跨两个或更多物理数据库的分布。从逻辑上讲,它仍然是一个数据库,数据库系统负责维护逻辑数据库的整体性和一致性。数据库系统之间的数据分布方式差别很大。某些系统委托(或至少允许委派)应用程序的责任(例如,“将这些数据放在碎片三上”)。其他系统处于另一端,部署智能代理,用于监视数据的查询方式和客户端,以及在分片之间移动数据以合并一起查询的数据,和/或将数据移动到分片与使用该数据的客户最为接近。数据库系统应该将应用程序与物理实现隔离开来。见图2。

高可用性的目的正如其名称所暗示的那样:创建冗余并针对存储数据库的系统的损失提供弹性。在高可用性系统中,有一个主/主数据库和一个或多个副本/备用数据库,整个系统在主系统出现故障时可以故障切换到该数据库。作为服务提供高可用性的数据库系统需要从主服务器复制更改(例如,插入,更新和删除操作)到副本。如果主设备出现故障,则提供一种方法将副本提升为主设备。每个数据库系统执行这些功能的具体机制都不相同。参见图3a和3b。

数据库集群的目的是促进分布式计算和/或可伸缩性。集群不使用主控和备用的概念; 集群中数据库系统的每个实例都是与其他实例的对等设备,并协同工作在数据库的内容上。数据库系统集群有两种主要的体系结构。参见图4a和4b。

如图4a所示,当使用集群并且不像分片时,每个分片包含整个逻辑数据库的一小部分,集群中的每个数据库系统实例都会维护整个数据库的副本。本地读取速度非常快。插入,更新和删除操作必须复制到集群中的每个其他节点,这会拖累性能,但总体系统性能(即集群中集群的性能)更好,因为有N个节点正在执行这些操作。尽管如此,这种架构最适合于读取繁重的使用模式与写入繁重的使用模式。

高可用性有时与分片相结合,其中每个分片都有一个主数据库和一个备用数据库以及数据库系统。由于所有碎片都代表一个逻辑数据库,因此承载碎片的节点的故障将导致整个逻辑数据库不可用。向分片数据库添加高可用性可提高逻辑数据库的可用性,从而使其免受节点故障的影响。

边缘设备上数据库的复制为数据分发增添了新的皱纹。回想一下,高可用性(取决于体系结构),整个数据库的内容在节点之间复制,每个数据库是另一个数据库的镜像。但是,物联网云服务器数据库系统需要接收来自多个边缘设备的复制数据。单个逻辑云数据库需要保存多个边缘设备数据库的内容。换句话说,云数据库服务器的数据库不是任何一个边缘设备数据库的镜像,它是许多的聚合。见图5。

此外,对于高可用性上下文中的复制,发送节点始终是主节点,接收节点始终是副本。在物联网上下文中,接收器绝对不是边缘设备的复制品。

另外,为了在集群环境中进行复制,如图4a所示,数据库系统必须确保集群中每个数据库的一致性。这意味着一个两阶段提交和同步复制。换句话说,可以保证事务在集群中的每个节点上或集群中的任何节点上都能成功执行。但是,从边缘到云端的数据复制既不需要同步复制,也不需要同步复制。

因此,IoT系统中复制数据的发送者和接收者之间的关系与主数据库和备份数据库集群中节点对等点之间的关系不同,因此数据库系统必须支持这种唯一关系。

在本系列的第一部分中,我主张:“如果您要收集数据,则需要在某处收集数据。”但是,并不总是需要在边缘实际收集数据。有时,边缘设备只是数据的生产者,不需要本地存储数据,因此不需要数据库。在这种情况下,您可以考虑另一种用于移动数据的备选方案:数据分发服务(DDS)。这是由对象管理组织定义的一项标准,旨在“实现可伸缩,实时,可靠,高性能和可互操作的数据交换”。有DDS的商业和开源实现。通俗地说,DDS是发布 - 订阅中间件 它将数据从发布者(例如边缘物联网设备)传输到订阅者(例如网关和/或服务器)。

DDS不仅限于在边缘设备上没有本地存储的情况。另一个用例是在两个不同的数据库系统之间复制数据。例如,一个用于边缘设备和SAP HANA的嵌入式数据库。或者,在NoSQL数据库和传统的关系数据库管理系统之间。

总之,设计物联网技术的体系结构包括考虑各种硬件组件的特性和能力以及选择适当的数据库系统技术的含义。设计师还需要决定在哪里收集数据,需要处理数据(例如,提供对工业环境的命令和控制,或者进行分析以找到可操作的信息等)以及需要移动哪些数据什么时候。这些考虑因素反过来会为数据库系统和复制/分发解决方案的选择提供信息。

所有物联网议程网络贡献者均对其帖子的内容和准确性负责。对作者的意见并不一定表达物联网议程的想法。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档