文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 入门 - 进阶篇(4)- REST访问(RestTemplate)

经常需要发送一个GET/POST请求到其他系统(REST API),通过JDK自带的HttpURLConnection、Apache HttpClient、Netty 4、OkHTTP 2/3都可以实现。 HttpClient的使用:http://rensanning.iteye.c...

onedotdot
29分钟前
2
0
Wi-Fi也有版本号了!

据Solidot消息,行业组织 Wi-Fi 联盟宣布当前的版本 Wi-Fi 802.11ac 重命名为 Wi-Fi 5,而下一个版本 802.11ax 重命名为 Wi-Fi 6,之前的版本 802.11n 改名为 Wi-Fi 4。 Wi-Fi 标准之前使用单...

linux-tao
31分钟前
3
0
项目经验不丰富、技术不突出的程序员怎么打动面试官?

前言 相信不少的程序员都有过类似的困惑:如果我没有大型的项目经历,也不能靠技术征服面试官,那我要怎么才能给面试官留下一个好印象呢? 按照本人的面试经验来说,面试主要看几点:项目经验...

Mamba1
42分钟前
4
0
MyBatis 源码分析----MyBatis 整体架构概要说明

MyBatis整体架构 MyBatis的整体架构分为三层1:基础支持层,2:核心处理层,3:接口层 1:基础支持层: 1-1反射模块: 该模块对Java 原生的反射进行了良好的封装,提供了更加简洁易用的API ,...

西瓜1994
47分钟前
7
0
如何让 J2Cache 在多种编程语言环境中使用

现在的系统是越来越复杂了,不仅仅是功能复杂,系统结构也非常复杂,而且经常在一个系统里包含几种不同语言编写的子系统。例如用 JavaScript 做前端开发、用 Java/PHP 等等做后端,C/C++/Go ...

红薯
49分钟前
50
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部