00:00
好,那刚才呢,我们聊的是它的一个表的一个关系,对吧?啊表的一个关系就是那个什么数据库啊,是数据存储方面的一个内容,那接下来我们看一下H整个一个架构,因为无论是那个什么数据库啊,还是这个什么表啊,它是不是应该在h base这个里面存的呀,我们说h base这个存储框架嘛,它得有服务吧,啊得有服务来掌管的这些原数据信息里边存的HDFS嘛,那总有人掌管了,其实我们之前就跟大家聊过,那在h base当中我们会学一个东西,我们会表述上说数据呢存在这个东西里边,但实际上这个东西跟对一样,是一个进程。你要真要聊的话,他也不能存数据,只不过说他这个进程里边掌握了。原数据和datanode里边对应的那个地址关系能听懂。像data notde,我们之前不是说过datanode是存数据的地方吗?对吧,但是你告诉我datanode是什么东西本质。
01:00
你是不是GPS能看到啊,它是一个GPS能看到是一个降号镜头吗。一个交换进程,你告诉我存储实际个G的数据。存在吗?不可能吧,他是掌握着其实这个进程里边掌握着我们所讲的。数据和Linux文件系统的一个什么对应关系吧,掌握这个,所以呢,我们表述上说是这种,那这个存储框架它是依赖于SDFS的,实际上我们说它某一个节点可以存数据,实际上那个东西呢,掌握的是跟data的那边原数据关系能听懂啊,一级一级的吧,因为HDFS是不是依赖于Linux件系统,我现在H有依赖于HDFS。对吧,实际上数据还是存在哪了。文件系统DFS最后存在linu上了啊,还是存在磁盘里边,这个要知道啊,这要知道,那我们接下来看一下这个整体这个架构,这个架构呢,就不是聊具体的表啊,那些东西对吧?聊这个表啊,这些东西在哪存着呢啊,在哪存着呢?啊就是我们后期要装的服务,要装哪些东西啊,这个是不完整版的,因为完整版的我们看到那个图比较复杂一点,对吧,我们把所有东西会放到里边去看,好那第一个我们之前说的是reading。
02:11
对吧,啊说的是reading,那reading呢,它是要放在reading so上。Reading是不是我们说的那个表啊,没关系吧,啊,那个表呢,要放到reading上面,这个reading so,你看它是有多个。分布式服务啊,它这个服务呢,有多个啊,有多个是这个意思,那这个里边呢,它有store是不是存储时机的数据啊,对吧,那个什么store,当然你刚开始操作的时候,这个东西呢,还是在内存里边啊,所以这个里面呢,会有一个内存一块会有一个什么。磁盘托fair尔啊,磁盘一块,因为正常存数率,他先要经过内存嘛,啊先要在内存里边,那到一定时机呢,他要把内存的数据呢,给它刷下去啊,给它刷下是这个意思啊,这个呢是我们看到的reading so这块的内容啊,里边还有这个文件对吧,但还有一个内存,那reading so的一个作用,跟数据相关的。
03:06
对吧,跟表相关的啊,表相关的,那第一个数据的get to delete,那你看这三个名词。就看人了。增山茶对吧,那你之前说了,这不是增删改查吗?改是什么,是不是铺的呀,对吧,他通过时间戳控制的吧,我再铺的一条新的,他不就改了吗?对吧,不是说把原来的数据给他拿出来去改了,然后写进去,那这样他最终是这样做的,但是在你用户在操作的时候,他不会让你这样做,所以呢,这个put呢,既是增又是什么改,那这三个呢,就增删改查啊,那对于region整体这个操作,这个是不是对于某一行数据做一个操作,或者说某几行嘛,因为它可以批量操作啊,可以批量操作,那这个region这块呢,它可以去干什么。第一个叫切分,第二个叫什么合并分久必合,合久必分啊分了完了之后呢,要合合要分,到时候我们具体的讲什么时候合,什么时候会分,那还要讲的是怎么分怎么合,对吧?什么东西合一块,我不是说把所有的东西都合在一块了,你有不同的表,我把不同的表数据合在一块吗?
04:21
这不可能吧,对吧?啊是这意思,好,这个是我们reading的一个作用,那接下来看到什么。Master这个K这个master呢,就相当于内的那种感觉。你是存数据的地方,那我一个老大来管理着你,对吧?啊,作为一个整个的语言数据的一个入口,这个意思,那这个地方又出现了u K宝,所以它应该是依赖于什么。Board的啊,要依赖于kable来帮助他管理这个集群,因为master所要干的事,整个的其实S里边所要干的事情太多了。啊,就MASTER1个人来干呢,受不了,他要把某一些任务分摊出去交给ZK啊,要交给ZK,到后面我们会说这个ZK到底帮他做了什么事情。
05:10
啊,帮他做,也就是说在master挂掉的一段时间里边,你做数据的三杀改查没问题。注意,我说的是数据的,在你这干啥,如果你做表级别的增产啥不好,完不成了。那其实我刚才说的这话,Master在干什么事?管理表是不是管理这种表结构上面的类似于我们所说的D。什么?它有DDL,有DML。这两个一个是操作数据的是DFL吧,一个是操作表的是DD对吧,也就是说master它管理的这种DDL的一个操作。然后这个呢。跟实际数据相关的都由你搜来做啊,它分工比较明确,当你这个master挂掉的时候,我数据的增删改查没问题。
06:06
因为master不管这些事啊,这些小事他不管啊,这些小事他不管好,那这个里面呢,Master的作用是表级别的,以及ready,就是这个表我要分配给谁来管理啊,他做这个事的啊,做这个事的,那你看表级别的create delete al。是表的什么增删改吧,啊,当然还有查,他也可以查,可以他找那个list啊,可以查某些表,当然还有一个describe描述这张表的详细信息,就是他做的是表的增删改查,另外还有还有这个。级别的一个维护,就是这个表创建了。创建了一个表,当时是一个reading吧,这个叫reading so,是不是reading的一个服务啊,对吧?那这个reading到底给102,给103还是给104呢?谁说了算啊。Master master根据当时的负载情况来选一个负载相对来说比较低的人来维护这个内容能听懂啊,他自己要做这个均衡的,假如说发现诶你创建了三张表,最开始创建了三张空表,是开始是102 1031041人一个吧,啊,基本上是应该是一人一个啊来管理的,那接下来你不断的往这个什么103去插入数据和104插数据,104呢,稍微少一点,103插入数据插入了很多,当那个104要做切分的时候,是不是形成了两个reading定啊,这个时候master会把新的reading交给谁啊?
07:32
102,因为104也有数据嘛,我们刚才说了是103104同步插入数据,但是104的数据要少一些,103不断的去增长嘛,这个表不断增长,增长到一定大小,它要做切分。切分完了之后,他把新的reading要交给零二,这个也是master所做的事,能听懂啊,他要管理整个监控整个机群的一个负载情况,或者说你这个reading so,挂掉了,你上面维护的reading是不是当时就拿不到了呀?但是你既然是分布式的,你还有其他的reading so,那你一台挂了,我应该可以正常的去工作吧。
08:07
对吧,可以正常的去工作,那他就会把这个reading调度给其他的reading so来做这个事啊,他就管理这种什么高层级的一个事情嘛,啊master啊,他是老大管理这个事,那跟底层实际数据打交道的就是reading so啊,你要把这两个能区分开吗?没问题吧,啊reading server里面管理的region对吧,他要做的事情呢,就是说对于数据的增加干啥,也就是DML的一个操作。啊,那对于master呢,它管理的是整个表的增删干啥,以及当前这个表给谁维护对吧,等等这些信息,或者说你搜挂掉了,我这个地方要给谁来维护的一个问题,他管理的是一种高层次的一个企业的问题。啊,它是属于DDL的一个管理者啊,DDL管理者,所以呢,它的做区分开了啊区分开了,但是我们刚才所说的你must挂掉了。
09:03
不影响数据的增长,改成但是影响什么?表的在这干啥吧,那也不能啊,那reading so挂掉了呢,还有其他的,因为reading so它是实际存储率的地方,它肯定要很多台吧,因为一台存不了多少数据嘛,啊,省不了多少数据,OK那。Master这个东西是不是存在单点故障问题?所以它会有什么?高可用。啊,高可用,而对于master这块的里面的一个高可用极其简单,不用配。任何配置不用改,任何配置你得起就完了,你在102起master 102是I,因为你第一个起到,你在103104在同样的执行命令照样可以起master,但103104就是备份的,然后102挂掉了,103跟104类似于卡当中control了的一个选取规头抢ZK当中的个资源,谁抢到了谁就是老大能听懂啊,而且呢,不需要额外的配置,说有一个什么service对吧,然后底下跟着三台不用,你有十台机器,你几十个master OK了,没问题啊,你想起多少起多少啊,这个它这个地方呢,因为它自带就是它自带高混用,类似于那个哈动3.0也自带高混用了。
10:17
哈,为1.0没有高可用吧,没有你要自己做,2.0是不是有高可用很麻烦嘛,3.0自带了,就是不用那么简复杂的配置了啊,就是说宽大的发展肯定越来越完善嘛啊,早期的时候他可能没想到这个问题,但是后期的慢慢的加这个东西,那对于S来说,他就刚开始设计的时候就设计成那个什么。高可用的了啊,所以呢,它最开始设计的时候就依赖于这个什么kable啊kable,那我们所说的,那你说master里边所有维护的原数据那些东西要不要给足K方呢。一定要吧,如果不给你这个东西怎么拿呀,对吧,是不是有一个中间念存着,然后你往这里面写,我从这里面读啊,那这样才能你挂了之后我才能提供服务吧,我俩数据要保持什么。
11:05
保持一致吧,啊,如果不一致这个就不行了,它不像我们是之前所讲的乘法里的数据,对吧,数据丢了,所以原数据丢了,这个不行吧,那原数据一丢整个表都没了,就查不到了,是不是啊,这意思这是不完整版的,那我们要搭建集群的时候,也就启动那个master和什么。以及为还有还有东西,这里面没有提出来的,还有东西,什么东西要讲还。啊,不要写RF啊,因为它是下接在之上,雅安可以不写,因为这块跟雅安没关系啊,它是存储数据的,没有说计算的,雅安是不是调度资源,是做计算是吧?啊它跟雅安没关系啊,跟雅安没关系这意思啊,这是基本的一个架构,里边还有一些具体的一个解释,大家自己呢可以去啊相细的看一看啊,相细的看一看,因为主要最重要的就是把这个两个区分开,一个做什么事了,一个master做什么事了,一个DDL,一个什么。
12:03
DML啊,给它分开就OK了啊,分开就OK了。
我来说两句