DMS前后端技术揭秘及最佳实践

  1. 云栖社区>
  2. 博客>
  3. 正文

DMS前后端技术揭秘及最佳实践

场景研读 2017-09-05 20:15:27 浏览4934
展开阅读全文

不同于一般的存储和计算产品,云上DMS上属于操作类产品,目的是为用户提供更高更强的数据库访问能力,减少成本以提高效率。本文中,来自阿里巴巴数据库事业部的钟隐分享《DMS前后端技术揭秘及最佳实践》,介绍云上DMS,即数据库管理服务的整体应用和实践。

DMS最佳实践

云上DMS从2013年年底上线,从最初仅支持MySQL基本功能,已覆盖了多种RDBMS、NoSQL及部分分析型数据库在内的13种数据源,同时在多种数据库中逐步提供了传统数据库软件所不具有的专业功能,时间有限,我们仅列举4个不同角度的最佳实践:SQL窗口、数据追踪、命令终端、E-R图及生成文档,希望通过4个最佳实践让大家了解到DMS现有的功能中有很多您常用功能中有不少您没有发现的非常实用的细节,也有很多数据库专业的功能可以降低您的人力成本及提升您解决问题的速度,同时还有很多实用工具可以让您的研发整体效率得以提升。

SQL窗口

SQL窗口是DMS中用户最常使用的功能。除去日常工作中所接触到的,SQL窗口还有许多隐藏工具,借助这些工具,能帮助减轻操作负担,简化工作。

  • SQL编辑&智能提示;
  • 批量SQL操作;
  • 会话一致性;
  • 工作现场保留 我的SQL ;
  • 可视化编辑数据;
  • 生成报表;
  • 语法模板;
  • 其它实用功能:如单行详情、SQL格式化、执行计划、打开表。


数据追踪

数据追踪是DMS专业级功能的代表之一。也许您还没有用过,也许您还用得不错,但是它可以实实在在帮您解决很多问题,且处理的速度非常快。当发生以下情况时,数据追踪功能可以提供极大的裨益:

  • 当你发现数据丢失;
  • 当您发现数据被误修改;
  • 当你想闪回某个表;
  • 当你想回放某条数据的变化过程;
  • 当你想自定义回滚数据。

4897e2034fbc9cdcf4a3f42399ce6f8cb28c8d36

2a1c66afdaa0f4706ad4bb47bb4197dc236b927b

总结:

  • 正常情况下您要去找回丢失的数据,全量拷贝实例的成本是非常高的;
  • 一个专业的DBA的人力成本也非常高,同时由于Binlog文件较大且同时包含了一个实例上多个库、多个表、所有数据的日志,在人工定位上速度非常缓慢,DMS在这方面做了很多提速的处理,可以快速精准定位到库、表的日志甚至于某一行,并将其解析为可视化SQL,这样在降低人力成本的基础上也同时提升了解决问题的速度;
  • 数据追踪这个功能本身也是在初步阶段,在DMS中还有很多类似的功能已经存在或正在研发,例如数据趋势可以帮助您定位表级别或库级别的数据行变化、数据库克隆可以帮助您建立表级别或库级别的表结构及数据库的拷贝等等。未来这些功能将会更加强大,也会有更多专业级功能出来帮助大家解决更多的问题。



命令终端

DMS在可视化上不仅仅有数据库,还有Linux,DMS所提供的Linux可视化其WEB上的性能非常接近于客户端,且兼容95%以上的Linux命令(包含图形化命令),也同时单主机分屏、多主机终端等。您无需将您的主机暴露在公网,也无需通过一个中间机去访问其他主机,通过DMS就可以高体验地完成对这些主机的访问,且在云端会有更多的安全验证。DMS之所以在OS级别进行突破,是希望在后续自建数据库的支持上结合OS的详细开销及空间使用为您提供更为强大的功能。

a19aad187676040b40b43165767752a461f908d8

2a9de2b11e414f45210248ce8ad2288f33cebfbe

  • Linux可视化命令终端;
  • 交互命令;
  • 图形命令;
  • 单机分屏终端;
  • 多机多屏终端。



E-R图及生成文档

E-R图及生成文档的功能,是实用功能的典型代表。目前用户对其了解较少,不过后续会有类似的功能推出。在以下一些情况中,E-R图及生成文档能够有效减少成本,提高效率:

fc771874e549c94a0ea8e5a58e6de32a0db1104b

  • 数据库表建立好了,需要文档Review评审;
  • 生成word文档;
  • 生成Excel文档;
  • 生成PDF文档。



总结:

  • DMS有很多实用工具可以帮助您更快地完成工作,减少繁杂的重复劳动,例如:批量操作表、InnoDB锁诊断等。
  • DMS在后续也将在实用工具上继续拓展和升级,例如后续将会为大家提供代码生成器(您可以自定义代码模板),测试数据自动构建等。

