当前课程知识点:大数据系统基础 >  6. NoSQL >  授课视频 >  一致性哈希与数据分区

返回《大数据系统基础》慕课在线视频课程列表

一致性哈希与数据分区在线视频

一致性哈希与数据分区

下一节:数据副本及一致性

返回《大数据系统基础》慕课在线视频列表

一致性哈希与数据分区课程教案、知识点、字幕

在Cassandra节点间

相互连通之后

如何将大规模的数据集合

进行切分

并存放到各个节点上

下面我们就学习一致性哈希

和数据分区

Cassandra采用一种

一致性哈希的方法

对数据集进行切分

其基本思想是

用同样的哈希函数

来计算数据对象

和节点的哈希值

用节点的哈希值

作为数据集的切分点

这样

如果数据集群中

有多少个计算节点

数据集就被切分成多少份

在一致性哈希方法中

节点不再是影响数据对象

哈希值的参数

而是作为哈希函数的输入

下面我们看一个例子

在这里我们用MD5哈希操作

产生一个128位的数字码

我们会看到

这里的数据集是银行的存款账户

我们一共有7条记录

这7条记录通过MD5后

产生7个128位的数值

在这里集群中有两个节点

分别是A和B

它们也同样产生了128位的码

在这里就是用这两个码

来对这7个数据集进行切分

一致性哈希方法

首先将集群管理的全部数据

按照其哈希值的大小组成一个环

这里头的哈希值

就是我们刚才用MD5方法

产生的数据码

这时假设数据集中只有一个节点

此后

随着集群中节点的增加

这个理想的数据环

被切分成多个数据区间

我们称之为Range

注意数据区间的数量

等于集群中节点的数量

每一个节点负责存储环中

它本身和它前面节点之间的

这个数据区间

图中四种颜色的区间

被放在对应颜色的

A B C D四个节点上

节点负责的区域确定后

每个节点都保存一个区间表

如右上图所示

对于一个新插入的数据行

到底该放在哪个节点上

Cassandra采用顺时针绕环规则

比如

数据A305在顺时针方向

A到B这个区间上

即落到了红色区间上

它们就存在B节点上

数据A226

落到紫色区间

它就存储在D节点上

一致性哈希方法的优点

主要有两条

一在确定了哈希函数

和节点区间表之后

客户端自己就可以知道

一个数据象

该存放在哪个物理节点上

因此不需要全局的源数据服务器

二当节点数量改变时

不需要将所有数据对象

在新的集群中进行重新分配

具体来讲

如果删除一个节点

邻近的机器

就会接管删除节点的数据

如果新增一个节点

邻近的机器

就会分摊掉一部分数据

给新的节点

这里我们考察三处节点的例子

当前面的节点B离开后

数据对象A305

就从节点B移到了节点C

而节点A和节点D

所管理的数据不变

假如B节点离开了系统后

E节点加入到了系统

注意 E的位置与B的位置不同

这时

C负责存储数据的红色部分

就分摊给了E节点

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

一致性哈希与数据分区笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。