当前课程知识点:大数据系统基础 >  6. NoSQL >  授课视频 >  节点本地数据存储

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

节点本地数据存储在线视频

节点本地数据存储

下一节:Video

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

节点本地数据存储课程教案、知识点、字幕

最后我们学习Cassandra中

某一个节点是如何完成

本地数据存取的

前面讲过

Cassandra系统采用了P2P架构

节点完全对等

没有主节点

客户端可以和集群中的

任意节点相连

这个连接点

我们叫做协调者

其它节点叫非协调者

协调者节点会根据一致性级别

把请求发给相应的数据节点

最终执行用户请求的节点

我们称之为本地节点

Cassandra使用了LSM-Tree结构

来存储数据

L就代表写操作的日志

S即Sstable

代表数据持久化的文件

M代表Memtable

也就是内存中的数据表

Cassandra中的Memtable

它的数据是排序的

不仅是按行排序

而且它的列

也是按照列名进行排序

Cassandra定期会将Memtable

刷到硬盘Sstable当中

Sstable的数据

一经写入不再修改

Sstable生成后

Memtable即被销毁

相关的CommitLog清空

除此之外

Cassandra磁盘上

还有其它的辅助结构

如rowkey的索引和布隆过滤器等

当然Cassandra在内存中

也有辅助结构

行的缓存或键的缓存

当然对某一个键的值

可能存在若干个Sstable中

现在我们看

Cassandra数据的写过程

这里重点考察对

Memtable和CommitLog的操作

首先当本地节点接收协请求后

首先将数据的键值

写入Memtable当中

同时也把相应的键值

写入CommitLog

这时本地节点写完成并返回

而Memtable的持久化

则推迟到后面去做

这里我们可以看到

整个数据的写过程

没有涉及任何的读操作

它的阻塞主要来自于CPU

而非磁盘的I/O

这样就提高了

Cassandra数据写的速度

下面来考察Cassandra数据的

读操作

当读请求来到本地节点后

首先从Memtable当中获取数据

如果数据存

在则返回

否则从行缓存中去读取数据

如果存在

即返回给客户端

再者检查布隆过滤器

判断那些Sstable中

会存在相应的数据

如果不存在

则返回客户端为空

透过布隆过滤器

第四步就完成在Key缓存中

来定位所查询的键值

是在哪个Sstable当中

最后

我们从Sstable当中获取数据

返回给客户端

同时把数据写入行缓存当中

在这里我们看到

由于Memtable当中的

列是按句存储的

所以列的检索特别快

同时由于行是排序存在的

因此对行切片的检索也比较快

最后要感谢黄向东博士

和宋韶旭老师

对这节课的帮助和支持

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

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

节点本地数据存储笔记与讨论

也许你还感兴趣的课程:

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