随着云计算和数据库技术的发展,数据库正在变得越来越强大。数据库的性能如处理速度、对高并发的支持在节节攀升,同时分布式、实时的数据分析、兼容主流数据库等强大的性能正在越来越多的新型数据库上实现。
然而另一方面,数据库需要承担的业务越来越重,面临的场景也越来越复杂,开发者和运维人员不但日常需要管理超级复杂的数据,也会频繁面推的业务告警和突发状况。
那么如何解决这个令人头痛的问题呢?这时候如果有一个安全高效的远程数据库管理工具,不但能搞定数据库性能的实时监控和诊断,也能做到方便高效数据的可视化管理,你用不用?哪怕你是高冷如只用记事本编程的大神,或者强大的十年经验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中查看。
控制台中还实现了数据导入功能,可以设置参数,也可以为数据库添加账号并设置权限。