00:00
把这个PPT先点开。呃,刚才咱们提到了,就是说咱们应该如何去做这个系数选型,对吧?其实要做技术选型的话呢,呃,所谓的技术选型是什么?就是说我现在要实现一个功能对吧?但是目前市面上能实现这个功能的这个工具或者是框架有很多,那我到底应该选谁?这个选择的过程就是所所谓的技术选型啊,就是选型,那咱们技术选型啊,咱们要考虑的因素其实是非常非常多的啊,比如说第一个数据量的大小啊,咱们大当然针对的是咱们大数据领域啊,啊第二个业务需求什么,行业内经验,技术成熟度,然后开发维护成本,然后总成本预算。啊,这都是咱们需要考虑的一些这个因素啊,那咱们接下来呃,把这里边比较重要的几个因素咱们去点一点啊,首先第一个最重要的因素应该是啥呀?对业务需求,你首先得先满足咱们的业务需求,对吧?比如说我现在要采集日志啊,你不能选一个采集业务,采集数据库的,那你不能选对吧?那所以业务需求必须少要满足啊,那他满足之后呢,那如果说咱们真真的就是面向开发对吧,那我们开发希望什么呀?希望这个能够快速的上线对吧?哎,越快越好,那所以说咱们还得选一个什么东西呢?选一个这个呃,技术成熟度高的,然后呢,行业内经验丰富的。
01:22
啊,什么意思啊,所谓技术成熟度高的,那你就得选选,比如选框架的时候,我就得选什么呀,比如说咱们选那种开源框架,你不能选那种啊,那个孵化项目对不对,因为咱们阿帕奇项目有这个啊,就是已经成熟的就是啊成为阿帕奇顶级项目,咱们选肯定选顶级项目对不对?呃,有一些项目可能正处在那种就是in cuing阶段,就是孵化阶段,对吧,它官网上会有标注的,那那那种的咱们尽可能来少选,因为孵化阶段呢,它可能将来变动会比较大啊,所可能还不是特别成熟,不是特别稳定,尽可能不选啊,所以说这个成熟度哎,咱们要选这个,呃,高一点的啊,那再一个呢,行业内经验要要多的,什么叫行业内经验多的呀,就是大家用的多对不对,那大家都用这个,呃,那都用这个,你从网上去找资料的时候呢,资料就会丰富,你遇到什么坑呢,别人体验都给你踩过了,对不对,那所以说行业内经验一定要选更丰富一些的,就是大家用的多的啊,这个咱们得得得得得明确啊,因为如果。
02:23
说你选一个没人用的很冷门儿的那种。你用起来之后,你遇到什么问题,你只能自己去解决啊,你找不着其他的方案对吧,那所以说这个是也是很重要的啊,那再一个呢,就是呃,咱们刚才提到的这个什么,这个开发维护成本啊,开发成本,那肯定这里边涉及到什么呀,说第一个学习成本。啊,第二个诶维护成本,所以学习成本呢,就是咱们你要是一个从来没接触过,没听过的东西,那你拿过来要用,你是不是得重新学呀,对吧,这也需要很长的时间啊,那你要找一个自己之前用过的,自己熟的,那上来上手就可以用,那所以这个成本相对低的,那第二一个维护成本啊,就是有些框架我可能设计的好,有一些框架设计的不好,设计好的你你去使用起来很很很省心,对吧?啊,你不需要做过多的配置啊,不需要做过多的监控,那那这这种用起来就比较放心啊,那有些可能设计的不好啊,可能需要这个投入大量的维护成本,那这个就啊,尽可能不要去选。
03:20
啊,所以说这个也要考虑总总结一个就是说你选呃这个所谓的成本啊,就是说用起来越省心越好啊,就是说自己越熟越好啊肯定是这样,然后总预算成本,总成本,这个总成本呢,其实里边就包含了咱们这个,呃就是经济成本对吧?经济成本啊,就是尽可能的,咱们选什么样的呢?呃,选开源的对吧,这个不用花钱啊,当然那个付费的话呢,如果说你要必须得用,你可以跟公司申请对吧,你看公司给你批不批啊,花钱的可能公司一般都不大,不太想用啊,啊尤其是咱们这一些,呃,这种就是民营的一些公司啊,当然那个一些政府企业肯定是啊,就是哪个花钱用哪个是吧?啊,因为他有人管啊,有人管,因为开源的人总觉得就是开源的可能不不可靠不安全,对吧?啊,有这样的想法,那种就是商业版的,你付费了,那我出问题你会给我提供技术支持啊,是这样的啊,所以说一般啊政府项目都会用这些,呃,就是需要付费的啊,那咱们一些民营的都是啊拥抱开源啊,能开。
04:21
行,那再一个就是这个数据量的大小了啊,数据量大小,你比如说我们去选一个这种,呃,就是数据分析引擎的时候,对吧,咱们前面讲了有那种什么集析查询对吧?G查询要求我计算的得快,那我不同的机器集器查询,我支持的数据量是不一样的,比如说普我支持GB级别的,GB到PB级别,那我麒麟呢,我支持诶更大的级别,那你得看你公司的数据量是多少了啊,那根据数据量选择对应的分析引擎啊,是这样,所以这些都是咱们需要考虑的问题啊,啊考虑问题,那咱们这里边最重要的啊,就是大家到时候选的时候就首先满足业务要求,第二一个呢,你就选那种,就是大家用的比较多的啊,就选大家用的比较多的啊,既然大家都用都用这个,那说说明它什么,说明肯定好用对吧?啊主要是啊这样的啊,就是稍微就是有一点那个随大溜的意思啊好,那这个咱们不再多说了啊,那接下来我们看一看我们前面那些需求啊,来都有哪些实现方案,来先说这个数据采集。
05:20
啊,数据采集传输,那数据采集传输呢,我们实际上咱们分为两个哎部分对吧,一个是采集的日志,一个采集是数据库,那采集日志咱们用谁呀?用呃F啊用这个是肯定没跑了,用F啊是这样的啊,然后F这边我们后边还有一个啥,还有一个卡夫卡啊,还有卡夫卡啊,然后这个卡夫卡它是干什么用的呢。啊是这样啊,呃,实际上我们刚才前面提到了,就是我们公司里边,我们这个数据分析呢,我们会有离线分析,会有实时分析,对吧,有离线数仓,实时数仓啊,那离线数仓,那我其实采集数据,我追求它这个时效性嘛,不追求对吧,因为我是离线分析嘛,对吧,你只要这一天数据在晚上到了,我我我我我再分析就行了啊那所以说实际上如果咱们呃,单纯的考虑这个呃什么东西啊,单纯的考虑咱们的这个离线系统的话呢,呃,其实我就可以怎么做,直接呃用什么这个flu啊,把数据直接传到HTS就行啊,直接传到HTS啊对吧,直接传到HTS就可以了。
06:25
啊呃,因为咱们当中有什么有呃采集文件的source有往HL上写的S对吧?哎,实要我用它就行啊,应该就行啊,但是呢,我们也讲过我们的,呃离线跟实时在公司里边都有啊,那离线我要采集数据,我实时要不要采集数据啊,他也要采集啊对吧?所以更多的时候呢,我们离线和实时呢,可能会共用一套这个采集框架。啊,共用一套啊,那如果说我只有离线,那我用采集文件,然后写到HS,这个没问题,但如果说我有实时呢。
07:00
我们实时系统一般对接都是对接谁呀?实系统一般对接都是对接咱们的卡夫卡啊,都是对接卡夫卡啊,都对接卡夫卡,你像我们的SPA,你像我们的fli都提供了现成的卡夫卡的这个对接的对接对接的一个组件啊,直接跟卡卡对接啊,那所以说那既然是这样的话,所以说我们正常情况下,咱们采集通道可以这样去打啊,就是采集数据,然后呢,数据写到哪诶写到一个相当于一个中央的一个数据的一个,相当于一个数据总线吧,啊,咱们写到卡夫卡里啊,那写到卡夫卡里之后呢,那如果说我实时需要数据,那你就从卡夫卡里。拿走对不对,那我离那么那个那个离线需销数据,那怎么我也从卡卡里边拿对不对,是这样,相当于卡夫卡作为一个咱们的呃,一个数据的总线啊,或者说在这的卡夫卡还能起到一个什么作用呢?一个缓冲的作用,对不对,因为我数据呢,我呃可能我前面写的速率跟我后边分析的速率可能不匹配,对吧?啊,那我这样可以怎么可以用这个卡夫卡做一个缓冲。
08:01
啊是这样的啊,那所以说卡不卡在我们的采集通道当中呢,也是很常见的啊,一般就是采集数据,数据写到卡不卡啊,如果是离线,那你就再从卡夫卡到ACSS,如果实时的你就直接sparkli对接卡普卡就行,是这样的一个框架啊一这样一个架构,好再往下看。这是咱们说的日志,那还有咱们的业务数据,就是买circleq里边的,Circleq里边咱们就用scoop,这个后续咱们会学啊,好,那后边大家还看到我们还有两个东西啊,一个叫做log stach啊,一个叫做data叉,呃,Log stach呢,它首先它跟flu一样,也是用来采集日志的,那只不过logs stach呢,它通常是用在一个技术站里边的,哪个技术站呢,叫做elk。啊,Elk呢,是E指的是什么呀?Elastic search就是那个ES log sta指的什么呢?呃,啊,L指的是什么呢?指的就是这个love stash啊,那个K是什么呢?K是这个K班呢?呃,他们是一个技术站,这个技术站能够实现什么样的功能啊?首先呃L就是lo stash,用来做日志的采集传输,那e ece说什么呢?做数据的这个存储和分析啊,数据存储分析,K班呢,干什么?做可视化展示啊,K班呢是一个这个可视化展示工具啊,就是整个的这一套流程啊,一下就到到底了,从采集到最终的展示啊,一一下到底的是一个完整的技术站啊,也就说如果说咱们公司采用这个完整的技术站,那你采集数据呢,可能会使用lolash,它使用起来也很简单,跟flu一样,也是配置,配置相关,有有相当于有S有think啊,那是采集什么?呃数据,然后呢,数据写在什么地方也是一样的配置啊,咱们了解一下,那后边呢,还有一个date叉。
09:44
这个电面叉呢,实际上是咱们这个阿阿里的一个,呃这个呃数据的采集工具是阿里的,阿里的,然后它实际上跟scoop诶实现的功能是诶很像的,呃然后呢,State要比scoop更加灵活。
10:00
啊,灵活在什么地方?灵活在对数据源的支持上,呃,Scoop呢,我们只能实现这样的功能啊,就是将关系型数据库的数据和海杜op生态圈之间进行相互的传输,啊,也就只能是关型数据库,就是my circle Oracle这些东西啊,我可以使用school采集,但是data叉呢,它相对来说数据还要更广一些,它除了能采集咱们的关系型数据库,也能采集什么呢?非关系数据库,比如说咱们常见的非关系这个red啊,Model DB啊等等等等这个data上,它都能够进行采集。啊,所以说以后大家可以考虑这样的一个情况啊,看公司里边咱们的数据源是什么样的,如果数据源啊,我就是传统的关系数据库,那我用库没问题,如果咱们公司里边啊,这个业务系统里边用到了这些缓存,用到mango DB用到了red,那这时候咱们要想分析就得用data。啊,这个呢,它是按理的文档都是中文的,所以大家入门也是很快的啊,也是很方便的啊,这个大家也了解一下啊,那在咱们这个项目当中呢,我们肯定是采用大家学过的辅鲁卡卡雅S库啊再往下走,下面呢,是咱们数藏里边的这个数据存储相关的东西啊,那数据存储我们主要存储什么呢?首先第一个啊,咱们have的主体啊,是不是就是咱们收藏的主体就是have对吧?Have的数据存档HTS啊,这个必须得有,那其次呢,我们还会用到my circle啊,那my circle咱们的应用场景在哪呢?第一个。
11:28
啊,什么呀。Have的原数据是不是存在买里啊,那第二一个啊,我们后续是不是数仓后边会做报表啊,对不对,会做报表啊,那那个报表一般情况下我不会让他直接去对接咱们的have的,让他对接谁呢。对接买S,因为咱们报表系统对于have延迟太低了啊,这个不能满足要求,我延延延迟那个这个太高了啊,太高了,延迟太高了,那不不能满足我们的要求,所以说一般我们对于关型数据库啊,所咱们这个展示,那也就是说我们需要用my circleql去存储我们报表所需的这个结果数据啊,这是MYSQL啊,需要用到啊,那后边我们还有什么h base red modelgo DB这些东西呢,在咱们离线里边其实涉及不到啊,这都是啥,都是no搜索对吧,这个在我们的实时项目当中,诶,会用到啊,会用到啊,好,这个咱们就不多说了啊,再往下走,下边是关于数据的计算。
12:21
其实在我们离线系统当中,我们的数据计算呀,我们呃就用谁就够了呀,呃咱们就用have对吧,用have,当然have下边它肯定有不同的引擎啊,引擎默认FR一般情况下是不用的,那有那我会替换成什么呢?T子或者4SPA。啊,在咱们项目当中,我们替换成了Spark啊,然后边大家看到的有flink有STEM啊,那这些是干什么用的呀,是做实时分析的啊,实分STEM这个东西大家可能没听说过啊,这个其实是呃,我们最早的一代,这个实时分析引擎最早的一代,但是现在基本没人用了啊,那目前我们大家现在比较火的是谁啊,弗林卡啊,那Spark现在也在用啊,Spark里边呢,有一个组件叫做呃,这个Spark死追面是专门用来做实时处理的。
13:09
啊,那flink呢,它优势就是哎,实时处理处理,但是Spark能不能做离线处理呢。能啊,那flink能不能做批处理呢?离线处理能啊也能啊,都能,像他们俩这东西啊,都是既可以做实时又可以做离线啊,那在咱们的这个系统当中,我们是离线系统嘛,我们flink SPA用不到,Spark里边的实时组件咱也用不到,我们用到什么呢?我们会将have的引擎替换成Spark啊,这是咱们后续要做的工作啊,好,再往下走,现在是数据的查询,这个指的是及席查询啊,集齐查询,那非常多框架,Presal,麒麟in派德鲁伊,这都是机器查询框架啊,都都是,那我们在公司里边呢,用哪个的都有,非常非常多啊,非常非常多,那那这个,那当然机器查询呢,也不止这些啊,还有好多还有好多啊,那这里边我们不会没有办法把每一个都给大家讲了啊这个,呃,时间太长了,而且也没有必要啊,这些也没有必要,呃,咱们其实呃这些稽查群它就是什么,就是一个框架,它特点查的快,那我们用它就是干啥,还是写S对吧,还是写三,那所以说我们到时候会给大家讲这里边儿的这个几个。
14:17
比如讲price叫麒麟,咱们后续再说啊,那往下走。最后呢,就是咱们关于那个报表系统,咱们要做数据的可视化展示,对吧,那可视化展示呢,我们呃,实际上有这样的两套方案,一个是咱们公司呃,使用用加油的,让加油的同事呢,诶或者是前端的同事自己给以给我们做一个呃自己的报表系统自己开发啊,这是一种啊,那第二种方式呢,就是咱们可以用啥呀,用这种开源的报表系统啊,开源的啊,那咱们或者或者开源的,或者是那种第三方的需要付费的啊,有的需要付费,有的是开源的,比如咱们要学的这个呃,Superet,这就是一个开源的。啊,你像后边的亏个BI啊,什么date v啊,Date v这个也是呃阿里的啊,它也是需要这个付费使用的,得花钱才能用啊,但是那肯定是这个花钱的肯定要比这种开源的那个效果要炫酷一些,对吧?啊这是肯定的肯定的啊,那当然不管它这个可视化到底采用什么,那其实我们要做的就是啥呀。
15:15
咱们大数据开发叫做就是啥,你就是给他提供数据就行了,能理解吧,咱把数据算好给他放到my circleq上,他自己去拿,自己去展示啊,是这样的啊好,那这些东西我们大致了解一下啊,这是一些现有的这种开源这第三方的这种报表工具,那其实如果说我们要自己去做开发呢啊,自开发我们可以使用谁使用咱们这个,呃,百度的一个一叉的这个前端组件啊,它能够非常方便的去出各种各样的统计图啊,各种各样的统计图,这个如果大家要做个加构开发,应该不陌生啊,应该不陌生啊,这个东西咱们也是了解一下就可以了,后续咱们带大家简单看一下就行啊,啊,这是关于数据可视化,然后再往下。任务调度,呃,任务调度前面咱们不是讲过整个数仓需要一个调度框架去调度起来吗?咱们会用到谁呢?阿斯卡班或者是乌ZZ或者是airf flow啊,那后续我们在出仓里边用的是这个阿斯卡班啊阿卡班到时候再给大家讲这之间的区别啊啊咱往下看最后一个集群的监控,呃基因监控的是这个Z比克斯,这个呢,呃是呃,就是这个在监控这个呃领域里边就是比较呃知名的一个叫做Z比克斯啊,到时候咱们再给大家讲这个东西啊,其实这些东西啊,一般情况下啊,其实这个东西不应该归咱们管,就不应归咱们管,这应该都是呃运维去做这些事啊,但是咱们也得会才行啊。啊然后往下走,下面是一个这个艾LA啊,艾LA啊,这是干什么用的,是做源数据管理的,它是做那个血源依赖的啊学依赖啊好往下走,诶然后再往下呢,其实没有了,下面咱们还提到了一个质量管理,对吧?啊质量质量监控那个东西用谁呢?也有一个框架啊,叫做Griffin啊,Griffin是专门用来做质量监控的啊。
16:57
咱后续再说行,那这个技术选型这边咱们就,哎完事了就完事了啊,然后主要讲的是咱们技术选型的时候需要考虑的几个问题啊,从这几个方向去考虑,然后呢,哎,定下来了,咱们这个书藏里边我们要用到的些个框架啊,像第一个卡卡S库S和HS have SPA,麒麟super,阿斯卡湾ZS什么at特LAS这些标红的是咱们可能会用到的啊好,那我现在把视频录一下。
我来说两句