历经6年双十一,无任何生产故障,数据管理DMS服务平台诠释DevOps在企业级数据库的最佳实践

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 摘要:阿里巴巴解决方案架构师胡中泉(舟济)在2018云栖大会上海峰会企业研发云专场中做了题为《历经6年双十一,无任何生产故障,数据管理DMS服务平台诠释DevOps在企业级数据库的最佳实践》 的分享,首先就云上数据库DevOps实施痛点做了详细的概述,其次阐述了产品化解决方案的方法,最后对落地最佳实践的内容作了深入的分析。

摘要:阿里巴巴解决方案架构师胡中泉(舟济)在2018云栖大会上海峰会企业研发云专场中做了题为《历经6年双十一,无任何生产故障,数据管理DMS服务平台诠释DevOps在企业级数据库的最佳实践》 的分享,首先就云上数据库DevOps实施痛点做了详细的概述,其次阐述了产品化解决方案的方法,最后对落地最佳实践的内容作了深入的分析。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
精彩视频回顾请点击
ppt下载请点击
以下为精彩视频内容整理:

云上数据库DevOps实施痛点

首先介绍研发高频迭代,可能对于一些还没进行云化或云化处于初级阶段的企业,会非常不理解为什么企业上了云之后研发迭代效率就变高了,原因是云上IT的基础设施部署和实施成本大幅度降低导致的,降低之后会导致研发人员不受底层的成本和容量的限制,从而会把更多的精力投入到代码的逻辑实现以及代码业务架构的优化这一层面。
从数据的角度说业务会彻底实践我们的微服务化,也就是业务维度细分的越来越多,但每个细分的业务维度都会有自己的数据库,当数据库业务进行并发迭代时,给数据库的off层带来的压力是巨大的,67%受访企业表示上云后应用版本迭代周期大幅度缩短;其次是数据资源共享,介绍数据资源共享时引入一个数据资产的概念,我们都知道企业的每一笔资产都需要有一个保证资产不被乱用的责任人,落在数据库上也是一样的,我们的每一个数据库甚至每一个记录,都需要有一个责任人,研发高频迭代会导致数据业务维度大幅度增加,之后会导致数据耦合度增加,耦合度增加后责任边界会越来越模糊,于是企业会走向两个极端,93%的云上数据库运行在多租户环境中;最后是容量的弹性伸缩,云上IT资源的低成本很大程度上受益于云上资源,可通过容量弹性收缩来实现,在阿里2017年的双11,我们国内的交易单元在尖峰时就用了云资源进行尖锋和扩容,在尖峰之后将扩容资源归还云端,但是在实际操作过程中,究竟我们要怎么做才能在我们需要的时候资源能上到云端,不需要时能顺利地下去。
痛点过去之后我们要归纳痛点并提炼需求,高频研发迭代从本质上是要解决量的问题,要解决量的问题的思路是规模化部署、规模化语言及规模化操作,然而规模化的前提是标准化,但是标准化不能解决DevOps敏捷的特点,解决共享的思路是对数据进行隔离,对数据的隔离也是有许多方法的;解决容器的弹性伸缩的本质是资源规格的大小乘以资源占用的时间,怎样能使云上资源占用时间最短,要保证有一个快速部署业务需求的前提下,使IT资产部署成本最小化,云上资源核算方式是资源规格大小的能力。分层管控分为DMS数据管理层和HDM混合云数据库管理层,DMS数据管理层可以轻松构建企业独有的数据库DevOps,促进了数据库研发自助化并提升了研发效率;HDM混合云数据库管理层提供了多环境统一管理、快速弹性、容灾切换的能力。

DevOps产品化解决方案

0bddedd6ec52e78b3d8e5759d8c86dc

上图为数据库DevOps解决方案功能矩阵的示意图。从上向下看,数据操作入口从技术角度讲是实施管控的先决条件,从业务方面收敛了研发人员访问数据库的权限,当权限收敛完成之后会在底层数据库回收个人非法的帐号,底层数据帐号权限的回收永远是数据安全保障的必要条件,中间的三个大框里的安全保障、效率提升及性能分析是DMS进行所有的功能都需要遵循的三大原则,在最下面可以看到HDM,HDM具有弹性迁移的功能。
在过去的九年中在DevOps领域中也积累了相当丰富的经验,我们已经将一部分经验沉淀到集成产品化,阿里也希望通过专家咨询赋能的方式协助大家解决一些问题。

DevOps落地的最佳实践

在保证数据和数据库安全的前提下尽可能提升研发效率,是数据库层DevOps的最佳实践方式,对于DMS、HDM两种产品而言,它们的职责是给出安全和效率尽可能功能多的选项,解决架构工程师的职责是把产品给出的每个选项根据企业的需求赋一个最优值,从而达到企业中安全和效率的平衡点。

428b9374d958bb0028a6da4438f8abc

