00:01
好,呃,那接下来呢,我们看一下have与数据库的一个比较,其实那对于一个东西内容来比较的话,那我们就从。相同点和不同点的比较。对吧?啊,一般的在面试过程当中啊,它比较都要从两个方面啊,其实对于这个have跟数据库而言呢,它只有第一个查询语言比较相似,其他的都不一样,而且呢,只是查询也比较相似啊,不是一样啊,还有区别,还有区别还是函数啊,对吧,还有区别,那这是它的一个相同点,也就是查询语言是属于它的相同点,那不同点呢,我们主要列出来有数据更新,执行延迟以及数据规模这三个内容来做的。对吧,好,那么接下来呢,其实它最重要的一个点就是数据规模,因为由于数据规模的不同。才会对应的有这个执行延迟,就是什么数据更新的一个不同,那买so而言的话,就是我们传统的这个关系型数据库,数据量怎么样小。
01:12
对吧?那我们刚才所提到的have这个东西呢,是依托于哈杜数据存在HDFS,而我们所知道HDFS是一个分布式文件系统,存储的数据量要怎么样要大。对吧,而数据库呢,存储的数据量比较小啊,这是第一个,这是它最重要的就是这个点,好,那由于这个点呢,咱们看一下数据更新问题。我们所谓的关系型数据库啊。对吧,数据量小,而且它应用场景就是一种什么。增删改查在线业务。而我们have,它是读多写少,一次写入多次读取的一个应用场景,对吧?所以在数据更新这一块也是不一样的,其实默认情况下,汉里边是不支持对数据进行更新的,因为更新操作是属于一种随机写操作。
02:10
就是你一个文档对吧,假如十条数据我更新的时候,我可以对第五条,对于第六条进行更新吗?哎,你知道在HDFSDFS里边有讲更新操作,我可以追加对吧,大家都知道我可以往文件里面去追加。我可以去读,但是有讲过随机写吗?就是用十行数据,我把第五行数据给改了,但是现在我就要你做这个事。怎做,我就要对HDFS有十行数据,我就要对他第五行改一下,怎么做对我给他下下来。改了之后干什么,重新上传上去。对吧,啊,其实它里边这个更新操作的就这样子的,那默认情况下呢,它是不支持更新的一个二倍的语法呀,不支持啊,但是特殊情况下,你要对这个表做一些操作可以,但这个不是我们聊重点了,因为在生产环境当中也不会这样去改,因为它这个效率也怎么样啊。
03:15
底你想想看嘛,他把它干什么下起来,改完之后再覆盖写回去。你十条数据还好吧,HD存的数据你在公司当中可能是十条数据吗?数据量太大了,这不太现实对吧,你就改它啊,所以呢,它我们就直接就可以说,哎,他不支持更新,但是你要知道实际上可以更新啊,实际上可以更新,但是一般过程当中也没人去用,如果真的要更新的话,我们会怎么做呢?从这张表里边查出来,覆盖到这张表里边啊,用这种方式我们手动的去下载下来。然后覆盖回去,那不就是读出来,改完之后再写回去嘛,对吧,我们会采用这种方式,好,就覆盖全表的方式去做它的一个更新。而在MY里边呢就可以对吧,这个是不是数据规模带来的问题,由于你数据规模大了,你放在单机上存不了了,所以我们才选用HDFS做我们存储,而HDFS是不支持随机写操作的,所以会导致我们汉默认情况下是不支持什么改操作的,还是数据规模带来的问题吧。
04:20
对吧,那接下来还有一个所谓的执行延迟。那我们知道买呢,这烟值肯定比较低。对吧,非常快,增加奶茶都比较快,而have。虽然我们现在还没用,但是我们现在知道它要翻译成他妈任务去执行,那你觉得它效率能高吗?它高不了对吧,啊,它肯定很慢,所以执行延迟,那主要的还是由于这个什么数据量带来的问题啊,由于数据量太大了,所以呢,我们传统的单机分析的方式做不了了,所以我们才选用分布式计算方向二。来帮我们做计算,所以导致了他怎么样人延迟比较低,所以最关键的呢,还是最大的一个区别在于它存储的一个数据量怎么样。
05:07
不一样对吧,这是最根本的原因,由于这个根本原因呢,导致了,诶数据更新方面也不同,然后执行延迟方面也有不同,所以呢,你要抓住这个最关键的啊,都是数据规模带来的,如果说还是像以前一样,数据增长比较慢,对吧?啊公司当中呢,本身也没有多少数据,那大数据根本就不会出现。用不着啊,我单节点能运行的,你非得搞我一个分布式干什么。你在工作当中开发也一样,就是说能用简单方式去解决的问题,你肯定不会考虑复杂的。对吧,你单节点能运行呢,你非得搭一个框架,还运行什么哈杜运行沿对吧,还运行这些东西干什么呢?图啥呢。对吧,啊就是这个意思,所以说还是数据量导致的问题啊,这一块,所以我们总结一下,只有这个查询语句有类似的地方,其他的都不一样。包括指引擎,我们今天提到了MYSO呢,可能用呃,MYS引擎,In the DB引擎,但是HUB里边它用的是MR引擎,但是它也可以换引擎啊啊,它也可以换引擎,就是说MR呢,是它默认的一擎,默认的MR也可以换成Spark。
06:17
啊,那就能快一些对吧,也能换成呃,这个太子啊,但是这个框架呢,我们还没聊到最后实战的时候,最后第11章我们再去,哎,给大家换一个太极引擎,Spark引擎呢,那要学完Spark我们再去装。对吧,因为Spark也是一个大的课程,他可能前后也要呃十二天十一二天的时间啊,所以说现在去用Spark引擎肯定不太合适,对吧,到最后呢,我们学完Spark之后,我们就把have呢换成对应的SPA引擎啊,就所有引擎呢,大家都能见得到啊,但是现在呢,整个讲过程当中,我们还是用引擎作为讲座为主啊好,这是我们所聊它的一个不同点啊,这个也是在面试的时候呢,有一道面试题,它就是问的那have跟这个数据库。
07:03
有什么不同对吧,或者说他们俩呃,做一个比较啊,是这样一个东西啊。
我来说两句