开发者学堂课程【关系型数据库 ACP 认证课程:【视频】云关系型数据库架构方案】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/927/detail/14628
【视频】云关系型数据库架构方案
内容介绍
一、 阿里云数据库解决方案及案例
二、 回顾与总结
三、 课后习题
课程目标:了解云数据库在新零售、游戏、传统政企、运营商、金融行业、传统制造、交通行业、电力行业的应用及各个行业的特性。云数据库关于关系型数据库这一部分的一些重点的能力,以及能力的一些场景。
一、 阿里云数据库解决方案及案例
主要包含六个行业:
新零售、传统制造、游戏、交通行业、运营商、电力行业
主要将这些行业中,关于对数据库解决方案的痛点、场景做一些介绍。同时在这些痛点和场景下,应该提供怎样的数据库解决方案来应对,这些解决方案给这几大行业的客户带来的哪些收益和好处。
1.新零售行业数据库需求与挑战
在过去很长的一段时间里,阿里云主要服务的行业就是新零售行业。新零售行业包含的范围其实非常广,包含电商其实是新零售的一大领域,同时包含比如像大润发这样的零售商,以包含像安踏、特步这样的品牌商,所以对于这个行业来说,有六个关键点:运维、ISV、海量数据、弹性、稳定和安全。
第一部分运维便捷,要对新零售行业的客户提供快速诊断数据库实例异常、自动诊断优化SQL/SQL限流、便捷的数据备份恢复、大促智能压测。
第二部分要去应对新零售的ISV,这里所谓的ISV就是软件开发所谓的服务商,因为新零售的很多企业实际上是偏传统的企业,在IT研发的资源投入相对没有那么多,很多的零售企业的IT系统用的是第三方的,这里提到的ISV就是第三方的企业IT的服务商。对于新零售的企业来说,更依赖ISV提供的服务,比如CRM、ERP等SAAS软件服务。
第三部分零售的企业分为生产和销售两大端,生产和销售尤其是对于快销类和服饰类特别明显,因为销端的数据非常明显。例如:安踏是阿里云的客户,他的渠道和门店是非常多的,业务也非常广泛,订单和库存流水包括会员支付物流客服是非常多的,同时为了跟踪他的业务其实在业务系统里面会有埋点的日志。
第四部分新零售领域存在非常突出的弹性特点,比如618、双11、双12这些大促活动等需要充足资源,但在日常的情况下需要降到正常的水平。日常场景下资源降配到正常水平,比如在双十一当天可能是平时的十倍百倍,对后端、数据库的资源需求量是非常大的,也需要数据库支持平滑扩缩容。
第五部分所有的IT系统都希望服务足够稳定。
第六部分业务系统非常重要,数据就是命脉,数据库的安全包括全链路数据库安全访问控制和审计,敏感数据脱敏都是非常关注的。
(1)安全可靠∶数据安全解决方案
给新零售行业的客户提供了这样一个解决方案,要保证业务需求上相权限的拦截、高危操作拦截、敏感数据的脱敏和识别,还有数据库操作审计、数据库加密存储、还有异地备份。那整体上来说需要通过DMS,前面洪斌老师介绍了DMS能够做什么事情, DMS可以数据库做访问控制,通过安全高效拦截的高危操作,并且识别敏感数据做脱敏。同时也支持这个审计,审计如果所服务的公司或者之前了解过,其实对于一些上市公司或者对数据要求严格的公司是非常重要的。也支持这个数据库内核比说RDS,对于这个TTE加密也就是说存储加密是支持的,而且对于 SSL的传输加密也支持的很好。通过DBS可以对数据做异地备份,从访问控制、数据传输、存储、审计合规多个维度能够保证企业零售企业的数据安全。
上图是阿里云整个的数据库的安全体系。从不同的维度,账号安全、链路安全、存储安全、容灾容错、运维合规、数据安全不同角度,去给零售企业提供了安全解决方案。
(2)服务稳定:RDS服务高可用解决方案
服务的稳定性,包括数据库的容灾能力要求是非常高的。那我们的业务,比如说零售企业用户,或者是一些客户提供服务服务的稳定性,包括服务的可用性要求非常高的,希望支持机房级的容灾宕机的时候,能够快速恢复。
RDS其实是支持主备实地的跨可用区,那这个可能就是说 AZ是支持这个跨区的部署的同时,在发生高可用切换的时候可以在很快很短的时间内,切换到这个备库上。同时也支持这个数据库的备份,刚才了解到其实DBS就是用来支持数据库备份的。
而RDS本身也自带了备份能力,支持全量和增量的数据库备份。机房级中在能够保障数据库的可用性和数据的安全性,同时通过这种实时的日志备份保证在异常情况,举个极端的例子:这个服务器宕机了,那备份其实是通过全量和增量的备份,能够保证数据可以恢复到宕机前的一个时间点,尽量减少企业的这个数据的损失。
(3)海量数据&快速弹性:大促营销解决方案
对于零售企业其实对弹性和海量数据是有非常大的要求的。在大促的时候其实需要提供非常好的这个弹性方案,对于这种零售企业举个例子:特步是民族的服饰的企业,是一个典型的零售的品牌商家零售商,又有品牌的属性,又有自己的门店,有不同的渠道。但特点就是门店多订单多,然后库存的流水多,需要支持高并发协助,而且要支持海量的数据。
在大促的时候这个订单可能翻几十倍,数据库要能够快速弹。同时零售类的企业有一类企业,有典型的特点就是它的交易类过程类数据非常多,门店包括店长、区域的负责人、老板,是希望看到销售、财务、包括日常支付单子的一些报表。报表其实是需要有数据库来支撑报表的快速分析,对于特步的这个场景下,其实数据量可能已经到十亿级了,有一些十亿级的数据报告跟其他的数据做这种数据的关联,访问时候其实对性能要求比较高。这个方案是通过polar-X。前面学过polar-X是可以这样水平拆分的,支持客户的这种高并发读,写同时可以线性扩容。
RDS也支持热点更新,保证了秒杀场景的性能要求,通过DTS把polar-X的这个数据同步到我们的 ADB MYSQL。可以做实时分析和这个场景可以提升这个整个业务系统的吞吐能力,通过polar-X和 RDS的快速弹性升降配,满足大促场景的诉求。
同时也降低了 IT成本,只需要在大促前一天或者前一段时间,把实力的规格升上去,然后用完后再降下来。同时我们的ADB对于事实分析的这种十亿级,甚至百亿级甚至更大的数据可以做秒级的分析,保证我们的业务和业务决策能够平滑对接。
(4)ISV支持: SaaS多租户解决方案
ISV支持这部分,在阿里云云上有一类,专门给零售类的服务提供企业服务,比如毅昌科技给客户提供这种类似于ERP和CM这样的服务的时候,可能会为了降低自己的这个 it预算,保证单课的成本比较低,会走这种多租户的模式,这种多租户的模式其实是可以降低 IT成本。但是会出现资源会发生抢占,业务高峰的时候可能会有一些压力。同时希望业务能够支持这个批量的dl,支持快速的在线升降配这样的能力。通过polarDB MYSQL来支持这个百万到千万级表的数据存储,同时polarDB MYSQL也支持这个热备节点能够快速切换。
最近还上了列存索引,能够保证一些复杂查询能够快速查询,可以支持多租户多写的能力,未来ISV的支撑会很好。这个方案里面最大的优势就是:第一是弹性,第二是写能力比较好,第三也支持快速的SQL迁移,最后就是可以支持列存索引,来保证复杂的数据能够快速的查询。
(5)运维便捷:数据库自动化运维解决方案
关于运维的便捷性,通过刚才洪斌老师介绍的DAS来保证客户的不同的数据库实例,能够自动的发现一些异常,对异常的数据库做报警还有异常SQL识别,还有限流保证数据库的稳定性,同时也支持完整的审计,包括我们可以做压测。智能压测其实在最近两年,在云上的企业客户里面,其实已经应用很广泛了。客户要坐搬栈、要做上云、要做数据库的内核的升级,都可以用这个智能压测来做。这个是零售这一部分的一些方案和行业特点。
2.游戏行业数据库痛点及挑战
游戏现在已经是一个全民行业了,但游戏的特点跟新零售的特点会稍微不同。运维便捷其实是整个这个行业里都会诉求的。
第一是游戏在做发版升级的时候能够快速读取全量数据,降低停服时间。开服、和服能够快速的备份恢复,还可以做这个归档还有回档。
第二就是游戏有一个典型的特点,要去做一些投放这个广告和一些运营分析,叫做玩家的群体分析,同时有千人千面的这个推荐诉求。第三游戏行业的日志量是非常大的,玩家的行为日志等数据体量很大,同时支付交易会员登录聊天也是数据量非常大。
第四对于游戏体验,玩过游戏的同学有可能会比较了解,游戏一旦卡了用户就会非常不满。同时游戏的响应速度要求快而且支持高并发,比较火的例如王者荣耀,并发的量是百万级的。
第五同时游戏对长时间的稳定要求也比较高,希望长时间在线不掉线,异常宕机的情况下也能够快速恢复。
第六游戏有这种开服、运营活动需要充足的资源,日常情况下系望资源能够降费的。
(1) 游戏场景-单服
在游戏场景里面首先来看单服的场景。单服实际上要求架构简单部署,能稳定,同时保证这个游戏娱乐性。在选型情况下一般的游戏客户会选择polarDB或RDS加上Tair或者 redis来支持业务。当然游戏有一个特点是游戏的数据结构其实是比较灵活的,MongoDB也是很多游戏公司的选择,来支持 Schrema free这中场景的要求。
(2)游戏场景-分区分服
第二个场景是分区分服,业务要求:跟单区场景有点不同,它对于这个系统的容量是希望可以线性增加的。业务价值:有滚服、和服的诉求,滚服指从测服合并进正式服,和服指两个服务用户较少,则合并为一个服务器。选型能够支持快速回档,业务价值能够给我们增加更多的用户。这个场景下给游戏客户,推荐Redis集群版加上PolarDB、Tair、 DMS、DBS和DAS来提供数据的快速回档和数据管理能力。
(3)游戏运营-玩家行为分析
第三个场景是游戏运营和玩家分析。游戏典型的特点是游戏玩家,不管是在游戏平台上还是游戏里面,其实每一个玩家的行为日志是非常丰富的比如:王者荣耀的皮肤购买、局内的对战、对战结果的输赢,用户的日志量非常大。我们服务的对象是游戏的广告和数据平台部门,对于游戏公司来说流量会越来越贵,能够保证更精准的调整这个运营策略,其次,用户会逐渐成熟,对游戏的品质要求越来越高,而且整个游戏行业的竞争非常的激烈,好玩而且要懂得这个市场。在给游戏公司提供能力的时候,是考虑到数据分析的价值,比如包括战斗数据成长数据,第二是行为分析,比如有付费的检出、社交个性化道具这些具体的业务价值,能够保证这个游戏的角色平衡提高和可玩性再挖掘。在这个场景下给游戏公司提供的建议选型,前端选型MYSQL和 PolarDB。其实在最近几年的推广来看,像比较著名的公司如米哈游,用阿里云的PolarDB的更多一点是考虑到弹性能力,PolarDB弹性能力在游戏的这个场景下会充分利用。后端的游戏的日志分析选用的是Analytic、DLA、Clickhouse。任务调度可以用DMS、Dataworks来支持。
(4) PolarDB-快速备份恢复
秒级备份:每次备份不超过30秒
高频备份(快照):每2小时做个备份(24h内)
分钟级恢复:从全量备份恢复,不超过10分钟
库表恢复(5.6已支持,5.7/8.0 2个月后):可选择1-N张表,恢复到本实例(重命名)
PolarDB的快速备份恢复能力。在游戏场景下,回档的诉求是一个典型场景。PolarDB支持秒级备份,因为它是一个共享的分布式存储,可以做快照备份,可以对备份做高频快照,比如说每两分钟做一次,通过这种方式可以做到分钟级恢复游戏的全量数据。
同时也可以支持库表恢复,如多张表或某一张表发生问题,要回档,可以选择一张或者多张表恢复。整个恢复速度非常快,比较传统的这个方案如MYSQL或者其他的关系数据库去恢复时,其速度是比较慢的,可能要十几分钟、几十分钟甚至小时级别。这对于游戏玩家来说是不能忍受的。实际上快速恢复可以给游戏公司提供非常好的回档能力。
(5)游戏数据库的容灾多活-PolarDB GDN
PolarDB支持全球数据库网络,它的核心能力是,可以在比如说北京写入一个PolarDB主集群,后台通过内网把数据同步到新加坡的一个集群或美西的集群。多个集群之间可以保持这个数据同步,主集群和从集群可以进行数据同步。每个集群都可以支持写,从集群会把写请求发送给主集群,这个场景对于全球性的游戏来说支持的非常好的。
(6)游戏数据库的容灾多活
游戏数据库容灾多活,基于PolarDB是可以做容灾多活的,在下图场景下可以达到2s以内的延迟,同时支持快速切换和快速回切。
(6)全球多活让缓存距离应用更近
上图的场景是阿里云自研的缓存能力Tair,支持全球多活,支持北京、新加坡、上海多个region与region之间进行不同的数据部署。这个场景游戏的服务商有独立部署的诉求,而且希望就近读写,缓存延迟非常低,很多场景都是一毫秒以内,个别情况可能稍微延迟一下。通过这个Tair的这个全球多货能力可以保证,全球可以就近读写,同时能数据互相复制,这样就除了冗余之外还可以降低业务设计的复杂度。
同时Tair也支持秒级数据的恢复,这个场景下缓存的数据希望精确地回滚或者恢复到某个时间点,而且支持全量和增量的恢复。这种场景能够保证我们这个游戏回档简单而且这个版本发布异常的时候不需要去做数据的备份,其次误删除和恶意删除可以快速的恢复。














