分布式系统数据分布的几种方式

参考《分布式系统原理介绍》 作者:刘杰

简介

分布式系统和单机系统最大的区别在于问题的规模。当规模大到一定程度,单机无法再支撑时,就得转向分布式服务(多机模式)。单机迁移到分布式,要解决的问题还是同一个,那么我们要思考的就是如何将问题拆分,使得分布式系统中的每台机器负责其中的一个子集,并且保证一定的可扩展性。

下面部分讨论分布式系统数据分布的方式。解决的核心问题为如何将数据分配到多个节点上(此处的节点为虚拟概念)。

哈希方式

方法:利用数据的某些特征值计算哈希值,然后将哈希值映射到节点组中的某个节点。

优点:

  • 散列特性号的哈希函数可以让数据较为均匀的分布
  • 简单,元信息只需要维护哈希函数和节点列表,即可进行数据的分发

缺点:

  1. 可扩展性不高,一旦扩容,可能要迁移大量的数据(具体迁移量取决于扩容的方式)。
  2. 数据倾斜:某些数据特征值的数据量超多,导致大量的数据都存储在某个节点上面,单个节点压力大。而且,扩容无法解决此问题。

解决缺点1的几种思路:

  1. 上述取模的方式,扩容时直接*2,则只需要迁移一半的数据(可以举个例子分析下)
  2. 哈希的结果不再对应到实际的节点组,而是映射到一个远大于实际节点数的虚拟节点组。一个实际的节点托管多个虚拟节点的数据,这样扩容时,只需迁移一部分虚拟节点的数据。 需要维护比较复杂的元数据。

按数据范围分布

方法:按特征值的值范围划分,每个节点处理一个范围区间的数据。
在这里插入图片描述
注意:范围不一定均衡,可以根据范围内的数据量来决定区间的范围

优点:

  • 扩展性好,任意扩展。并且对于数据量大的区间,可以将其拆分为两个更小的区间,保证区间的数据量始终在一个合理阈值之下。

缺点:

  • 元数据比较复杂,需要维护所有的范围区间和对应的节点信息。

一致性哈希

方法:使用一个哈希函数计算数据或数据特征的哈希值,该哈希函数的输出值域为一个封闭的环。节点在环上随机分布,每个节点处理从自己开始顺时针到下一个节点的全部哈希值域上的数据。
在这里插入图片描述
优点:

  • 可以任意动态的添加或者删除节点,只会影响到相邻的节点

缺点:

  • 随机分布的节点使得数据很难均匀的分布。即使数据已经均匀的分布了,节点的动态增加或者删除也使得原先的均匀分布很难继续保持。
  • 新增或者删除节点时,只能影响到相邻的节点。更希望的是节点删除或者增加导致的压力的变化均匀的分散到所有节点上。

针对以上缺点的一种常见的改进方式:

  • 使用虚拟节点。创建数量远大于实际节点的虚拟节点,并将其均匀的分布在哈希环上面,然后给一个节点分配很多的虚拟节点。定位时,先定位到虚拟节点,再找到实际的节点进行操作。这样,当一个实际节点失效时,对应的虚拟节点失效,查询压力会转移到相邻的虚拟节点上面,而相邻的虚拟节点对应了多个实际节点(区别于原来的一个),压力均匀分散。当新增一个实际节点时,可以分配多个来自不同已有节点的虚节点,使得新节点可以分担多个原有节点的压力。

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分布式鲁棒电力系统状态估计 能源市场的放松管制、可再生能源的普及、先进的计量能力以及对态势感知的迫切需求,都需要全系统的电力系统状态估计(PSSE)。然而,由于互连的复杂性、实时监控中的通信瓶颈、区域披露政策和可靠性问题,实现一个集中的估计值实际上是不可行的。在这种情况下,分布式PSSE方法在统一和系统的框架下处理。基于乘子的交替方向法,提出了一种新的算法。它利用现有的PSSE求解器,尊重隐私策略,显示出较低的通信负载,并且即使在没有局部可观测性的情况下,它也保证了收敛到集中估计。除了传统的基于最小二乘的PSSE之外,该分散框架还可以容纳一个鲁棒状态估计器。通过开发与压缩采样进展的有趣联系,后者共同估计状态并识别损坏的测量。采用IEEE 14、118总线和4200总线基准对新算法进行了数值评估。仿真结果表明,该方法可以在少量的区域间交换的情况下达到可达到的精度,并优于最大的残差试验。乘数交替方向法;不良数据识别;Huber s函数;相量测量单元;SCADA测量;互联状态估计 本文系统地处理了分布状态估计器和鲁棒状态估计器。提出的算法放弃了局部可观测性要求,并保持向后兼容性。通过在相邻区域之间进行少量的数据交换,本地控制中心可以获得它们负责的部分互连的高精度估计,并同时识别(非)有意损坏的数据。新的框架容纳了PSSE问题的几个重要修改,如约束(例如,零注入总线,操作限制) 详细描述:https://blog.csdn.net/cooc89/article/details/118338964

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值