最佳实践总结

除去以上提到的最佳实践,DMS还有很多的功能等待挖掘。后续产品也会越做越细,功能精确到对象级别,为用户带来更巨大的价值。

  • 安全审计;
  • 数据趋势;
  • 异步导入导出;
  • 会话管理分组;
  • SQL优化;
  • 空间碎片分析;
  • InnoDB锁等待;
  • 实时性能;
  • E-R图;
  • 安全审计;
  • 功能授权;
  • 存储过程错误行定位;
  • 资源大盘;

以安全审计为例,目前DMS个人版您可以定义用户的实例权限及功能权限,也可以定义实例的访问来源地址,在事后您也可以查看及导出所有被授权的用户的操作日志用以审计,如下图:

9afa82ea0b682334ac42e49592590b7a76a58399

f1bf514329bc7027c43c33e858eeafbd930a7a34

DMS与云上安全认证体系

云计算时代,越来越多的用户选择把数据放在公有云上,但是数据库您在日常工作中是必须要使用的,无论您放在VPC还是私有网络,都需要一个入口区访问。您可以通过一台中间机去访问,但这台中间机器无疑是最大的隐患,也可以搭建类似于phpmyadmin这样的开源产品去访问,但这类产品除无法支持多种数据库外,在其研发之初更多是定位于内网使用,在互联网的安全和大量用户同时使用时的场景考虑非常少,将其暴露在公网上很容易被利用和攻破。DMS在云上安全方面做了很多的工作,积累了非常之多的内容,解决过不少问题。同时由于DMS就是基于互联网环境下而生的,能够有效支持关系型/非关系型数据库以及各种热门的大数据操作。在云DMS平台上,用户可以拥有统一的准入接口和更为专业的服务,提升效率,降低成本。


TB11Qkwb3oQMeJjy0FnXXb8gFXa-1437-713.png


上图展示了利用DMS服务器构建云通道的过程。在用户浏览器中,往往存在阿里云会话、数据库会话、浏览器认证、XSS及CRSF等安全需求。为了保障性能,DMS在服务器中保有非常多的认证级别,包括:

  • 云账号认证;
  • 数据库访问认证;
  • 用户数据库权限认证;
  • 授权信息确认;
  • 密码记忆认证;
  • 来源地址认证;
  • 功能权限验证;
  • 访问审计报告。

对于连接池,会做驱动问题处理、流量控制、连接数控制等处理。

另外,对于安全性要求较高以及有一定规模的公司,DMS还针对性地推出了企业版,在安全、风控、协同、流程、效率等方面做得更加细化,实现了细粒度权限、安全访问、DDL难题、研发流程等更专业的功能。

711a10728a235bc40a3b198335f8183c4efc4fa4

  • 所有的权限、超时、并发、流程步骤、研发规范均由企业自定义;
  • 常规的数据库风险从发现到执行由DMS企业版自动完成,配置中的风险也由DMS企业版自动完成;
  • 所有并发调度和环境一致性由DMS企业版内部处理。

DMS整体服务架构

下图是目前的DMS整体架构图,支持RDS、ECS自建库、ADS、万网以及其他公网库。

3b7bdd67927ca1e144d6ff6f4b8fec0cb9dd370e

DMS访问架构图(示例)如下所示,大大缩小了用户与DB之间的距离。您可能经常出差,可能去外地旅游,但是我们希望您在全球任何地方对DMS有最佳的网站体验,因此我们将在全球部署DMS站点,同域名就近访问;其次,在您异地访问数据库的时候,我们希望数据库的操作足够稳定,批量数据处理的时候效率足够高(例如数据导入),所以我们会在全球各地部署本地连接池去访问数据库,网站与连接池之间通过批量、压缩等方式减少交互次数,减少整体链路的RT,让您在全球任何地方通过DMS去访问异地的数据库有一个最佳的体验效果。

2299627b85c81a7f36e9ddf5d90fb6ed76c50fc5

DMS后续的计划

c07aeb5c6c070383b0da4c392f7e62d593d5d635

DMS企业版目前已经开邀测,预计11月份会正式公测,它会给您提供的是具有20人以上研发规模的研发协同,除DMS这些基础功能及专业功能外,还会为您提供企业级敏感数据分级、研发流程、风险预判、精确审计、多环境发布、分库分表逻辑化等一系列的企业级功能。此外,在移动端设备上也有一些设想,在8月31日我们将正式发布第一个移动版本,后续还会不断迭代来提供更为强大的功能。智能优化、构建数据、数据可视化以及数据追踪回放,都需要进一步地研发完善,以满足用户更全面的需求。

 

网友评论

登录后评论
0/500
评论
场景研读
+ 关注