简介:在日前的2021阿里云金融数据智能峰会——《云原生驱动数智化运营的“增加黑马”》专场上,阿里云数据库资深技术专家魏闯先 从数据价值链路角度切入,为你们解读云原生数据仓库如何支撑数据化运营、全链路营销和阿里集团双11业务,并展现金融客户最佳实践案例和应用场景。本文内容根据演讲录音及PPT整理而成。
在日前的2021阿里云金融数据智能峰会——《云原生驱动数智化运营的“增加黑马”》专场上,阿里云数据库资深技术专家魏闯先 从数据价值链路角度切入,为你们解读云原生数据仓库如何支撑数据化运营、全链路营销和阿里集团双11业务,并展现金融客户最佳实践案例和应用场景。本文内容根据演讲录音及PPT整理而成。数据库
阿里云数据库资深技术专家魏闯先segmentfault
回顾阿里巴巴十五年来云原生发展的道路,大体分为三个阶段。安全
第一个阶段是2006年~2015年的应用架构互联网化阶段,是云原生从0到1的过程。最先的时候,阿里巴巴在淘宝上作中间件,那是最先的云的雏形。当时咱们研究的是Oracle数据库和IBM的小型机。但阿里巴巴发现一个问题,就是随着淘宝流量愈来愈大,Oracle的机器没法继续知足业务需求,三个月以后,咱们的数据将存不下也算不了。这是很是严重的问题,因此当时阿里巴巴启动了去IOE的计划。服务器
这个时候,阿里巴巴发现咱们的业务作得很是好,但技术上有不少挑战。所以,阿里巴巴在2009年成立了阿里云,自研飞天操做系统,开启云化时代,淘宝和天猫合并建设业务中台,届时三大中间件核心系统上线。网络
飞天操做系统基于Apsara,是一个分布式的操做系统。在基础公共模块之上有两个最核心的服务:盘古和伏羲。盘古是存储管理服务,伏羲是资源调度服务,飞天内核之上应用的存储和资源的分配都是由盘古和伏羲管理。飞天核心服务分为:计算、存储、数据库、网络。架构
为了帮助开发者便捷地构建云上应用,飞天提供了丰富的链接、编排服务,将这些核心服务方便地链接和组织起来,包括:通知、队列、资源编排、分布式事务管理等等。并发
飞天最顶层是阿里云打造的软件交易与交付第一平台----云市场。它如同云计算的“App Store”,用户可在阿里云官网一键开通“软件+云计算资源”。云市场上架在售商品几千个,支持镜像、容器、编排、API、SaaS、服务、下载等类型的软件与服务接入。框架
这就是最先的云的基础框架,也是一个云原生的架构。less
从2011年开始,咱们开始作容器调度,在集团里面开始作在线业务,在线的业务开始走容器化。到了2013年,自研飞天操做系统全面支撑集团业务。运维
2015年,阿里云的云原生技术不单是给阿里巴巴的内部业务使用,也开始对外作商业化,以上就是第一阶段。
第二阶段是2016年~2019年的核心系统全面云原生化阶段。
从2017年开始,咱们不仅作在线了,离线也所有采用了云原生的技术。双11购物节有大量的交易数据,这些数据的后台分析和后期处理都是交给离线完成。咱们基于云原生把在线和离线的底层资源池统一,支撑百万级规模电商交易。
到了2019年,阿里巴巴核心系统100%上云,这其实很是难,由于阿里巴巴的业务量很是巨大,任何普通的系统都没法支撑。
第三阶段是2020年至今,是全面升级下一代云原生技术的阶段。阿里巴巴成立云原生技术委员会,云原生升级为阿里技术新战略。阿里巴巴核心系统全面使用云原生产品支撑大促。阿里云云原生技术全面升级,Serverless时代开启。
阿里巴巴是怎样看待云计算的?云计算和传统技术的差异究竟是什么?
举个例子,在一个家家户户都须要挖井的村庄里,每家根据自家人口数量、大概须要的出水量、是否会有客人来等等因素,决定挖多宽的井。若是赶上家里客人比较多或者干旱了等情况,水可能就不够用了。除了挖井的成本外,平常维护这口井,也须要很高的成本。
上述场景映射到企业中,就是企业基于本身的IT基础,还要到运营商那里买个机房,买几台服务器来支撑本身的服务。若是后续这些机器闲置的话,企业仍然须要支付一大笔费用,成本很是高。
云解决的问题就是经过虚拟化的技术实现资源池化,用上方挖井例子来形容就是建一个自来水厂。自来水厂和井的差异在于,第一,供水量很大,即便来100个客人,供水量也能知足需求。第二,前期不须要投入大量成本去挖井,而是根据用水需求按量计费。即便接通自来水管道,若是不用,那么永远也不须要为它付费。
这为企业带来了两大好处,第一个是企业须要作快速决策的时候,不用花大量时间去“挖井”,而是开箱即用。第二是前期投入成本很低。
这就是云带来的好处,那么什么是云原生呢?
云原生是个标准服务,不少东西咱们不须要提早规划。好比我要作数字化转型,需求很简单。我须要有人给我提供这个服务,我要多少,他给我分配多少,不须要我去作提早的准备。随着我业务的增加,它底下的基础设施可以随之一块儿增加,具备很是好的弹性。这也大大地减小企业成本与精力,能够更加专一地去作最擅长的事情,大幅提高效率。
经过以上的例子,下面这几点就很是好理解了。
首先,咱们认为容器+K8s会成为云计算的新界面,这是将来的一个趋势。
其次,整个软件生命周期也会发生变化。原来软件的生命周期很长,如今经过云原生的技术能够作到迭代速度愈来愈快,向下延伸软硬一体化、向上延伸架构现代化等均可以去作。
最后,加速企业数字化升级。原来作企业数字化转型很是复杂,可能要买机器、买数据库、买应用,须要三年五载的时间来完成。而现在的企业数字化转型,只花短短数月的时间,即可实现彻底转型。
从业界趋势上看,将来数据会发生什么变化,给应用带来什么变化?
首先,咱们认为将来数据必定会规模爆炸性增加。2020年全球数据规模约为40 ZB。40 ZB是什么概念?举个例子,假设每部电影是1GB,假设全世界每一个人都去看一部电影,那么这些数据量加起来大概就是40ZB。
除此以外,咱们预计2025年的全球数据规模将会是2020年的430%,全球数据规模每一年都在增加。
第二个是数据生产/处理实时化。原先咱们可能一个月看一次报表,通过大数据,咱们能够天天看一次昨天的数据。数据愈来愈实时化,可以实现秒级响应。以营销场景为例,在双十一购物节场景,当商家发现店铺的某个活动不能产生效果,那么能够在一分钟或者数分钟以内调整广告或投放策略,从而达到更好的营销效果。若是数据是按天反馈,在11月12日看到数据的时候,作活动带来的效果已经大大下降了。所以,数据实时化在这样相似的场景中,扮演着十分重要的角色,数据的实时也会带来应用的实时。
第三是数据生产/处理智能化。目前在全部数据中,非结构化数据占比80%,主要包括文本、图形、图像、音频、视频等,尤为是在当下热门的直播领域,对非结构化数据进行智能化处理,可以知道观众的喜爱与其余信息,方便业务更好地开展。除此以外,非结构化数据以每一年增长55%的速度持续增加,将来将成为数据分析很是重要的一个来源。
第四个是数据加速上云。咱们认为数据上云势不可挡,正如汽油车终将被电车代替同样。预计到2025年的时候,数据存储云上规模为49%,2023年数据库上云规模75%。
另外一个业界趋势不容忽略:云计算加速数据库系统演进。
首先咱们看一下数据库发展历程。早在八九十年代数据库就已经诞生,那时候主要是商业数据库,如Oracle、IBM DB2等,这里面有些数据库还占据这现在的市场。
到90年代,开源数据库开始涌现,如PostgreSQL、MySQL等。国内用MySQL比较多,国外用PostgreSQL比较多。到90年代之后,数据量愈来愈大,原来数量小的时候可能用PostgreSQL或MySQL,单机就能够解决问题,随着数据量爆炸性增加,就须要像分布式或小型机的方式去解决大量数据和分析问题。
数据分析的重要性体如今哪里?
举个例子,有个数据仓库Snowflake的公司在刚上市的时候就达到1000亿美金的市值,现在也有700亿美金,对于一个只作一款产品的公司来讲,这是一个很是高的市值。为何它的市值这么高?
前段时间和一位老师交流,他说对于如今的企业,尤为是电商或直播等互联网企业,早先他们企业最大的成本是人力,员工工资占据主要支出。但现在最大的支出是信息和数据,为了公司将来的发展规划,须要拥有大量的数据来分析当前客户最想要什么,最须要什么,业界的发展是什么。所以,公司须要大量购买数据、作大量的数据分析,这方面的成本已经超过了人员成本。这也是为何一个只作数据仓库的公司,市值可以达到700亿美金。
2000年之后你们开始用Hadoop、Spark,2010年开始出现云原生、一体化分布式等产品,例如AWS、AnalyticDB等。
上方是数据仓库的演进历史,计算方式从离线到在线,再到离在线一体化,而后到分布式。功能从统计到AI,数据类型也从结构化到结构化与非结构化多模融合,负载从OLAP到HTAP,硬件也升级为软硬件一体化,交付从On-Premise 到Cloud - Native + Serverless。
在演进的不一样进程中,有着各式各样的产品作支撑。
上图为数据库系统架构演进,简单的逻辑能够理解为,原来是一个厂房一我的干活,后来变成一个厂房十我的干活,而后再发展成多个厂房多我的干活,这就是整个数据仓库的发展历史,由原来的单机变成分布式,而且一份数据多我的使用。
数据库的发展也跟人类工做同样,原来有的店夫妻二人就能够维持,一我的负责生产,另外一我的负责销售。随着发展,店里的顾客愈来愈多,店仍是一个店,但员工可能有十我的了。再后来,业务发展更多大了,一下招10万个员工,而后在10个场地去干,这就是分布式云原生数据仓库。
上方是云原生数据库的关键技术。
这里简单说两个技术,首先是云原生,云原生是什么意思呢?假如某位用户买了个数据库,当业务量少的时候,或者在法定节假日不使用的时候,收费就少,而在业务量大的时候,收费就多一些。按需按量收费,这是咱们对数据仓库的一个要求。
另一个是安全可信,举个例子,阿里巴巴有一个投资部,假如给A公司投了500万,给B公司投了100万,这些信息都是高度私密,不可对外泄露的。假如这些信息是由员工进行管理,员工存在离职的可能,而一旦离职后发生泄密行为,这在法律层面也很难追责。如何让这种高度私密的信息彻底加密,使得就算是拥有最高权限的DBA也没法查看这类信息,作到安全可信。后文将对此作详细展开。
业务面临着许多挑战,主要有四个方面。
首先是数据散乱、不一致,也有很是多的数据源,把数据收集起来是一个很大挑战。
其次是系统极其复杂,系统或组件有40+个。原来可能基于Hadoop,如今须要很是多的系统或组件,底下多是HDFS,上面是YARN、HBase,再往上还有Hive、Flink等许多东西,很是复杂。
除此以外还有分析不实时,它的数据只能作T+1,是传统大数据架构。
最后是高学习成本,不一样技术的版本迭代速度很快,学习成本很高。
阿里云当时采用的是从一个最简单的架构,经过一个或两个产品就能解决整套产品的架构,可以让用户用得更简单,用SQL就能够解决各类各样的问题。比方原来的OSS数据,各个生产处理的数据大集中分析等。
云原生数据仓库的云原生特性主要体如今,若是就一条数据,那么只会分配一条数据的存储,若是数据量增加,它会自动分配更多的存储。
一样的,计算也是这样,若是没有计算需求或者分析需求,它不会分配资源,只有来了需求,才会分配资源进行计算或分析,整个作到按需按量付费,加上资源的弹性。
上面是云原生数据仓库中的关键技术,例如行列混存,可以支持高吞吐写入和高并发查询。
其次是混合负载,就是上面既能够跑ETL,又能够作查询。
此外还有智能索引。数据库里面很重要的一个点是须要理解业务,理解Index,要知道什么对查询有影响,什么对写入有影响,因此咱们但愿这个东西可以作得更智能,让用户不用管理这些东西。
上方为新一代数据仓库解决方案架构图。最底层是数仓,上面是数仓模型,阿里在淘宝指数,数据洞察等方面作了很是多的模型,包括经过一个ID把全部的信息关联起来。这些信息汇聚成模型。模型上有数据构建管理引擎,能够作数仓规划,代码研发,数据资产管理,数据服务等。
最上面是业务赋能,有许多的应用,包括监管报送类,经营决策类,风险预警类和营销与运营类。
关于云上数据安全的问题,咱们展开来说。每一个公司都有绝密的数据,这些数据面临着许多安全问题,例如管理员/用户越权操做,窃取数据备份,恶意修改数据等。除此以外,还有数据在存储、查询、共享过程当中全程加密,任何人(包括管理员)没法获取明文数据。保证日志在不可信环境中的完整性,任何人(包括管理员)没法篡改日志文件。保证查询结果在不可信环境中的正确性,任何人(包括管理员)没法篡改查询结果。
之前的解法很简单,就是写到数据库的时候就把数据加密了,例如写进去叫123,经过加密就变成了乱序,如213,312等。这个看似是一个很好的方法,但它有什么问题呢?它没有办法作查询,比方咱们要查超过50块钱的交易,可是由于50经过加密之后就不是50了,可能就变成了500,而原来500加密完就是50,所以这个查询没法进行,至关于它变成了一个存储,没法作分析查询。
有没有一种方法能让咱们作数据分析,同时既能保密,原来的SQL也都能去作?
这里面核心的事情就是咱们采用的硬件,经过ApsaraDB RDS(PostgreSQL版)+神龙裸金属服务器(安全芯片TEE技术),能够提早把Key存到里面去,而后全部的计算和逻辑都在加密硬件中进行。因为整个过程受加密硬件保护,即便有人把系统的内存所有复制出来,复制出来的数据也全是加密过的,这就保证运维人员就算拿到绝密数据也没有泄露的风险。
下面咱们看一下几个最佳实践:
DMP(Data Management Platform)表示数据管理平台,也叫数据营销平台。
营销最核心的事情是什么?营销最核心的事情是找人,找到最关心的一群人,专业词称为圈人。
举个例子,什么场景须要圈人?好比今天咱们想找一下对云原生感兴趣的人来一块儿讨论云原生。把对云原生感兴趣的人找到,这个过程就叫圈人。
还有一种是相似于天猫淘宝报告,例如在双十一前的一段时间,商家认为某位客户今年可能要买个衣服或买一个包,是潜在客户,因而就去给TA推一些消费券等。
这里面最关键的就是精准人群的定位,可以精准地把人群区分出来。中国大概有电商消费人群大概有8亿人,给对某样物品感兴趣的人群推送消息,这里面最核心的就是圈人的事情。
阿里巴巴基于数仓去作圈人的事情,首先去找一些种子人群,这些种子人群数量大概为几百万人,是咱们认为的高优质客户,好比每月在淘宝上花5000块以上或1万块以上的人。把人群全出来后,第二步是将群体进行聚类。
聚类的意思是把几百万人再分红几个小类,每一类里面可能喜欢一个类别,比方这一类喜欢买化妆品,另外一类喜欢数码产品,还有一类喜欢买书。划分完小类之后,好比爱买化妆品的可能有10万人,但这10万人可能大部分以前已经买过化妆品了,此次大几率不买了。
所以,咱们须要在在8亿消费人群中找到真正可能买化妆品的人,该怎么作呢?
咱们须要把每一个客户的消费行为和历史购买记录转成AI模型的一个向量,若是有两位客户的购买行为是相似的,那么他们的向量距离就会很是小,这样的话咱们的作法就很简单。例如,咱们对数码产品感兴趣的人做为种子放到8亿里面去找,跟这些人种子向量距离最近的假若有1000万人,而后对这1000万人去发数码产品的广告或优惠券等,用这种方式去作业务营销。
这个过程最核心的有几个方面。
第一个是将人群进行聚类,把人群划分,知道TA的历史交易,数据必需要可以支持任意维度多维分析。
第二个是可以对整个数仓里面的数据作具体的分析。
第三个是聚类后的向量近似度检索,找出与每一个类向量相近的人群进行消息推送。
这就是咱们拥有的能力,目前是基于AnalyticDB实现。
还有一个事情是要作Ad-hoc查询。例如,咱们要找到对数码感兴趣的人群,,且去年没有买过好比iPhone 12的人,这样他今年才可能买iPhone12。或者说去年买了iPhone12,同时又买了AirPods的人,那咱们认为大几率他可能会买苹果的键盘,或者是苹果的电脑等。咱们须要对这些人作各类各样的交易查询,从而精准地找到咱们的目标人群。
业务挑战:
1)投放关键词搜索事件须要高并发实时入库;
2)全部用户经过仪表板同时查询转化率,复杂查询 QPS高;
3)响应时间要求高,避免错过调价黄金时段。
业务价值:
1)多个站点、多个店铺的关键词统一管理;
2)处理上万TPS并发写;
3)海量数据实时分析,按时段智能调价;
4)键词快速识别分析,最大化收益。
业务挑战:
1)传统MySQL数据库分析满,千万级/亿级复杂报表没法返回;
2)复杂报表秒级返回;
3)兼容MySQL生态;
4)业务发展迅速,对计算存储有不一样要求。
业务价值:
1)RDS + AnalyticDB 实现HTAP联合方案,业务和分析隔离;
2)2-10倍分析性能提高;
3)分布式架构,横向扩展,灵活变配,支持数据量和访问量的不一样需求
这就是2020年至今,全面升级下一代云原生技术的阶段----Serverless时代。阿里巴巴成立云原生技术委员会,云原生升级为阿里技术新战略,将来云原生数据仓库还会有更多新功能,为行业解决更核心的痛点,敬请期待。
相关阅读:
云原生数据仓库 AnalyticDB PostgreSQL版
本文内容由阿里云实名注册用户自发贡献,版权归原做者全部,阿里云开发者社区不拥有其著做权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。若是您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将马上删除涉嫌侵权内容。