文档章节

Virtual Shard

猪刚烈
 猪刚烈
发布于 2014/10/12 11:47
字数 466
阅读 9
收藏 1

      对于DB Shard而言,Reshard是一个在系统扩容时不得不面对的问题.Reshard需要解决两个问题:1.修改散列规则以适应新的结点规模.2.将已有数据重新分布到正确的结点.Virtual Shard主要用于解决第一个问题.

  Virtual Shard的基本思想是:建立一组虚拟的结点,虚拟结点的数量是固定的,一般定义为一个系统可预期的最大结点数.具体数字并不重要,只要足够大就可以,比如100,1000等等.数据的散列和路由规则都是以虚拟结点为基础进行的.在系统上线初期,多个虚拟结点会映射到一个物理结点,当系统需要扩容时,只需要修改虚拟结点和物理结点之间的隐射关系即可,不需要修改数据散列和路由规则.这是Virtual Shard的主要目的.举例说:如个一个系统虚拟结点是100,在上线初期,有两个物理结点,虚拟结点和物理结点的映射关系为:1-50的虚拟结点映射到1号物理结点上.51-100结点映射到2号结点上.当后期系统扩容至4个物理结点时,可将映射策略修改为:1-25号虚拟结点对应1号物理结点, 26-50号虚拟结点对应2号物理结点,51-75号虚拟结点对应3号物理结点,76-100号虚拟结点对应4号物理结点.

  但是,Virtual Shard只能解决第一个问题,对于数据的重新分布是无能为力的.目前没有一种通用的技术用于系统扩容时的数据重新分布.这是因为它是一项非常偏向特定应用的工作.

本文转载自:http://blog.csdn.net/bluishglc/article/details/6257224

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
Mongodb源码分析--Mongos之balancer(均衡)

在之前的一篇文章中,介绍了mongos的启动流程,在那篇文章的结尾,介绍了mongos使用balancer来进行均衡,今天就继续讲其实现方式。 首先我们看一下Balancer及相关实现策略的类图: 可以看到B...

长平狐
2012/11/06
105
0
SolrCloud Wiki翻译(2)Nodes,Cores,Clusters & Leaders

Nodes and Cores Node和Core In SolrCloud, a node is Java Virtual Machine instance running Solr, commonly called a server. Each Solr core can also be considered a node. Any node c......

曾杰
2014/02/11
0
0
基于Mongodb分布式存储物理文件

在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。 接着看一下要配置的测试环境(与前一篇中...

长平狐
2012/11/06
119
0
日志服务支持Shard自动分裂

日志服务的数据模型中,使用Shard来控制Logstore的写入、读取吞吐能力,每个Shard提供5MB/sec写入、10MB/sec读取,通常情况下,shard越多,Logstore的吞吐越大。 在创建Logstore时,可以根据...

suntingtao
06/19
0
0
SolrCloud Wiki翻译(1) Getting Started with SolrCloud

SolrCloud是被设计用来提供一个高可用性、可容错的环境用来索引您的数据再进行搜索。在SolrCloud里面,数据都被组织成多个“块”或者叫做“shards”(分片),使数据能够存放在多台物理机器上...

曾杰
2014/02/08
0
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取整除法

python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3#7 = 3*2 +1n2=-6.1//3#-7 = 3*(-3)+2'{},{}'.format(n1,n2) 从运行结果可以...

colinux
30分钟前
3
0
阶段总结——用虚拟机搭建一个高可用负载均衡集群架构

[toc] linux基本知识已经介绍完,现有一个业务需要操作,通过对这个项目的操作,可以复习、总结、巩固之前的知识点; ** 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,...

feng-01
33分钟前
0
0
mysql 设置utf8字符集 (CentOS)

1.查看数据库及mysql应用目前使用的编码方式 (1)链接mysql 客户端 (2)执行:status 结果: 2.修改mysql 应用的字符编码(server characterset ) (1)打开配置文件:vim /etc/mysql/my...

qimh
34分钟前
0
0
windows无法格式化u盘解决方法

1。点开始-运行-输入cmd-format f: /fs: fat32 (这里f:是指U盘所在盘符) 这个格式化会很慢 请耐心等待

大灰狼wow
45分钟前
0
0
MySql 8.0连接失败

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_s...

放飞E梦想O
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部