开发者学习笔记【阿里云云数据库助理工程师(ACA)认证:企业级数据库管理的技术演进与实践(DMS)(一)】
课程地址:https://edu.aliyun.com/course/3112080/lesson/19073
企业级数据库管理的技术演进与实践(DMS)(一)
内容介绍:
一、数据管理服务 DMS 的简介
二、数据管理服务 DMS 的功能原理
三、数据管理服务 DMS 的应用场景
四、数据管理服务 DMS 的案例分析
课程目标:
学习完本课程后,你将能够:
1.了解规模化数据管理的挑战
2.了解数据管理服务
3.掌握数据管理服务功能特性和基本技能原理
4.熟悉数据管理服务的应用场景
数据安全面临的挑战:
当前规模化数据管理过程中遇到的典型问题,首先数据不仅是一个企业的核心资产,同时也是一个企业的命脉。
每年都会出现很多因为数据问题导致的服务不可用,例如恶意删库事件,顺丰快递,误删数据等。
在网络上经常会有敏感数据泄露的事情发生,会产生十分恶劣的影响,包含上市企业的巨额罚款和损失。
通过数据分析,有50%的事件发生在管理不善,比如人流权限过大、粒子权限没有及时回收、敏感数据没有分类识别的管控。
研发效率与投入成本:
随着业务的不断发展,数据量的不断增多,研发人员和研发需求也会成倍地增长。不同人员之间的高效协同去推进项目的迭代发布上线,保证企业设计规范,得到有效的传承和保障,不因为一些违规的操作而产生一些生产故障。如何去高效管理多套的环境结构的一致性等问题,都会面临一些挑战。除了不断地去增加高昂的运维人面,人员的成本之外,如何通过别的方案去降低问题的产生,并且还能有效地减少成本,将从本节课中找到答案。同时在日常管理中产品会有一些数据库的变更及查询的操作,那么这些操作是否安全合规。
随着数据量的不断增加,这类操作怎样去平稳的实施,每一个运维关心的性能安全问题。观看了一部分的事件安全以及研发效能,包括一些稳定性的问题,怎样得到解决方案要从课程中得到答案。
一、数据管理服务 DMS 的简介
1.数据管理服务 DMS 的产品介绍
DMS 是阿里巴巴数据库十多年服务平台的云华版本,支撑10万+企业的数据管理。它是一个外部化的即开即用的免安装产品
数据管理DMS是集数据管理、结构管理、用户授权、安全审计、数据追踪、数据分析、数据开发、报表可视化、数据服务、研发流程与规范等功能于一体的数据管理服务。您可以使用数据管理服务实现易用的数据库管理入口,让数据更安全、管理更高效、数据价值更清晰。
2.数据管理服务 DMS 的产品架构
DMS 目前已支持超过25种数据库类型可以管理云数据库也可以管理一些本地 IDC 及有商云等其他环境上之间的数据库。在这之上是产品的各个功能模块成本。
DMS 在集团类中,所有需要使用数据库的用户都可以在 DMS 找到他们所需的服务。包含研发测试、产品运营、数据分析师等,都可以在 DMS 中找到相应的功能支持。
DMS 是一套代码来做统一服务阿里内部的各个事业部均是用的这一套服务,语音上我们也可以有公有云、专有云、金融云、政务云等不同形态。在使用上,除了即开即用的管理版本之外,还提供了免阿里云账号登陆的客户端的版本。可以轻量级的下载、安装、打开。
从而来管理本地 IDC 数据库的环境。这些不需要通过一些高昂的网络设备的方式。在云上去使用还可以在本地用。同时也提供了九种数据库类型、单位的数据库实验室,每个云账号都可以登录,按需去申请开通属于自己的实验室资源。只要活跃使用,理论上是可以长期一直持有。除了在外不断使用,也可以获取到账号的密码和信息。
在程序里面使用,比如说一些小服务、小应用、一些测试等,都可以当作一次好的体验。另外的移动端,例如钉钉的消息通知也可以在有审批的时候,在钉钉端直接完成审批,从而让后面的研发同学进行相关的变更。这是 DMS 整体的产品架构。
3.数据管理服务 DMS 的功能介绍
可以像 Excel 一样格式化的去查看数据,分析数据和结构。DMS 是一个天然混合云,有不同的来源、不同类型的元数据,统一进行搜索包括管理的使用。可以很轻松地看到整个企业的数据资产分布在哪些区域、拥有哪些数据库类型、有多少数据库等。
另外一部分是通过灵活的安全规则给不同的业务,按需去自定义研发规范、研发流程,包括审批流程。从而最大化去提升整个企业的研发效率,那么在开发环境、测试环境、生产环境可以有不同的规范,一个业务可以有多套。可以规避以往的在一个企业里一个规范一刀切的情况,不同的业务会有相互冲突的情况的出现。同时也通过这种权限管控,敏感数据分类分歧,包括数据访问的控制来有效的去保障每一次数据访问的安全可控。最后还会有无锁数据变更,无锁结构等一些变更稳定性的功能去保障每一个变更的平稳实质性不影响到任何数据库的性能。
4.数据管理服务 DMS 的安全能力
DMS 提供的完整的解决方案,对比原始的运维管理人员单单去响应所有企业的数据访问的需求来不同,DMS 提出的方案:运维的人员在数据库册为 DMS 建立一个账号,所有不同的角色按需申请对应的不同粒度的资源。
可以是库、表、字段、甚至是某一行的数据的权限进行使用。第一,使用者不接触数据库账号密码,在监管要求上面三到六个月更换一次账号密码,所有使用者是无感的。不像以往创建一个账号要去做变更成本是非常大的。要做好很多足够的提前的通知,并且在真正实施时还可能会产生影响。如果在以往的方案中,账号和密码在有人接触的情况下是不安全的。人员离职、转岗等情况下是没有办法做到有效的联动回收。这是授权链路的变化。
同时在今天的 DMS 中要保证每一个的变更、查询的安全实施,所以会在整个链路上有多层的检查。最基本的是第一层权限的检查,会去观察用户是否有对应的权限。比如说当需要变更的权限,但是只申请了查询,这时的第一层权限就被拦了下来。如果有了变更权限再下发操作,但是在第二层规则中认为这是一个高规操作时,此时是不能执行的,就会在第二层中被拦截掉。如果发起的操作规则权限均通过,那么这时才会被真正下发到数据库。
在下发到数据库的同时是有稳定性的安全保障,比如说超时时间,限制大表的全表扫描包括会话数的管控。最后的结果返回也不是直接返回,还会经过第三层的校验主要会进行的是数据脱敏以及数据量的访问控制。
每一次从数据库返回的数据行数都会预制限制,一般情况下是200.也可以根据不同的需要不同的数据库实例,比如测试可以是500或者3000。但是生产的话可能只有50、40甚至更少,单次的返回这里就会产生一次校验。同样在数据脱敏的方面,比如手机号没有权限,在脱敏时就可能会全脱掉,有限制只能看手机号等。这里是一个完整的链路。
5.数据管理服务 DMS 的管控模式分类
DMS 支持许多的数据源,对于不同的功能是在不同的实力级别来管控,跟数据源类型本身无关。DMS 可以是自由操作、稳定变更,也可以是安全协同,不同的管控模式对应着不同的功能支撑。
自由操作是一个全免费、不限量的使用。稳定变更、安全协同是按需可以包年包月,也可以按量地开通进行使用。在操作入口上,DMS 在中国均是 dms.aliyun.com 的入口。
在不同的使用场景上可以按照企业的实际需要来进行管控模式的分配。安全协同一般作为企业客户的首选,可以满足安全合规、研发规范、研发流程、审批流程等相关功能的使用。
管控模式 |
自由操作 |
稳定变更 |
安全协调 |
费用 |
无限量,免费 |
按照“实例数”收费 |
按照“实例数”收费 |
应用场景 |
1.管控诉求较松 2.单用户使用 |
1.稳定性、持续可用性要求较高 2.小团队多人协同 |
1.数据安全要求严格 2.研发/变更流程强管控 3.企业需要合规管理 |
使用方式 |
账号密码登录数据库 |
账号密码登录数据库 |
数据库免费,按授权使用 |
入口 |
dms.aliyun.com |
6.数据管理服务 DMS 支持的数据库类型
DMS 支持库超过了25种数据库类型,主要的是覆盖关系型数据库、NoSQL、OLAP的一些数据源。对于云数据库引擎,做的是全面的支持。
关系型数据库 |
NoSQL |
OLAP |
MySQL SQL Server PostgreSQL PolarDB 系列 OceanBase 系列 Oracle …… |
Redis MongDB Lindorm Hbase Cassandra …… |
AnalyticDB 系列 Data Lake Analytics ClickHouse …… |
7.数据管理服务 DMS 支持的数据库操作
整个管控模式的划分是阶梯型式的递进,后一个管控模式是前一个管控模式的操集。最基础的自由操作,在最基础的版本上又提供了一些功能。比如说数据追踪、测试数据构建、任务编排等。在稳定变更管控模式下,增加了无锁数据变更、无锁结构变更等稳定性保障相关的功能,同时也大幅度提升了数据导出、数据追踪的免费使用额度。在安全协同管控模式下,进一步地增加了细粒度权限的管控、敏感数据的管理、研发流程、研发规范、审批流程、数仓开发相关的一些功能。
(1)自由操作:可视化元信息操作;DDL DML数据导入/导出;数据追踪 测试数据构建;任务管理 数据服务 数据报表;SQL 诊断数据库性能&诊断优化。
(2)稳定变更:无锁DDL/DML;变更稳定性;数据导出;数据追踪。
(3)安全协同:细粒度权限;敏感数据;安全规则;研发流程;研发规范;审批流程;数仓开发。
8.数据管理服务 DMS 的系统角色
在 DMS 中的角色分为系统角色和资源角色。系统角色在目前产品中有四个。第一个是普通用户,管理员后面可以给普通用户的角色进行编辑、调整。普通用户进来是没有任何额外权限的,所有的操作都是基于主动去申请或者是由管理员、DBA 授予的权限,才能够进行相应的操作。安全管理员主要是安全审计和敏感数据管理的两个场景,主要一般是企业的数据安全统一可授予。DBA 角色是在 DMS 里面的核心角色,它要对企业的研发规范、研发流程、审批流程相关的字段进行定义,一般是运维人员或者数据库的管理员。默认租户主帐号就是管理员,管理员也可以是子账号,所以主账号管理员是可以把角色分给不同的原账号。整个在产品里面的四个角色只有管理员 admin 节点会参与后续流程的审批,其他的三个角色本身不会参与到流程审批里面。但是普通用户在后面会有一些资源角色,比如说某个特定的审核节点,普通用户还是会参与到审批流程中的。总结为:普通用户不会因为角色而参与流程,但是会因为后面的一些其他设计而参与到流程之中。
(1)普通用户:使用数据库进行数据查询与变更、表结构查看与变更等操作。可以是企业的研发人员、测试人员、产品人员、运营人员、数据分析师等。
(2)安全管理员:进行数据字段安全分级、人员操作审计等;可以是企业的内审人员、安全管理员等。
(3)DBA :管理和运维数据库实例资源、数据库研发规范、数据库研发流程、任务执行等。可以是企业的DBA、运维等。
(4)管理员:当前租户的主账号默认为管理员,且不可取消。可设置子账号或其他已加入当前租户的账号为管理员。管理员数量没有限制。管理员对应审批流程中的admin节点。
9.数据管理服务 DMS 的资源角色
资源角色主要分为 owner 和 DBA。owner 有实例、库和表三层,当自由操作或稳定变更管控模式时会有实例 owner 的概念,不会有库、表的信息,这时实例级默认一个实例只有一个 owner。但是在库和表中,都默认是有三个owner,这是安全协同专属的能力。这些 owner 有很重要的职责,它是可以主动地去管理 owner 的资源、谁拥有权限和应该拥有权限、不应该有权限的回收和处理。
DBA 也可以进行相同的管理,但是DBA也可以参与到后面的审批。包括数据 owner ,一般是业务方的负责人。如果这时做一个变更,默认流程会是业务负责人审批完成后才能够进行后续的操作或是审批。
1、实例owner
每个实例只能有一个实例owner
云数据库资源默认主账号为实例owner
2、数据库owner
每个数据库最多可以有三个数据库owner。
DBA角色、管理员角色用户或原数据库owner可对数据库owner角色进行编辑调整
可通过流程主动申请。
3、表owner
默认继承数据库owner,每个表最多可以有三个表owner。
DBA角色、管理员角色用户或原表owner可对表owner角色进行编辑调整。
可通过流程主动申请。
4、DBA
每个实例只能有一个DBA。
DBA角色、管理员角色的用户可DBA角色进行编辑调整。
10.数据管理服务 DMS 的管理模式
了解管控模式的区分和产品里面的各个角色:
1、自由操作
超过25种数据库(云上或自建)的可视化数据管理、结构管理,并提供丰富的数据管理解决方案,简化数据库的使用和管理。
2、稳定变更
提供无锁结构变更、无锁数据变更等众多保障数据库稳定运行的解决方案。
数据导出、数据追踪等的阈值大幅提升。
提供自由操作模式的所有功能。
3、安全协同
提供细粒度权限管控(库/表/字段级别)、敏感数据管理等数据安全解决方案。
提供灵活可定义的设计规范、审批流程,构建企业专属数据库DevOps解决方案。
提供自由操作模式和稳定变更模式的所有功能。