聊一聊达梦数据库
在中国,数据库的市场份额被国外数据库大佬们长期主导,他们无外乎都是大家耳熟能详的 Oracle、微软、IBM 等,这些知名的商业数据库厂商们在技术实力以及市场影响力方面无疑都是顶尖的,并且无一例外,它们都是美国的。而近年来,我们国家也终于意识到,长期依靠国外技术无疑是故步自封,把自身命运交给别国主宰,因此出台了诸多利好政策,提倡本土科技企业自主研发和创新。
在这样的背景下,中国开启了数据库国产化进程,距今为止,国内的很多金融行业都完成了数据库国产化,究其原因,其中一个很重要的点就是,不用再担心哪天又被某国卡脖子,而使重要的数据无以为继。
达梦是国产数据库中的一员猛将,它拥有自主的知识产权,同时在性能稳定性、安全性等方面都有着出色的表现,在国产数据库排名前十,也受到了诸多企业用户的高度评价。它具有通用性强、高性能、高安全性、高易用性等多个优点,并且适用于多样化场景。
俗话说好马配好鞍,对于这样一款优秀的国产数据库,当然需要一款能够完美管理达梦数据库的可视化客户端,以更好发挥达梦数据库的潜能。先来细数一下我们需要的功能:
- SQL 编辑:可视化客户端需要能够方便地编辑和执行 SQL,具备语法高亮和自动补全等提升效率的功能;SQL 执行之后,以表格等形式呈现结果集,并且可对结果集执行可视化编辑操作。
- 防止直连数据库:公司开发人员多,直连数据库会给核心业务带来波动,并且由于账号公用的问题,可能出现某一个变更导致数据丢失,还找不到责任人的情况。
- 权限管控:可以方便地为每一个开发人员配置对应的权限,或者让开发人员主动申请需要的权限,同时能在人员离职时轻松收回权限。
- 开发规范:具备可编辑的开发规范,让客户端基于规范自动判断并拦截不符合规范的 SQL。
- 定时执行:设定一个执行任务,让客户端在配置的时间点自动执行目标 SQL。
- 审批流程:具备完善的流程审批功能,所有可能对业务产生影响的 SQL,都需要通过各个节点的审批,才能在目标库中执行。
- 数据导入导出:可以实现将数据库中的数据导出成文件,并且可以从文件导入数据到数据库。
乍一看,让一个客户端全面支持所有这些功能,要求有点高,但是为了实现安全生产,上述的每一个功能都切切实实是企业迫切需要的。
那么,这样的客户端是否存在呢?
笔者之前一直在使用 NineData 的数据库 DevOps 功能来管理公司的数据库,这是一款企业级的数据库管理工具,支持市面上主流的数据库,包括 MySQL、SQL Server、PostgreSQL、Oracle、Db2、MongoDB、Redis、ClickHouse、Doris、SelectDB等等。功能方面,不仅包含了上述所有功能,还有很多额外的强大能力,例如:
- AI 能力:包含类似于 ChatGPT 的知识问答机器人,专门针对数据库领域的知识训练了大模型,对于数据库相关的知识问答比 ChatGPT 更加全面。同时,支持对 SQL 语句进行优化,基于最优方案提供索引、SQL 改写等建议。
- 慢查询分析:自动采集并记录数据库中的所有慢查询,通过对每一条慢查询进行性能诊断,最终提供优化建议,包含添加或修改索引、调整表结构等,同时还可以根据业务类型配置 SQL 开发规范,配置完成后,系统将基于这些规范诊断慢 SQL。
- SQL 审核:针对应用代码发版之前的阶段,支持对所有需要发布的 SQL 语句进行审核,基于智能化的算法和企业配置的 SQL 开发规范,自动识别并防范问题 SQL,只有在 SQL 审核通过的情况下,应用才能进行发版。
- DSQL:针对多个同异构数据库系统进行跨库查询,可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,并且将这些信息聚合为一份查询结果返回,轻松实现跨多个库、多个数据源,乃至跨多个异构数据源的数据查询。
在最近的一次迭代中,NineData 支持了达梦数据库,大致测试了一下,具备了我们上面所说的 SQL 编辑、定时执行、开发规范、审批流程、权限管控、数据导入导出能力,而对于防止直连数据库,NineData 平台本身就具备了该功能。
简单演示一下
导航树:数据库里有哪些 Schema、表、非表对象等一览无遗。
SQL 编辑:支持对数据库进行增删改查。
结果集编辑:支持可视化对结果集进行增删改,同时,自动基于修改结果生成变更语句,复制语句可以在其他客户端直接执行。
SQL 智能优化:基于 AI 能力,针对查询语句(SELECT)进行检测和优化。
拦截不规范语句:设置 SELECT 语句不建议使用 *,如果检测到该类 SQL 语句将自动执行拦截。
定时执行 SQL 语句:提交 SQL 任务,在审核通过后的执行阶段,可选择在某一个时间段自动执行。
后记
就在今天,达梦数据库科创板上市已获证监会批准的好消息传来,不禁感慨国产数据库的脚步如此迅猛!
而在国产数据库大军中,还有相当一部分的佼佼者,例如名列前茅的 OceanBase、PolarDB、华为的 GaussDB 等,在不远的未来,这些数据库都足以撼动称霸市场数十年的大佬们的地位,让我们拭目以待吧。