上图是用户通过DMS进行数据操作的基础流程图,数据操作包括查询、订正和导出。从图中可以看出一个用户通过SQL进入DMS基础权限隔离体系,第一层要进行网络访问隔离、第二层是库表权限隔离、第三层是字段敏感隔离、第四层操作权限隔离。DMS同时还涉及增强权限隔离及安全访问体系,DMS会根据设定每日查询记录限制和单笔查询记录限制,当这两种检查通过时,为了保证数据库的安全,DMS会根据预定的规则检查查询时间。

5b1d8b5c790877886c340719e07878e

上图为DMS后置性能分析架构图。计算层通过全量SQL分析,可以对数据库的性能和存储容量做一个相对精准的趋势预测,计算平台发现问题主要通过专家经验进行诊断优化实现产品化,以及通过机器的学习进行快速的模型训练自动发现并处理线上问题。

742bdfd235456054fdf23e2d0b34783

上图是HCM数据库尖峰扩容解决方案示意图。中间的类似于云的标志是DTS,它是一种与数据类型基本无关的并行高速复制符,它将本地的ID数据进行评估后传到云上,并通过双向复制保障保持云上云下数据多活,HDM的自建对云上和云下的资源进行统一的管理,这就是基于HDM弹性容量的整体架构。

解决方案的回顾和最佳的实践方式

DMS帮助我们控制员工的数据访问安全;DMS还将数据库的研发流程进行产品化,帮助您打造快速上线的能力;DMS后置性的整合模块帮助数据库持续整合优化;HDM实现了弹性扩容。数据管理DMS企业是基于阿里集团内自研数据库服务平台IDB近十年的积累上云,IDB服务于集团内每周数万人员的数据库管理诉求,沉淀了阿里DBA核心的数据库规范管理经验,旨在提供研发安全、高效的全自助数据库服务平台。
目前,DMS集团版本-IDB已经累计管理阿里巴巴集团、蚂蚁金服、菜鸟网络、盒马鲜生等各个事业群,超过30000数据库实例的日常变更操作,历经6年双十一,无任何生产故障。同时DMS国际版也在不断积累如AliExpress、LAZADA为代表的海外用户。DMS分为个人版、企业版、个移动版、企业移动版。受到云上众多行业用户的认可,涉及政务、税务、公安、航空、金融证券、医疗、电商、游戏、娱乐等服务开发者累计超过10000名,并有丰富的社区资源用户量仍保持高速增长趋势。

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
4月前
|
SQL druid Java
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
线程池相关故障问题之Druid数据库连接池中,为何需要设置TransactionTimeout
130 0
|
25天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
28天前
|
安全 Devops 网络安全
【DevOps】Docker 最佳实践指南(绝对干货)
Docker 是一种领先的容器化平台,可简化应用开发、部署和管理。本文档介绍 Docker 的最佳实践,涵盖安全性、网络、镜像、主机安全及资源限制等方面,帮助用户高效利用 Docker,确保应用的安全性和性能。
121 0
|
2月前
|
存储 数据挖掘 数据库
服务器数据恢复—raid磁盘故障导致数据库数据损坏的数据恢复案例
存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别,但是拷贝文件报错。管理员重启服务器,导致离线的硬盘上线开始同步数据,同步还没有完成就直接强制关机了,之后就没有动过服务器。
|
2月前
|
运维 监控 Devops
拥抱 DevOps 文化:实现持续交付与部署的最佳实践
在软件开发领域,DevOps 强调开发与运维团队的协作,通过自动化、持续集成与部署等实践缩短系统开发生命周期,提升软件质量。其核心原则包括自动化、协作、度量与共享责任。实施 DevOps 需要建立跨功能团队、采用版本控制、持续集成与部署、自动化测试及监控反馈。常用工具有 Jenkins、GitLab CI/CD、Ansible、Prometheus 和 ELK Stack 等。DevOps 通过文化与技术变革,加速软件交付并提高客户满意度。
|
3月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
82 1
|
3月前
|
存储 Oracle 安全
服务器数据恢复—Raid故障导致数据库数据丢失的数据恢复案例
一台光纤存储中有一组由16块硬盘组成的raid。 该存储出现故障导致数据丢失。RAID中2块盘掉线,还有1块盘smart状态为“警告”。
|
3月前
|
监控 数据可视化 前端开发
基于python django生产数据与计划大屏,可链接数据库
本文介绍了一个基于Python Django框架开发的生产数据与计划大屏系统,该系统能够实时采集和展示生产数据,支持数据可视化和实时更新,以提高生产监控的效率和质量。
|
3月前
|
数据库
【计算机三级数据库技术】第11章 数据库的故障管理--附思维导图
文章概述了数据库故障类型及其解决办法、数据库恢复技术、数据转储、日志文件的使用与格式、硬件容错方案(包括RAID技术和服务器容错技术)、以及数据库镜像与容灭策略。
47 2
|
4月前
|
Oracle 关系型数据库 数据库
关系型数据库Oracle 故障转移能力
【7月更文挑战第10天】
60 2