本文由云+社区发表

作者:腾讯云数据库

随着云计算和数据库技术的发展,数据库正在变得越来越强大。数据库的性能如处理速度、对高并发的支持在节节攀升,同时分布式、实时的数据分析、兼容主流数据库等强大的性能正在越来越多的新型数据库上实现。

然而另一方面,数据库需要承担的业务越来越重,面临的场景也越来越复杂,开发者和运维人员不但日常需要管理超级复杂的数据,也会频繁面推的业务告警和突发状况。

那么如何解决这个令人头痛的问题呢?这时候如果有一个安全高效的远程数据库管理工具,不但能搞定数据库性能的实时监控和诊断,也能做到方便高效数据的可视化管理,你用不用?哪怕你是高冷如只用记事本编程的大神,或者强大的十年经验DBA,恐怕也只能在心里说一句:真香!

正式基于上述背景,这些年来,不少数据库管理工具不断被人开发出来。其中有SQLyog、Adminer等开源工具,也有腾讯云DMC、阿里云DMS等云厂商开发的工具,更有Navicat等第三方工具受人青睐。

笔者总结了三款具有代表性的开源数据库管理工具,功能上大多类似。他们的异同如下所示:

工具名称 使用平台 交互方式 优缺点
SQLyog Windows 软件 免费版本不够强大
phpMyAdmin - Web 功能较全,公网部署,不安全、权限不足
Adminer - Web 比phpMyAdmin更安全一点,轻量级,除了MySQL还支持 SQLite, PostgreSQL, MS SQL, Oracle

具体其他差异还包括功能的细节支持,性能表现,安全性上,在此不做深入的探讨研究。

通过对开源数据库管理工具的功能进行分析统计,我找到了关系型数据库管理工具的基本功能需求,至少具备下述功能:

  • 索引/外键/视图/存储过程/函数的管理
  • 数据查询、合计、排序
  • 新增/修改/删除记录
  • 支持所有数据类型,包括大字段
  • 批量执行SQL语句
  • 数据导入导出
  • 进程管理
  • 用户和权限管理
  • 事件管理

因为安全性、功能限制、稳定性等种种原因,开源的数据库管理工具基本不可能在企业在开发和运维数据库时考虑之列,更强大更稳定的付费版或者企业版才是主流。随着云数据库的应用越来越广,各大云厂商也在为中小企业客户提供更方面的数据库管理工具,他们的产品迭代方向代表着广大用户的需求。在次,笔者总结了5个数据库管理工具的发展方向,以供参考。

可视化:实时性能监控、流量监控、SQL图表展示、ER图,一个直观友好的可视化界面远胜复杂详细的表格和数据。

跨平台:为了能够在不同桌面操作系统使用同一个工具,数据库管理工具逐渐从桌面工具向Web端演化。但是web端还不够,有些实时监控和简易操作,需要放在手机端完成,真正做到随时随地管理数据库。实现无缝跨平台管理。

兼容性:一个项目中包含多种数据库是非常常见的情况,那么能不能兼容MySQL之外还兼容其他主流关系型数据库呢,甚至兼容主流nosql数据库?这样大大简化了项目管理成本,也提高了效率。

智能化:数据审计、告警预警、智能诊断,这些代表着DevOps前沿的能力,能不能被整合到管理工具中,减少项目运维开发的成本。

安全性:远程访问是否会导致数据泄漏?用户权限如何分级?多用户协作如何管理?这些问题对企业用户来说非常重要。

综上,一个好的数据库管理工具,既需要有完备的基础功能,也要符合上述这5大特性的要求,这样才能成为企业青睐的好工具。带着以上观点,我们再去看看主流云厂商提供的数据库管理工具能不能符合要求。

DMC是腾讯云提供的关系型数据库管理工具,目前支持MySQL和MariaDB,腾讯云的数据库管理功能由控制台、DMC和小程序提供。

我们先看控制台,控制台可以完成数据库详情查看、数据库实例监控等操作,还可以完成数据备份管理、数据回档、连接检查等实例级别的操作。

实例监控涉及了24个参数,可以设置不同的时间范围,支持缩放,同时也可以合并监控,需要注意的是,控制台的监控数据较实际查看时间有所滞后,实时数据需要去DMC中查看。

控制台中还实现了数据导入功能,可以设置参数,也可以为数据库添加账号并设置权限。

