00:00
好,那接下来我们就是看这个h base的一个学习啊,首先是第一章HP的一个简介,那这一章里面我们主要聊的是是h base什么是它到底干什么的,然后特点整个架构,那架构这一块。第一章大家一个重点也是难点啊,第一次讲的时候,大部分人都会比较V,而且记不住里边什么东西啊,东西太多了啊太多了,但没关系,这块东西呢,会反复的强调,然后大家到原理这块呢,又给大家把东西整个的拆开了,把整个架构拆开了,给大家讲了,那大家就是前期听第一章的时候呢,能记多少记多少,尽量的多注一点东西啊,因为后面你听到熟之后,后面再去讲原理的时候,能听的更明白一点,看明白一点,是这样吗?OK。那什么是呢?之前在讲哈的时候应该讲过谷歌的三篇论文是不是?谷歌的三篇论文是g FS ma,六,还有一个一个table对吧,那GFS跟六形成了一个框架时。
01:02
哈,那big table它单独的这篇论文啊,又形成了一个框架,就叫h base啊,就叫h base big table啊,顾名思义大表对吧,就是存大量一个数据的一个地方,而且是一种什么表的形式来存的,用表的形式来存的啊,是这样的一个东西。啊,然后看一下,它也是受了这个论文的启发,作为哈布的一个子项目来维护,维护用于支持结构化的一个数据的一个存储,啊,首先从这里边我们知道它支持这个结构化的数据,而且是存储,它是一个存储框架是不是?像哈度吧,它既是存储又是分析框架,因为它有map可以跑任务做分析,那h base呢,它就不能够做分析,它只能是存储,它可以直接去获取啊,你去。改啊,去查去存啊,这是可以的,而且它很快,而且它很快,然后看一下整个的既然是哈,如果的子项目了,那肯定也是阿尔法奇维护的吧,阿尔法奇维护的,所以它这个官网地址呢,还是跟之前所学的框架的一个官网地址是一样的啊OK,然后这是它整个的一个发展历史,相当于发展历史,然后说是什么零六年发展的白皮书,然后就开始开发这个H,根据这个,然后零八年。
02:16
北京看奥运会是吧,陈序奥运会也不看,然后就就去写这个代码,然后终于把这个开发出来了是吧,弄出来了,然后之后又停了一个顶级项目,顶级项目对,然后我们需要跟他说一下这个S它到底干什么的,大家知道这个东西存储。啊是这样的,然后它不仅能存储,它还支持增删改查。而且他是在还是DF上的。首先问大家一个问题,HDFS里边能够支持什么?随机读写吗?直接用操作,随机的,随机的写操作。随机写操作不可以吧?随机写不行啊,他不支持啊。对吧,那有的人他就想了,那我这个HDFS啊,是存大数据的,那我有的地方我就是要改一个文件的某一个地方怎么办呢?就某一行我就要改一下。
03:11
对吧,那大家想到的一个方案就是把它读出来,把它修改了之后再写回去吧,这种方式。这可以啊,这可以,这形成了一个相当于一个改写当中一行数据可以做这个操作吧,但是大家想这个操作实在是。太慢了对吧,你想想看你,而且你这个ND要存的文件。都是大数据量的一个文件了,你说你把它读出来,然后改里面一个东西,然后再给它写回去,整个操作太浪时间了,那怎么办呢?优化呗,对吧,优化,不停的优化改写方案。啊,你自己去想啊,就该写该写,最后呢,就形成了这个HP。其实倍子就是为了解决这个事情呢,在HDF上呢,实现这种随机的一个读写。随机这个读写啊,它就能在一个文件当中去改一个地方啊,一个值。
04:04
然后它是不断的去优化,然后封装,优化封装,最后形成了一个非常大的一个框架啊,这辈子这辈子OK,这是他核心干的一个事情,就还在班上去实现这种随机读写,让他所做的一个事情,OK。然后看一下这是它相应的一些介绍啊,这些介绍可以稍微看一下,什么高可靠,高性能,面向裂可伸缩。首先这个东西是最好理解的,对吧,因为它是基于HDF来的,那它的一个可视缩性是不是HDFS的一个伸缩性啊,对吧,HDFS它扩展集群是非常方便的,然后还有高可靠高性能。高性能那块,那高可靠其实就是体现在它在HDF上也有副本机制啊,那种副本机制它的数据呢,也不止一份,你看你hfs存的默认的是多少份,那h base这个数据就有多少份,对吧?啊这个高的那高性能,高性能是它的一个。
05:04
整个的框架的一个优化过来的,就像我们刚才所说的。它是怎么做的呢?哎,它不是读出来然后再写回去吗?他不是这样的,他是将对于同一个位置的数据啊做标记。做标记,假如说你要删一个数据,他把这个数据不是真的当时就去删了,而是说标记为删除。标记为删除,不用实际的去跟什么磁盘打交道,那在它在一个统一的时间,统一这个时间,或者说它有一定的触发条件,那这个原理的时候给大家介绍。到有一个时间要求,或者说有一个大小。数据这个大小,他会将那个数据啊统一的做一次合并,那合并的时候,他看见那个打到删除标记的那种东西呢,他就给它真的删掉了,在磁盘当中给删掉了,它就是你当时用API去操作,或者用视角去操作,删除这个命令的时候,它并不是将这个数据真的在磁盘当中移除了,而是说只是标记了一下,标记这个东西被删除了。
06:03
那读的时候他看见有那个标记,他就不给你返回了,那对于你客户端来说是不是。看起来是这个东西被删了呀,因为你读不到了呀,对吧,哎,他是这样来做的啊,这是高性能,然后面向列的。它是一个列存储的一个数据库,列式存储的列基于列的,不是基于行的,基于行的它是一个。非关系型的个数据,类似于非关系数据,大家之前有学过非关系,也学了什么没有,有学你自己学的,他想那种非关系不,这个呢,他也是一个非关系。那到时候我们会分析一下这个班型和非关系的一个特点,那之前也学过,应该能。现在应该还有点印象,非关联数据到底是一个什么样的东西,对吧?啊,稍微去想一下,各位想一下,然后利用s base技术可在廉价的PC机上搭建起来一个大的机群,那这个核心呢,其实就是哈布把它。
07:07
哈多最初的设计,设计的一个思想就是在廉价的机器上来跑这些任务以及存储数据了啊,存储数据核心的一个设计思想,OK,然后它的目标是存储并处理大型的一个数据啊,因为它的名字就其实就叫什么big table对吧?啊big table啊就是大表,它就是存储这些大大批量的一个数据的大批量数据了,OK,然后这块的一个内容就还好,什么big table,一个开源实现等等,还是讲的另外一个东西。这是整个的h base这块大家所需要知道的就是它,第一它是根据谷歌的一个一篇论文来的,第二它核心干的一件事情就是实现了在HD上随机读写啊,先理解这么多。
我来说两句