00:00
好,接下来呢,我们来看一下数据的完整性,那数据完整性啊,对于一个大数据集群来说呢,是非常重要的,那首先给大家举个例子哈,在多年前啊,中国这个高铁呢,出了一次事故,那当时呢,就是两辆高铁撞撞车了,对吧?撞车的原因呢,其实因是因为啊存储高铁信号那块硬盘出现了故障,出现什么故障呢?原来应该是有红灯和绿灯的一个切换,但是呢,它坏了,一直显示的是绿灯,结果两辆车发生了相撞啊这个事情呢,是一个非常大的一个事情。那同样道理哈,在大数据集群当中,如果我们存储的是这种金钱相关的,比如说你账号上有多少钱,对不对?那假如说你前面是10000这么多这么多钱,那后面呢,有三位小数,如果这个小数点坏了。诶,取消了没有了,把这小数点干掉,那你是不是就多出来这么多钱呢。那公司不就亏惨了?所以这个数据的准确性是非常非常重要的一件事情。那么来看一下,那还多债底层,它是如何来判断这个数据是准确还是不准确?
01:06
哎,其实它底层呢,是有这种啊校验方式啊加C我们来看一下。首先来看,嗯,这是我们带传输的一个数据,假如说啊,我们要把本地的数据上传到APS。哎,这么上传好,那上传这是原始的数据,我怎么传呢?我在这个原始数据后面加上一个校验位。我们以最简单的奇偶校验的方式给大家讲一下底层原理,比如说这里面一的个数加一起是不是二啊,二是偶数,偶数的话我就在后面加一个零。那好,那下面这个数据,那这个数据呢,一数这个一的个数,数完之后是奇数,那我就在后面加一个一。哎,偶数加零,奇数加一。OK,那接下来我通过网络传输,传输到HTS。
02:00
对吧,那传输的过程当中有可能网络波动,或者是落盘之后磁盘有损坏,都有可能造成这里面的数据有损坏。那假如说这原来是零的位,到了这边变成了一。那变成一之后,As收到这个数据,他第一时间要干什么事呢?他先对这个数据进行再次的积偶校验。它还是数一的个数,数完一发现一的个数是奇数,那末尾应该填一,结果发现原来的校验位呢是个零,那它俩不等,那这个数据能不能用,不能用。就是这个道理,对吧,来把它干掉。那同样道理,那如果说这个传出来数据是它哎腰的个数呢,是奇数,那我末尾呢是一一比较相等,相等就认为是对的。啊,这样,那这个聪明的孩子应该能想到了啊,说海哥啊,你这个不靠不靠谱啊,假如说我这里面坏了两位对不对,哎,两个一。
03:03
那我这里面加几十四,四次偶数,偶数我后面就应该填零,那对了。那这不是很危险吗?啊对,哎,你能想到那这个嗨多考工程师他也想到了,所以说他不用的是不会用这种最简单的这种基偶校验的方式,他用的是CRC校验啊,是一种校验方式,底层的原理啊,跟上面呢是类似,只不过呢,这里面这个校验公式更复杂一些。哎,能够校验出来,你任何一位两位还是三位都发生错误,我都能给你查出来,是这样一个含义哈。好,那通过这个30校验传输过来,传输过来之后,诶,As首先对这个数据再次计算一下这个校验盒,哎,一看啊,1110跟它相等,那就正确,如果不等,那就认为是错误,这就是它底层的一个通讯原理。那下面呢,给大家这个呃,实际的看一下哈,我看一下我的集群上有没有什么数据,嗨豆。
04:03
打开。C,嗯,苍老师,这里面数据比较多啊,我来一个简单的吧,Y ma.TD把它打开,放一个abcd行吧,然后呢,我把它上传上来,态度把FS-foot a.TT到根目录。就是件什么事呢?它上传上来之后,我再把它下载到本地,用谁下呢?还记得这个代码吗?哎,下载的时候是不是有一个本地是否开启校验呢?哎,是这种方式下载啊,那我CTRL加D复制一份。嗯,第一个是否删除false,后面呢,这个路径呢,我这里面改一下,我要下载的是a.TT。下载到D盘,那这个校验要开启改一个。OK吧,那我看一下这里面有没有数据啊。
05:02
D盘。地盘里面是默认没有啊,没有之后执行一下。走。OK,执行完毕,执行完毕啊之后这里有个A,有一个a.T咱看一下A。对吧,A里面呢是abcd。OK,那这个CRC怎么看呢?哎,CRC啊,普通的方式还看不了,那我们用一个edit plus。然后呢,把它拖拽过来。拖拽过来之后呢,点击四选择编码方式,16进制查看器。点。哎,OK了,那你会发现,哎,这里面有这么多数据,哎告诉你们,前面这部分到这儿代表的是abcd,后面呢,588AA4AC代表的是CRC就业码。那怎么看呢?嗯,给大家打开一个。这个东西打开网站CRC循环影仪校验啊,ID33啊,当然你在百度上一搜啊都行啊,然后这里面我输入一个abcd。
06:08
嗯,我这里底层的校验方式呢,是CRC32机。你这一计算啊,发现这俩值不一样。看了吗?是不不一样啊,说海哥你骗我啊,这不对呀,嗯,其实我们再来看一下啊,你再来看一下这个abcd。这是一,这是二,啥意思?这里面是不是多了一个回车换行啊,那你把这个复制了,复制之后你再放到这里面对吧,哎,这种形式了吧,啊好,然后计算。看到吗?什么情况,是不是就是588AA4AC,哎这样就OK了啊,比如说这个校验方式啊,啊非常准确,你差一点它都会给你算出来不同的这种,嗯,结果校验结果啊,像那这个呢,就是这个呃,保证这个数据完整性,在还多底层采用的就是这个CRC32这种方式进行了一个校验。
我来说两句