当前位置: 首页 > 科技观察

一文看懂阿里巴巴企业级数据库实践

时间:2023-03-13 20:03:13 科技观察

》昨天下午的TechInsight北京云栖大会上,阿里巴巴数据库团队8位专家分享了阿里巴巴数据库的最佳实践。超大规模业务的压力,在阿里巴巴内部细化了一整套企业数据库解决方案:超大数据规模分库分表技术、毫秒级跨地域数据传输、秒级RPO备份技术、混合云数据库管理、数据库支持数万研发devops平台,基于机器学习的智能数据库优化技术。”钉钉、优酷、高德、盒马、菜鸟、飞猪、虾米、阿里智能,现在阿里巴巴的业务已经不是几年前的淘宝天猫了,对于阿里巴巴数据库技术团队来说,不再是单纯的电商场景。如今,阿里的数据库不再是单纯的电商业务,而是涵盖了视频娱乐、IM、地图、在线零售、新零售、物流、在线旅游、音乐、IoT等众多领域。同时,双十一交易从2012年的191亿增加到2017年的1682亿,数据库上交易的峰值也在以几十倍的速度增长。此外,阿里巴巴的全球化战略对基础数据库服务带来了新的挑战。丰富的业务场景,极端的业务压力,全球化的挑战,让阿里巴巴数据库技术团队提炼出一套适合企业的数据库实践,大规模数据规模下的分库分表技术实践在阿里巴巴去IOE的浪潮中,数据库面临的第一个问题就是运行在普通PCServer上的MySQL在单机容量和性能上无法直接替代原来的。存储和小型机架构。另外,如果单个MySQL数据库太大,会给数据库备份和DDL变更带来很大的复杂度。DRDS(内部版本为TDDL)就是在这样的背景下产生的。通过DRDS的分库分表功能,分块。一方面,核心数据库的压力被分成多个子数据库来实现性能和容量。巨大的扩展能力;此外,一个单独的小书桌也为维护带来了极大的便利。刚刚过去的双十一,交易核心库负责每秒创建约32.5万笔交易。如果是传统的中心化架构,很难想象需要什么样的硬件支持。毫秒级时延的数据传输服务两年前,阿里巴巴启动了异地双活数据中心项目。阿里在全国很多地方都有数据中心。异地双活最大的挑战之一是如何实现跨地域数据中心之间的毫秒级数据同步。如果延迟较大,比如卖家更改了商品描述或者修改了价格,部分地区的用户可能需要很长时间才能看到,这对买家和买家体验来说是一个巨大的牺牲。早在2010年,我们就开始大力投资数据库流技术。通过对网络传输和并发写入的最新优化,保证多数据中心毫秒级的数据复制时延。2015年,我们还在阿里云上以产品的形式输出了阿里巴巴的数据流技术:数据传输DTS。除了复杂的多站点活动,DTS还可以解决很多企业内部的数据流问题,比如在线数据库上的数据变更,可能同时被多个下游需求,比如数据仓库,搜索,相关业务,实时大屏等。在云端,我们一个典型的客户场景,当新用户进行操作(或者购买,或者签到),那么下游操作系统可能需要对用户进行分析实时行为,同时基于智能分析,决定向用户推送某些实用信息或运营消息。基于数据流技术,秒级RPO备份技术数据传输DTS通过日志采集获取数据变化。该技术的另一个创新应用是实现秒级RPO的在线数据备份。这种备份思路已经通过“数据库备份DBS”产品在阿里云上为企业用户赋能。我们首先对数据库进行全量备份,然后使用与DTS相同的在线日志采集技术获取最新的数据库日志,然后对日志进行存储归档,实现秒级RPO备份方案。目前,云端用户已经可以使用DBS进行数据库备份。针对云环境的特殊性,我们增加了加密传输和存储模块。存储目标还支持标准、低频、归档等多种OSS存储类型,让用户可以更低成本、更安全地使用秒级RPO数据备份。解决。支持数十机房、数十万实例的混合云数据库管控技术。阿里巴巴数据库管控系统发展到第四代架构。多机房容灾问题。此外,海量的数据库管理也带来了更多的挑战:全网秒级监控,让您轻松掌握数以千计的数据库指标,掌握数据库的每一个细节;多站点远程让您一键完成远程数据库的搭建,实现远程数据库服务;通用管控系统更侧重于运维层面,阿里的企业级服务也有更多垂直的数据库能力,比如数据追踪、数据回滚、数据库压力测试、业务市场等。支持数万数据库用户的DevOps数据管理平台带来了两大挑战。管理的数据库数量庞大,使用数据库的员工数量也非常庞大。然而,DBA团队很难以同样的速度增长。具体来说,我们发现DBA业务压力巨大,要处理的事情很多;同时,新员工不熟悉数据库开发标准,给在线数据库的稳定性带来了极大的隐患。为了具备DBA的安全管控能力,高效支撑大量业务的发展,阿里巴巴数据库团队开发了自己的企业级数据库管理平台:iDB。企业内部的研发和测试人员可以使用iDB完成大部分与数据库相关的操作,包括数据查询、数据变更、结构变更、实例应用等。另外,iDB产品也继承了很多DBA的经验,比如判断哪个DDL会锁表,InnoDB表结构设计的主要问题是什么等等。所有的数据库服务都可以在iDB上闭环完成,包括实例申请、数据库表设计、变更发布、数据查询、数据变更、逻辑表查询、数据库下线等全生命周期的数据库实例管理。同时,通过平台集成的数据库能力,R&D拥有更强的数据库能力,也保证了线上业务的稳定性。我们通过数据管理DMS企业版将iDB的设计理念输出到云端,根据企业流程定制数据库DevOps生命周期。我们期待DMS企业版大放异彩。基于机器学习的智能数据库性能优化技术随着阿里巴巴的快速扩张,传统的DBA支持的性能优化模式的劣势迅速显现出来:被动优化(监控/告警/慢SQL/应用报错等);耗时低效,难以形成闭环;优化结果受人为限制;优化操作在大规模复杂场景下缺乏可扩展性;优化决策过程中数据价值缺失;DBA专家供不应求,数据库服务要求高效及时,两者之间的矛盾越来越突出。智能数据库性能优化技术在性能优化上分为五个部分:收集、分析、预测、优化、验证。您可以完全完成优化,自助服务和评估优化效果。为企业带来多重价值。信息透明:为开发者提供全面、专业的数据库信息分析和展示。自助服务:全面专业的诊断优化建议,闭环诊断流程,自助优化。自诊断和自优化:基于海量数据和机器学习的自诊断和自优化能力。降低成本:发现规模优化点,优化资源管理,降低计算和存储成本。专家体验产品化:DBA专家优化体验,转化为服务产品化,降低人力成本,提升服务质量和效率。主动优化:持续主动优化数据库性能,提高数据库稳定性。