00:00
来,那我们看最后一个优化点,叫做并发力度优化。并发力度优化啊,那个并发力度优化呢,其实你看着这个名字是不是感觉有点这个吓人是吧,也不知道这个啥叫并发力度优化啊,这个感觉理解不了,但其实这个很简单,这个东西都是大家熟悉的啊,这里边儿所讲的东西都是大家所熟悉的,全是谁的东西啊,全是h base的知识点。好吧,H也不熟悉,也不熟悉啊,也不熟悉啊啊好吧,那既然不熟悉,咱们回顾一下啊呃,在这里边它其实涉及到的全是啥呀,全是HB当中这个分区相关的知识点。Region啊,H base region应该还有点印象吧,对吧?啊,H base我们回忆一下啊,那h base我正常来说一张表啊,一张表会分成是不是多个region呀,对不对?然后呢,每个region我会分布到不同的region so当中,对不对啊,这就是region的概念吗?啊,那问一下大家还记得我们HP当中这个region可以生成的途径有哪些吗?就生成region途径有哪些啊,怎么会得到多个region?
01:08
呃,比如说第一第一第一种情况就说怎么怎么怎么得到多个瑞阵呀,自动分裂对吧,你就不管它,不管它,你最开始建一张表,那最开始只有一个瑞阵吧,对吧,那随着这个时间的推移,出现量越来越大,它会达到一个阈值,对吧?当然这个阈值呢,得看不同的分裂策略了,有些阈值咱们是固定阈值十个G,有些阈值呢,会随着这个,呃,Region真个数的增长,是不是会逐渐增长啊对不对,当然那个逐渐增长最大值也是多少。也是实际对吧,也是实际,也就是说不管是哪种策略吧,也就是说到达一定的阈值,它会自动分裂啊,一个变俩,两个变四个,对不对啊,这是逐渐的分裂,逐渐的分裂啊,这是第一种方式,还有一种方式叫什么来着,叫做域分区对吧?啊就是在这电张张表的时候,我就给他制定好这个分区规则,我告诉他,比如说你分15个区,那你分区的时候,你的分区键啊是怎么生成的,比如说有咱们那个16进制字符串,对对不对啊,还当然还有一些其他的策略或者说呢,你可以直接自己给他指明你的分区线,对吧,比如说ABC,比如说123是不是可以自己指明指明这个分区线呀,对吧,那是这样的,这是两种测两种两种方式吧,啊,一种是自动分裂,一种是预分区。
02:19
那实际上我们正常情况下,咱们大大家在工作的时候用的最多的应该是哪种啊,如果说需要用到HP,那肯定是预分区啊,预分区为什么呀?因为预分区呢,我们能够很好的去控制哪条数据进入到哪个分区,对不对,我能够很好的将咱们的数据打散到不同的region当中,对不对啊,是这样的啊啊,那如果说你让它自动分裂的话呢,那你可能这个会出现咱们那种region的热点问题对不对,比如说所有的数据呢,只写到一个region里边啊,那这个会导致region热点啊,是这样的,那所以说更多的时候我们用的还是预分区啊,还是预分区好,这是咱们跟呃关于h base当中这个表的re刃相关的知识点啊,那咱们在这儿呢,提到的这个所谓的并发力度优化,那它所指的就是啥呀。
03:06
所指的就是咱们刚刚提到的这个region相关的配置啊,好,那家看一下这段话啊,这段话这里边,呃,大家看一个看一个词,看一个英文单词,哪个单词出现的频率比较高啊。Segment对不对,是不是出现好几次,那这个segment是什么?Segment好像就是一个是不是一部分的意思啊,对吧,一块啊,一个橘子瓣是不是一块的一个意思啊,对吧?这叫segment啊segment那这个segment在这指的是啥啊?来解释一下。来我们这个segment指的是谁的一部分呢?指的肯定是那个那个cube的一部分啊,就是olap cube的一部分啊,那么这个cube的部分指的是哪一部分呢?来咱们正常情况下,你使用H使用麒麟你是怎么用的呀?是不是先定义好一个CU吧,然后cube是不是每天都会计算呀,每天计算当天的数据,那前面讲了每天的数据到HP里边都是一个什么?
04:02
不是一张新的表吧,是不是都是一张新的表,都有一张新的表,那每天啊一个表,每天一个表,当然这个表它最终会怎么样,会合并对不对,会合并,那有什么七天一并,28天一并,对吧?那会合并的啊,然后咱们这提到这个三个men指的是谁的谁的谁的一部分呢?指的是cube的一部分,哪一部分呢?指的就是h base当中属于该cube的一张表。啊,属于该Q的一张表就叫做一部分,叫做一个segment啊,每个表就是一个segment,每个表就是一个segment,那所以咱们一个完整的Q吧,应该是由多个segment组成的,对吧?其实这个sment指的就是谁,就是h base里边一张表对吧?那咱们这儿要讲的这个所谓的并发力度优化呢,其实指的就是这一个segment的并发度。一个segment是不是就是一张表对不对,就是一张表,那一张表是不是有多个re,那所以这个所谓的并发度呢,指的就是谁的并发度,是不是就是咱这个表re润的这个并发度啊,对不对,那这张表如果说我的reason越多,那我的并发度就越怎么样。
05:06
越高呗,因为你的region越多,你是不是分布在多个region,那你读写的时候是不是通过相相当于同,呃呃,重新说啊,你的region越多,那你那个region是不是分布在更多的region server里边,那你读写数据的时候,你是不是并行的请求多个region server啊,对不对,那你并行请求,那你的并发度就高呗,啊就这个意思啊,那所以在这呢,我们要控制的就是h base当中一张表的region个数啊,那你控制region个数的这个手段有哪些呀?手段有哪些呀?啊嗯,两两两种呗,如果说你采用的是自动分裂,自动分裂你怎么去控制这个认的个数啊,你比说我想让这个认多一点,那怎么办?是不是可以将那个分裂的阈值调小一点,阈值调的越小,那你的瑞是不是越多。没错吧,你假如说默认情况,咱们那个阈值多大来着。预制十个G是不是就相当于一个REGION10个啊,对吧?啊,那如果说我把这个调成五个G啊,或者调成两个G啊,那你是不是这个分裂的就越越早,分的越早,你的region列是不是就越多,那这很简单呀,那如果是域分区呢,那域分区我我我是不是就更简单呀,比如说我上来之后,我的表第一次建,我就让他建50个分区。
06:15
那是不是分区越多,分区越多是不是并行度越高,哎,就这个意思呗,其实调整的就是H倍当中这个表的region啊,那怎么去调整这些东西呢?来看这。这边呢,有一个参数叫做king.h base.region.cut这个参数呢,它所覆盖的,或者它所调整的,那就是我们h base当中那个region刃分裂的阈值啊,H base分裂阈值在H倍当中,默认是多少啊?默认十个G,那在麒麟当中,哎,它把它覆盖成默认是多少了呀?默认值是五个G啊,也就是说五个G就分裂,五个G分裂,如果说你还想让它分裂的更快一些,你可以调成三个G或者是两个G啊,是这样的啊好,这是关于这个值,那如果说我想采用域分区呢,域分区你可以直接这么设就行。
07:01
咱这是不是有一个这样的参数叫做K0点h base.region.cut.m呢?啥意思啊,这个指的就是每个表,或者它这说的是每个问对吧,每个3MAKE个其实就是每个表对吧?就是每个表当中的这个rein个数的最小值啊,默认是一,那我要设成50呢。那是不是相当于你这张表刚建的时候就有50个region呀,这是不是相当于就是域分区啊,对不对,就是这个道理啊,也就说我们可以通过这样的两个参数呢,去调整h base当中这个reason的个数啊,Region个数啊,那就是这么多啊,这个所谓的并发力度优化调的全是h base当中实际上表的这个reason的个数啊,啊,那这个假如我现在想调整,比如说我这个值呢,我想给它调小一点,它默认是五个G对吧?我现在想给它调成三个G,怎么调?把这个参数拿过来,拿过来之后呢,你要想全局调整,那你这个参数得放在哪,全局调整放在哪,是不是放在咱们H倍呃,得在左边啊,推损一下得放在我们的麒麟的这个CD的OBD,哎,就在康复目录是吧,PWD下啊就在这,你得放在哪,是不是得放到咱们这个K0.purpose啊,得放到这里啊,这是全局配置,那如果说你只想针对某个cube进行配置,在哪配?
08:16
是不是在咱们这个configuration or right这个位置,这是不是cube level呀,就是cube级别啊,只对当前cube有效,你就加上呗,加上之后CTRLV,那比如说调成三个G3,因为它单位是多少啊。单位是B啊,那你就调整五就行了呗,调成三就行了呗,啊就这么调,然后这边呢,你要想再调加调整其他参数,你再接着接着加就行了啊,就是这么去调整啊好,那这个就是我们所谓的并发力度优化,都是大家这个这个应该熟悉的这个h base的这个啊,Region的这个参数啊好,那这个咱们就不再多说了,大家了解一下就行,我把视频录一下啊。
我来说两句