强插广告:关注本公众号,点击底部菜单“一键管理”,即可在移动端随时随地管理数据库。
随着云计算和数据库技术的发展,数据库的功能越来越强大,处理速度、高并发支持等数据库性能稳步提升,同时分布式、实时数据分析、兼容主流数据库等强大特性正在越来越多的新型数据库上实现。
另一方面,数据库需要承担的业务越来越多,面临的场景也越来越复杂,开发和运维人员不仅需要日常管理超复杂的数据,还频繁面临业务警报和突发事件。
那么如何解决这个头疼的问题呢?这时候,如果有一个安全高效的远程数据库管理工具,不仅可以实时监控、诊断数据库性能,还能实现便捷高效的数据可视化管理,你会用吗?哪怕你是一个只会用记事本编程的酷程序员,又或者是一个拥有十年从业经验的强大DBA,恐怕你也只能在心里说一句:太棒了!
基于上述背景,多年来出现了许多数据库管理工具,其中比较流行的有和等开源工具,也有腾讯云DMC、阿里云DMS等云厂商自研的工具,以及诸如等第三方工具。
笔者总结了三种具有代表性的开源数据库管理工具,功能上大体类似,其相同点与不同点如下:
其他具体差异包括详细的功能支持、性能和安全性,这里不再深入讨论。
通过对开源数据库管理工具功能的分析和统计,我发现关系型数据库管理工具的基本功能要求,至少应该具备以下功能:
由于安全性、功能限制、稳定性等原因,开源数据库管理工具基本不被企业在开发和运维数据库时考虑,功能更强大、更稳定的付费版本或企业版才是主流。随着云数据库的使用越来越广泛,各大云厂商也在为中小企业客户提供更加完善的数据库管理工具,其产品迭代的方向代表了广大用户的需求。
这里,作者总结了5种数据库管理工具的发展方向,以供参考。
可视化:实时性能监控、流量监控、SQL图表展示、ER图,直观友好的可视化界面远远超越复杂详细的表格和数据。
跨平台:为了在不同的桌面操作系统上使用同一个工具,数据库管理工具逐渐从桌面工具发展到Web,但Web还不够,一些实时监控和简单操作还需要在手机上完成,才能真正做到随时随地管理数据库,实现无缝跨平台管理。
兼容性:一个项目涉及多个数据库是很常见的,那么能不能兼容其他主流关系型数据库,甚至主流数据库呢?这样可以大大简化项目管理成本,提高效率。
智能化:数据审计、报警预警、智能诊断等都是比较前沿的技术,能否融入到管理工具中,降低项目运营和开发的成本?
安全性:远程访问是否会导致数据泄露?用户权限如何分级?多用户协作如何管理?这些问题对于企业用户来说非常重要。
综上所述,一款好的数据库管理工具需要具备完备的基础功能,并且满足以上五大特性的要求,才能够成为受企业青睐的好工具。带着以上观点,我们来看看主流云厂商提供的数据库管理工具是否能够满足要求。
DMC是腾讯云提供的关系型数据库管理工具,目前支持 和 ,腾讯云的数据库管理功能由控制台、DMC、小程序三部分提供。
我们先来看一下控制台,控制台可以完成查看数据库详情、监控数据库实例等操作,还可以完成数据备份管理、数据回滚、连接检查等实例级别的操作。
实例监控涉及24个参数,可以设置不同的时间范围,支持扩缩容、合并监控。需要注意的是,控制台中的监控数据与实际查看时间有滞后,需要在DMC中查看实时数据。
控制台还实现了数据导入功能,可以设置参数、添加账户到数据库、设置权限。
接下来是DMC,点击控制台中的进入DMC,需要使用数据库的账号和密码,DMC包含了数据库表级别操作、实时性能监控、会话管理、锁等待管理等几大功能。
实时监控包含状态、运行、线程数、网络读写等信息,每4秒更新一次。
采用表格形式展示,不太方便用户使用,状态栏中有很多缩写,但并没有解释其含义,可能会让新手用户感到困惑。
DMC中有PMA的入口,PMA是腾讯云为用户提供的一个内嵌的管理工具,用于补充DMC的功能。
其中提供的SQL操作、批量SQL、导入导出等功能是对DMC和控制台功能的补充,也可能考虑到有些用户比较熟悉,照顾到这些用户的使用习惯。
不过还是有一些地方容易让用户感到困惑,比如变量设置功能其实和控制台的参数设置是重叠的,但是仔细查看发现两个功能的参数并不完全相同,各自只能覆盖部分参数,这里需要给用户更详细的说明。
最后我们来关注一下小程序。小程序是腾讯云将数据库管理功能应用到移动端的形式。相比于APP,小程序无需安装、相对轻量,并且依托强大的微信生态。对于非工作时间的运维人员来说,使用小程序来监控数据库状态是最合适的。(搜索腾讯云助手即可使用小程序)
腾讯云助手集成众多腾讯云产品,目前数据库产品支持 和 。关注“腾讯云数据库”微信公众号,点击底部“一键管理”即可直接进入腾讯云小程序,在手机端即可一键管理数据库。
我们根据位置和项目进入选择需要管理的数据库,重启数据库就可以了。
可以看到有两个部分:实例详情、监控列表。
实例详情包括数据库版本、计费模式等产品配置信息,以及数据库运行状态、字符集等基础信息。监控列表提供了很多详细的性能监控,比如慢查询、连接数等,如下图所示:
作者统计了监控列表中的参数,分别是每秒执行的操作数、最大连接数、慢查询数、全表扫描数、查询数、写操作数、总请求数、查询使用率、临时表数、等待表锁数、缓存命中率、缓存使用率、磁盘读取次数、磁盘写入次数、(同步内核缓冲区)数、缓存命中率、缓存使用率,共计17个参数。
从UI设计上来看,考虑到手机长屏与PC端差异较大,性能参数趋势图采用竖向放置,方便查看和操作。浏览时也可以选择坐标查看具体数值:
另外,由于手机上不方便缩放,因此提供了实时数据趋势(1小时内)、昨天、7天三个选项,方便用户切换浏览。
不过该设计也存在一些不足,参数列表过长,用户如果想浏览比较靠后的性能参数,需要向下滚动很长时间,可以考虑将这些参数分成大的类别,并提供标签切换。
功能方面,腾讯云助手提供了大部分性能参数的可视化浏览以及数据库实例的重启操作,虽然提供的操作比较少,但基本满足了运维人员对于临时、快速诊断场景的需求。
综上所述,腾讯云通过控制台、DMC、内置小程序等方式提供了数据管理功能,满足了基本的功能需求。但在兼容性、智能化等产品特性上还存在不足,腾讯云需要继续拓展对其他类型数据库的支持。同时,腾讯云数据库管理存在功能过于分散的弊端,控制台、DMC、功能相互重叠、冲突,容易让用户产生困惑,同时不便于进行合理的权限控制管理(例如控制台的文件导入功能不需要数据库账号密码)。为了解决这个问题,可以考虑将内置功能和控制台功能尽可能的整合到DMC中,这样用户更容易找到入口,提供统一的用户体验。