不同于一般的存储和计算产品,云上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的详细开销及空间使用为您提供更为强大的功能。

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


E-R图及生成文档

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

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

总结:

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

最佳实践总结

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

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

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

DMS与云上安全认证体系

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

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

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

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

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

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

DMS整体服务架构

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

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

DMS后续的计划

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

DMS前后端技术揭秘及最佳实践相关推荐

  1. 【转载】前后端分离的思考与实践(五)

    基于前后端分离的多终端适配 前言 近年来各站点基于 Web 的多终端适配进行得如火如荼,行业间也发展出依赖各种技术的解决方案.有如基于浏览器原生 CSS3 Media Query 的响应式设计.基于云 ...

  2. 前后端分离的思考与实践(三)

    Midway-ModelProxy - 轻量级的接口配置建模框架 前言 使用Node做前后端分离的开发模式带来了一些性能及开发流程上的优势(见<前后端分离的思考与实践 一>), 但同时也面 ...

  3. 一张图来看看.NETCore和前后端技术的演进之路

    一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和前后端分离那些事儿>上,我们曾经试图通过一系列抽丝剥茧的过程来引导大家在这条基于.NET Core ...

  4. 前后端分离的思考与实践(六)

    原文出处: 淘宝UED - 筱谷 Nginx + Node.js + Java 的软件栈部署实践 起 关于前后端分享的思考,我们已经有五篇文章阐述思路与设计.本文介绍淘宝网收藏夹将 Node.js 引 ...

  5. 从一张图开始,谈一谈.NET Core和前后端技术的演进之路

    从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...

  6. 【初学者技术修炼】毕业生初学者学习前后端技术路线图

    [初学者技术修炼]毕业生初学者学习前后端技术路线图 1 序 2 路线图 2.1 搭建可交互的前端WEB界面路线图 2.1.1 静态页面构造 2.1.2 JavaScript学习 2.1.3 低代码平台 ...

  7. Java Web前后端分离的思考与实践

    第一节 Java Web开发方式的变化 Web开发虽然是我们常说的B/S模式,其实本质上也是一种特殊的C/S模式,只不过C和S的选择余地相对要窄了不少,而且更标准化.不论是采用什么浏览器和后端框架,W ...

  8. 棋牌游戏前后端技术介绍

    1前端技术介绍 Cocos2d Cocos2d-x+lua 版本稳定,技术相对成熟,可以ios  adroid  pc三端打包,支持热更新,相关技术人员多,相对比较好招人. Cocos Creator ...

  9. 前后端分离的思考与实践

    前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了"前后端"的定义,引入前端同学都熟悉 ...

最新文章

  1. 武汉游记,三件新鲜奇葩事
  2. mysql drop_mysql恢复drop掉的表
  3. 从 Azure 下载 Windows VHD
  4. 面试官是如何看程序员的简历
  5. Search in Rotated Sorted Array II leetcode java
  6. 2021华为软挑赛题_思路分析——实时更新,做多少更多少(二)
  7. PTA2-6 打印学生选课清单(15 分)
  8. java弹跳小球程序_用java实现跳动的小球示例代码
  9. win10计算机还原点如何创建,win10系统如何建立自动还原点?
  10. python爬虫获取下一页_Python爬虫怎么获取下一页的URL和网页内容?
  11. 台式电脑组装机相关知识之主板篇
  12. 3. mysql-视图
  13. 【千纸诗书】—— PHP/MySQL二手书网站后台开发之功能实现
  14. 计算机科学计算器CE符号,计算器的ce和c是什么意思???
  15. 【python】18行代码带你采集国外网小姐姐绝美图片
  16. 网络精英赛模拟练习(3)
  17. 第一课 大数据技术之Fink1.13的实战学习-部署使用和基础概念
  18. 织梦dedecms转换其他CMS教程
  19. 语音芯片如何选型?这篇文章告诉你
  20. 主动声呐波束形成均匀线阵Matlab仿真

热门文章

  1. 自定义view让图片慢慢画出来
  2. pytest篇4-Fixture熟练运用
  3. python训练营 朋友圈广告_朋友圈广告优秀案例解析
  4. 谷粒商城笔记+踩坑(9)——上架商品spu到ES索引库
  5. 绘制文字(QFont字体)
  6. js使用splice删除数组元素
  7. Java类与对象详细讲解(上)
  8. 100%命中率的AI篮球机器人问世!丰田员工私下研制,原型竟是樱木花道(附高能视频)
  9. VxWorks调试记录
  10. 【渲染技巧】增强ZBrush工作流程的14个技巧