开始 让你自己跟上我们介绍内容的速度。

事物,数据库系统和数据分布互联网,第二部分

本身系列中的一部分,我涵盖了在互联网上,需要收集的数据:在公共或私有云中的边缘设备,网关和服务器上。并且我讨论了这些系统的特征,以及选择适当的数据库管理系统技术的影响。

在这一分期付款中,我将讨论遗留数据分发模式以及如何互联网如何引入您或您的数据库系统供应商的新模式,需要适应。

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

我感动了分片在第一部分。它是一个逻辑数据库的内容跨两个或多个物理数据库的分布。逻辑上,它仍然是一个数据库,数据库系统的责任是维护作为一个单元的逻辑数据库的完整性和一致性。数据的确切分布方式在不同的数据库系统中差异很大。有些系统将责任委托(或至少允许委托)给应用程序(例如,“将此数据放在分片3上”)。其他系统在另一端的频谱,部署智能代理,监控的数据查询和客户,和移动之间的数据碎片一起把数据的查询,和/或移动数据碎片,接近客户端(s)最频繁使用的数据。数据库系统应该将应用程序与物理实现隔离开来。参见图2。

数据分布、逻辑数据库、物理数据库的目的高可用性顾名思义就是:创建冗余,并针对存储数据库的系统的丢失提供弹性。在高可用性系统中,存在一个主/主数据库和一个或多个副本/备用数据库,当主系统发生故障时,整个系统可以将故障转移到这些数据库。作为服务提供高可用性的数据库系统需要将更改(例如,插入、更新和删除操作)从主服务器复制到副本。在主服务器失败的情况下,提供一种方法将一个副本提升到主服务器。执行这些特性的具体机制对于每个数据库系统都是不同的。见图3a和图3b。

数据库系统机制

数据库集群的目的是促进分布式计算和/或可扩展性。集群不会使用大师和待机的概念;群集中的数据库系统的每个实例都是对等于每个其他实例的对等体,并在数据库的内容上协同工作。数据库系统集群有两个主要体系结构。请参见图4A和4B。

数据库系统集群架构

数据库系统集群架构

如图4A所示,当使用群集并且与分片不同,其中每个碎片包含整个逻辑数据库的一小部分,群集中的每个数据库系统实例都维护了整个数据库的副本。本地读得非常快。在sert, update and delete operations must be replicated to every other node in the cluster, which is a drag on performance, but overall system performance (i.e., the performance of the cluster in the aggregate) is better because there are N nodes executing those operations. Nevertheless, this architecture is best suited to read-heavy usage patterns versus write-heavy usage patterns.

高可用性有时与分片结合在一起,其中每个分片都有一个主数据库和一个备用数据库和数据库系统。因为所有的分片都代表一个逻辑数据库,所以托管分片的节点的故障将使整个逻辑数据库不可用。向分片数据库添加高可用性可以提高逻辑数据库的可用性,使其与节点故障隔离开来。

上复制数据库边缘设备为数据分发添加新皱纹。回想一下,通过高可用性,并且根据架构,群集,整个数据库的内容在节点之间复制,每个数据库都是另一个数据库的镜像。但是,IOT云服务器数据库系统需要从多个边缘设备接收复制的数据。单个逻辑云数据库需要保存多个边缘设备数据库的内容。换句话说,云数据库服务器的数据库不是任何一个边缘设备数据库的镜像,它是许多聚合。见图5。

云数据库服务器聚合此外,对于在高可用性上下文中的复制中,发送节点始终是主设备,并且接收节点始终是副本。在IOT上下文中,接收器最肯定不是边缘设备的副本。

此外,对于群集环境中的复制,如图4A所示,数据库系统必须确保群集中每个数据库的一致性。这意味着两阶段提交和同步复制。换句话说,保证事务在群集中的每个节点上成功或在群集中的任何节点上都会成功。但是,同步复制既不是理想也不需要从边缘到云复制数据。

因此,IOT系统中复制数据的发送者和接收者之间的关系与主备份和备用之间的关系不同,以及在数据库群集中的节点对等体之间,因此数据库系统必须支持这种独特的关系。

在这个系列中的一部分中,我带着断言导致:“如果您要收集数据,您需要将其收集到某个地方。”但是,实际上并不总是在边缘中收集数据。有时,边缘设备只是数据的生产者,并且没有要求数据存储,因此不需要数据库。在这种情况下,您可以考虑其他替代方法,以便周围移动数据:数据分发服务(DDS)。这是对象管理组定义的标准,“启用可扩展,实时,可靠,高性能和可互操作的数据交换”。有可用DDS的商业和开源实现。在Layman的术语中,DDS是发布的中间件,该中间件执行从发布者(例如,边缘IOT设备)到订阅者(例如,网关和/或服务器)传输数据的大量提升。

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

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

所有IoT Agenda网络贡献者都对其帖子的内容和准确性负责。意见是作者的,不一定传达物联网议程的想法。

搜索CIO.

搜索安全

搜索网络

搜索数据中心

搜索数据管理

关闭