接下来是DMC,在控制台中点击登录即进入DMC,需要使用数据库的账号密码。DMC中包含了库表级操作,实时性能监控、会话管理,InnoDB锁等待管理几个功能。

实时监控中包含了MySQL状态、InnoDB操作、线程数和网络读写等信息,每4秒钟更新一次。

使用的是表格形式来展示,不够用户友好,且MySQL状态中有很多缩写没有说明含义,对于小白用户来说可能比较迷惑。

在DMC中有一个进入PMA入口,这是腾讯云为了补充DMC功能,为用户提供的内嵌phpMyAdmin管理工具。

phpMyAdmin中提供的SQL操作、批量SQL、导入导出等功能,是对DMC和控制台功能的一个补充,也可能是考虑到部分用户对phpMyAdmin比较熟悉,照顾到了该部分用户的使用习惯。

但是phpMyAdmin也有一些迷惑用户的地方,比如变量设置这一功能其实跟控制台的参数设置重合了,但具体查看又发现两个功能的参数并不完全一样,各自只能覆盖MySQL的一部分参数,这里还需要给用户更详细的说明。

最后重点来说一说小程序。小程序是腾讯云将数据库管理功能应用到移动端的形式,小程序相比较App无需安装,比较轻量级,又依附了强大的微信生态。对于非工作时间的运维人员来说,使用小程序监控数据库状态是最合适不过的。(小程序搜索腾讯云助手即可使用)

腾讯云助手集合了很多腾讯云产品,目前数据库产品支持MySQL和Redis。关注“腾讯云数据库TencentDB”微信公众号,底部“一键管理”可直接进入腾讯云小程序,在移动端即可一键管理数据库。

我们进入MySQL,根据所在地和项目选择所需要管理的数据库,可以对数据库执行重启操作。

可以看到有实例详情和监控列表两大块。

实例详情中介绍了数据库版本、计费模式等产品配置信息,还有数据库的运行状态和字符集等基本信息。监控列表中则给出了很多详细的性能监控,如慢查询、连接数等,如下图所示:

笔者统计了一下监控列表中的参数,分别是每秒执行操作数、最大连接数、慢查询数、全表扫描数、查询数、写操作、总请求数、查询使用率、临时表数量、等待表锁次数、缓存命中率、缓存使用率、读磁盘数量、写磁盘数量、fsync(同步内核缓冲区)数、缓存命中率、缓存使用率,一共17个参数。

从UI设计上来说,考虑到手机的长条形屏幕跟PC端区别较大, 所以选择将性能参数走势图竖着放置,便于观看和操作。浏览的时候还可以选中坐标查看具体值:

另外由于手机端难以缩放,所以提供了数据走势实时(1小时内)、昨天、7天等三个选项,方便用户切换浏览。

但是设计上同时也有一些缺点,参数列表过长使得用户如果要浏览某个比较靠后的性能参数需要下滑很久,可以考虑将这些参数分成大类提供标签切换。

功能上来说,腾讯云助手提供了大多数性能参数的可视化浏览,以及数据库实例的重启操作,尽管提供的操作比较少,但是基本满足了运维人员临时快速诊断的场景需求。

综上,腾讯云通过控制台、dmc、内置的phpMyAdmin包括小程序提供了数据管理的功能,满足了基本功能需求。但对于兼容性和智能化等产品特性还不充分,腾讯云需要继续扩充对其他类型数据库的支持。同时腾讯云数据库管理存在功能过于分散的缺点,控制台、dmc和phpMyAdmin功能互相重复冲突,容易让用户感到困惑,于此同时也不方便合理的权限控制管理(比如控制台的文件导入功能却不需要数据库账号密码)。为了解决这个问题,可以考虑将内置phpmyadmin和控制台的功能尽可能整合到dmc内,这样方便用户寻找入口,也可以提供统一的用户体验。

此文已由腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号

磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序的更多相关文章

  1. 磊哥评测之数据库:腾讯云MongoDB vs自建

    本文由云+社区发表 作者:磊哥 上期文章我们聊到了redis.这期我们来说说另一个网红nosql数据库:MongoDB.有这么一个介绍MongoDB的说法是:MongoDB是非关系数据库当中功能最丰富 ...

  2. 数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;PG异机归档;MySQL架构选型;Oracle技能表;Oracle文件损坏处理……

    热门资讯 1.Stackoverflow 2020年度报告出炉!开发者最喜爱的数据库是什么?[摘要]2020年2月,近6.5万名开发者参与了 Stackoverflow 的 2020 年度调查,这份报 ...

  3. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  4. 微信小程序教程(第二篇)

    如何注册接入小程序及搭建开发环境 小程序接入流程 注册 主要分为注册邮箱与信息登记. 需要重新申请一个新的微信公众帐号,不能使用服务号.订阅号或企业号使用的公众帐号 (微信公众帐号分为四种类型:订阅号 ...

  5. 基于centos搭建微信小程序服务,配置及数据库等

    基于centos搭建小程序, ps:请提前20天准备将域名备案,申请ssl证书 实验上机地址:https://cloud.tencent.com/developer/labs/lab/10004 准备 ...

  6. 一文了解腾讯云数据库SaaS服务

    本文由云+社区发表 作者:邵宗文,2009年加入腾讯,现为腾讯云数据库专家产品经理.之前曾负责为OMG事业群构建数据库平台,部署,规划及运维支持,为腾讯网,新闻客户端,快报,视频,财经,体育等提供了稳 ...

  7. 微信小程序教程(第一篇)

    目录 第一篇小程序概述 第二篇如何注册接入小程序及搭建开发环境 第三篇小程序的架构及实现机制,信道服务及会话管理 第四篇小程序开发基本框架及其限制与优化 第五篇小程序开发项目实例,测试及发布 .... ...

  8. 小程序多端框架全面测评:chameleon、Taro、uni-app、mpvue、WePY

    摘要: 微信小程序开发技巧. 作者:coldsnap 原文:小程序多端框架全面测评 Fundebug经授权转载,版权归原作者所有. 最近前端届多端框架频出,相信很多有代码多端运行需求的开发者都会产生一 ...

  9. hotCity 小程序城市选择器, 城市数据库可自己导出

    hotCity 城市选择器, 城市数据库可自己导出 后台数据API 由HotApp小程序统计提供并维护,如果需要导出并部署在公司的生产环境,最后有SQL导出下载地址 开源地址 https://gith ...

随机推荐

  1. 20181115 python-第一章学习小结part4

    python第一章 流程控制 单分枝任务 If  条件: 满足条件执行动作 注意if下面的缩进,建议直接使用tab键,4个空格太难输入. 双分枝任务 If  条件: 满足条件执行动作 else: 条件 ...

  2. acl权限命令

    1.查看acl命令 getfacl 文件名 #查看acl权限 2.设定acl权限命令 setfacl 选项 文件名 选项: -m 设置ACL权限 -x 删除指定的ACL权限 -b 删除所有的ACL设定 ...

  3. ef.core Mysql

    Entity层 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; ...

  4. linux学习:网络(防火墙)及系统安全相关命令学习

    指令: top.htop.free.pstree.lsof.ifconfig.w3m.tcpdump.netstat.nmap.ufw 网络: top    #查看内存,cpu,进程之间的状态.hto ...

  5. 开启IIS Express可以调试X64项目

    //来源:https://blog.csdn.net/ma_jiang/article/details/52679431 现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中 ...

  6. mysql根据字符截取字符串(总结)

    mysql根据字符截取字符串(总结) 1.1 前言   为结合自己平常查资料的习惯,我会先给出例子,然后再对相关知识进行详解.该案例使用到的函数为:SUBSTRING_INDEX 1.2 需要实现的实 ...

  7. android 2018 面试题

    四大组件:activity.service.content provider.broadcast receiver [一]Activity 1.生命周期 onCreate:表示activity正在被创 ...

  8. [转]Understanding OpenStack Authentication: Keystone PKI

    The latest stable release of OpenStack, codenamed Grizzly, revolutionizes the way user authenticatio ...

  9. 【RL-TCPnet网络教程】第9章 RL-TCPnet网络协议栈移植(uCOS-III)

    第9章        RL-TCPnet网络协议栈移植(uCOS-III) 本章教程为大家讲解RL-TCPnet网络协议栈的uCOS-III操作系统移植方式,学习了第6章讲解的底层驱动接口函数之后,移 ...

  10. Python爬虫4-URLError与HTTPError

    GitHub代码练习地址:URLError:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac06_URLError.py ...