457
京东网上商城
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专业级功能的代表之一。也许您还没有用过,也许您还用得不错,但是它可以实实在在帮您解决很多问题,且处理的速度非常快。当发生以下情况时,数据追踪功能可以提供极大的裨益:
-
当你发现数据丢失;
-
当您发现数据被误修改;
-
当你想闪回某个表;
-
当你想回放某条数据的变化过程;
- 当你想自定义回滚数据。
总结:
-
正常情况下您要去找回丢失的数据,全量拷贝实例的成本是非常高的;
-
DBA
- DMS
命令终端
DMS在可视化上不仅仅有数据库,还有Linux,DMS所提供的Linux可视化其WEB上的性能非常接近于客户端,且兼容95%以上的Linux命令(包含图形化命令),也同时单主机分屏、多主机终端等。您无需将您的主机暴露在公网,也无需通过一个中间机去访问其他主机,通过DMS就可以高体验地完成对这些主机的访问,且在云端会有更多的安全验证。DMS之所以在OS级别进行突破,是希望在后续自建数据库的支持上结合OS的详细开销及空间使用为您提供更为强大的功能。
-
Linux
-
交互命令;
-
图形命令;
-
单机分屏终端;
- 多机多屏终端。
E-R图及生成文档
E-R图及生成文档的功能,是实用功能的典型代表。目前用户对其了解较少,不过后续会有类似的功能推出。在以下一些情况中,E-R图及生成文档能够有效减少成本,提高效率:
-
Review
-
word
-
Excel
总结:
-
DMS
- DMS
最佳实践总结
除去以上提到的最佳实践,DMS还有很多的功能等待挖掘。后续产品也会越做越细,功能精确到对象级别,为用户带来更巨大的价值。
-
安全审计;
-
数据趋势;
-
异步导入导出;
-
会话管理分组;
-
SQL
-
空间碎片分析;
-
InnoDB
-
实时性能;
-
E-R
-
安全审计;
-
功能授权;
-
存储过程错误行定位;
-
资源大盘;
- …
以安全审计为例,目前DMS个人版您可以定义用户的实例权限及功能权限,也可以定义实例的访问来源地址,在事后您也可以查看及导出所有被授权的用户的操作日志用以审计,如下图:
DMS与云上安全认证体系
云计算时代,越来越多的用户选择把数据放在公有云上,但是数据库您在日常工作中是必须要使用的,无论您放在VPC还是私有网络,都需要一个入口区访问。您可以通过一台中间机去访问,但这台中间机器无疑是最大的隐患,也可以搭建类似于phpmyadmin这样的开源产品去访问,但这类产品除无法支持多种数据库外,在其研发之初更多是定位于内网使用,在互联网的安全和大量用户同时使用时的场景考虑非常少,将其暴露在公网上很容易被利用和攻破。DMS在云上安全方面做了很多的工作,积累了非常之多的内容,解决过不少问题。同时由于DMS就是基于互联网环境下而生的,能够有效支持关系型/非关系型数据库以及各种热门的大数据操作。在云DMS平台上,用户可以拥有统一的准入接口和更为专业的服务,提升效率,降低成本。
上图展示了利用DMS服务器构建云通道的过程。在用户浏览器中,往往存在阿里云会话、数据库会话、浏览器认证、XSS及CRSF等安全需求。为了保障性能,DMS在服务器中保有非常多的认证级别,包括:
-
云账号认证;
-
数据库访问认证;
-
用户数据库权限认证;
-
授权信息确认;
-
密码记忆认证;
-
来源地址认证;
-
功能权限验证;
- 访问审计报告。
对于连接池,会做驱动问题处理、流量控制、连接数控制等处理。
另外,对于安全性要求较高以及有一定规模的公司,DMS还针对性地推出了企业版,在安全、风控、协同、流程、效率等方面做得更加细化,实现了细粒度权限、安全访问、DDL难题、研发流程等更专业的功能。
-
所有的权限、超时、并发、流程步骤、研发规范均由企业自定义;
-
DMS
- DMS
DMS整体服务架构
下图是目前的DMS整体架构图,支持RDS、ECS自建库、ADS、万网以及其他公网库。
DMS访问架构图(示例)如下所示,大大缩小了用户与DB之间的距离。您可能经常出差,可能去外地旅游,但是我们希望您在全球任何地方对DMS有最佳的网站体验,因此我们将在全球部署DMS站点,同域名就近访问;其次,在您异地访问数据库的时候,我们希望数据库的操作足够稳定,批量数据处理的时候效率足够高(例如数据导入),所以我们会在全球各地部署本地连接池去访问数据库,网站与连接池之间通过批量、压缩等方式减少交互次数,减少整体链路的RT,让您在全球任何地方通过DMS去访问异地的数据库有一个最佳的体验效果。
DMS后续的计划
DMS企业版目前已经开邀测,预计11月份会正式公测,它会给您提供的是具有20人以上研发规模的研发协同,除DMS这些基础功能及专业功能外,还会为您提供企业级敏感数据分级、研发流程、风险预判、精确审计、多环境发布、分库分表逻辑化等一系列的企业级功能。此外,在移动端设备上也有一些设想,在8月31日我们将正式发布第一个移动版本,后续还会不断迭代来提供更为强大的功能。智能优化、构建数据、数据可视化以及数据追踪回放,都需要进一步地研发完善,以满足用户更全面的需求。
最后更新:2017-09-05 20:32:44