一篇文章读懂阿里云企业级数据库最佳实践

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 今天阿里数据库不再是简单的电商业务,而是涵盖了视频娱乐、IM、地图、在线零售、新零售、物流、在线旅游、音乐、IoT等纵多领域。2017年双十一交易额达1682亿,数据库交易峰值也以数十倍的速度在增长。

今天阿里数据库不再是简单的电商业务,而是涵盖了视频娱乐、IM、地图、在线零售、新零售、物流、在线旅游、音乐、IoT等纵多领域。2017年双十一交易额达1682亿,数据库交易峰值也以数十倍的速度在增长。超大规模的业务压力,在阿里巴巴内部淬炼出了一套完整的企业数据库解决方案:超大数据分库分表技术、毫秒级别的跨地区数据传输、秒级RPO的备份技术、混合云数据库管理、支撑数万研发的数据库devops平台、基于机器学习的智能数据库优化技术。

超大数据规模下的分库分表技术实践

在阿里巴巴去IOE的浪潮中,数据库面临的第一个问题就是,运行在普通PC Server上的MySQL在单机容量、性能等方面无法直接替换原来的存储和小型机架构。另外,如果单个MySQL数据库太大,给数据库备份、DDL变更等都会带来很大的复杂度。DRDS就是在这样的背景下产生的,通过DRDS的分库分表功能,化整为零,一方面让核心数据库的压力分到多个分库中,实现了性能和容量的巨大的扩展能力;另外,单个较小库表也给维护带来很大的便利。在刚刚过去的的双十一,交易核心库承担约32.5万/秒的交易创建,如果是传统的集中式架构很难想象需要怎样的硬件支撑。

11_

毫秒级延迟的数据传输服务

在两年前,阿里巴巴上线了数据中心异地双活项目。阿里在全国很多地方都有数据中心,异地双活一个最大的挑战就是如何在毫秒的级别实现跨地区数据中心的数据同步。如果这个延迟很大,举个例子,卖家更改了一个商品描述、或者修改了价格,那么有的地区的用户可能很久才能看到,这对买家和买家体验上都是巨大的牺牲。

阿里云早在2010年就开始在数据库流技术上做了很大的投入,通过在网络传输、并发写入等方面的极致优化,保证了多数据中心毫秒级的数据复制延迟。

2015年,我们在阿里云上也以产品的形式输出阿里巴巴数据流技术:数据传输DTS(https://www.aliyun.com/product/dts )。除了复杂异地多活,DTS还可以解决很多企业内部数据流的问题,例如在线数据库上的数据变更,可能同时有数个下游需要这些数据,比如数据仓库、搜索、相关业务、实时大屏等。在云端,我们的一个典型的客户的场景,当有新的用户进行某个操作(或者是一次购买,或者是某次签到),那么下游的运营系统,可能要实时对用户行为进行一次分析,同时根据智能的分析,决定向用户推送某个实用的信息或者运营消息等。

基于数据流技术的,秒级RPO备份技术

数据传输DTS是通过日志获取的方式来获得数据变更。这项技术的另一个创新应用就是,实现秒级RPO的在线数据备份。我们先对数据库进行一次全量备份,然后使用DTS相同在线日志获取技术获取最新的数据库日志,然后对日志进行存储归档,从而实现秒级RPO的备份解决方案。

这次云栖大会,我们也重磅发布了我们“数据库备份”产品,让云上的用户也可以使用这项技术进行数据库备份。针对云环境的特殊性,我们新增了加密传输和存储模块,存储的目标也支持标准、低频、归档多种OSS存储类型,让用户可以更低成本、更安全的使用秒级RPO的数据备份解决。

支撑数十个机房,数十万实例的混合云数据库管控技术

阿里巴巴数据库管控系统发展至今已经到了第四代架构,第四代架构是基于BASE理论和微服务架构下完成,实现了管控系统的多机房容灾问题。另外,海量的数据库管理也带来更多的挑战:全网秒级监控让您轻松掌握数据库上千个指标,抓住数据库每一个细节;异地多活让你如何通过一键完成异地数据库搭建,实现异地数据库服务;一般管控系统更多聚焦在运维层面,而阿里的企业级服务还具备更多垂直的数据库能力,例如数据轨迹、数据回滚、数据库压测、业务大盘等。

支撑数万数据库用户的DevOps数据管理平台

企业规模快速发展,带来的两个大的挑战,管理的数据库数量巨大,使用数据库员工也非常多。但是,DBA团队却很难以相同的比率增长。具体的,我们发现,DBA业务压力巨大,需要处理事情繁多;同时,新入职的员工,对于数据库开发标准并不熟悉,给线上数据库的稳定性带了很大隐患。

既要有DBA的安全把控能力,又希望高效支撑大量业务的发展,阿里数据库团队研发了自己的企业数据库管理平台:iDB。企业内部的研发、测试等人员,可以使用iDB完成大部分数据库相关的操作,包括数据查询、数据变更、结构变更、实例申请等等。另外,iDB产品中还继承了大量DBA的经验,比如判断哪些DDL会锁表、InnoDB表结构设计是需要主要哪些问题等等。

iDB上可以闭环完成所有的数据库服务,包括实例申请、库表设计、变更发布、数据查询、数据变更、逻辑表查询、数据库下线等全生命周期的数据库实例管理。同时,通过平台集成的数据库能力,让研发有了更强数据库能力,也保障了线上业务的稳定。
_

基于机器学习的智能数据库性能优化技术

随着阿里巴巴快速扩张,传统的DBA支持的性能优化模式的弊端很快就体现出来:被动优化(监控/报警/慢SQL/应用报错等);优化过程耗时耗力且低效,较难形成闭环;优化结果受限于人的局限性;优化操作大规模复杂场景下缺乏扩展性;优化决策过程中数据价值缺失;DBA专家紧缺与数据库服务要求高效及时之间的矛盾越来越突出。

智能数据库性能优化技术在性能优化上分五大部分:收集、分析、预测、优化、验证。可以完整的、自助的完成优化并评估优化的效果。给企业带来多方面的价值。信息透明:向开发人员提供全面专业的数据库 信息分析和展示。自助化服务:全面专业的诊断优化建议,诊断流 程闭环,提供自助优化服务。自诊断、自优化:基于海量数据和机器学习的自诊断、自优化能力。降低成本:发现规模化优化点,优化资源管理,降低计算和存储成本。专家经验产品化:DBA专家优化经验转服务产品化,降低人工成本,提高服务质量和效率。主动优化:持续主动优化数据库性能,提高数据库稳定性。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
16天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
34 2
|
28天前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
28天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
29天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
29天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
29天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
1月前
|
NoSQL 数据管理 关系型数据库
利用阿里云的尖端数据库解决方案增强游戏数据管理
利用阿里云的尖端数据库解决方案增强游戏数据管理
|
9天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
7天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
20 1
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
82 1