不同于一般的存储和计算产品,云上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的人力成本也非常高,同时由于Binlog文件较大且同时包含了一个实例上多个库、多个表、所有数据的日志,在人工定位上速度非常缓慢,DMS在这方面做了很多提速的处理,可以快速精准定位到库、表的日志甚至于某一行,并将其解析为可视化SQL,这样在降低人力成本的基础上也同时提升了解决问题的速度;
- 数据追踪这个功能本身也是在初步阶段,在DMS中还有很多类似的功能已经存在或正在研发,例如数据趋势可以帮助您定位表级别或库级别的数据行变化、数据库克隆可以帮助您建立表级别或库级别的表结构及数据库的拷贝等等。未来这些功能将会更加强大,也会有更多专业级功能出来帮助大家解决更多的问题。
命令终端
DMS在可视化上不仅仅有数据库,还有Linux,DMS所提供的Linux可视化其WEB上的性能非常接近于客户端,且兼容95%以上的Linux命令(包含图形化命令),也同时单主机分屏、多主机终端等。您无需将您的主机暴露在公网,也无需通过一个中间机去访问其他主机,通过DMS就可以高体验地完成对这些主机的访问,且在云端会有更多的安全验证。DMS之所以在OS级别进行突破,是希望在后续自建数据库的支持上结合OS的详细开销及空间使用为您提供更为强大的功能。