深圳定制网站公司,潍坊知名网站建设价格,深圳企业网站哪家好,汽车网站图片在和数据库打交道中#xff0c;不管是数据库管理员#xff08;DBA#xff09;还是开发人员#xff0c;经常会做一些CURD操作。因为每个人对数据库的了解程度不一样#xff0c;所以在项目上线时#xff0c;往往还需要专职人员对数据库的CURD操作进行审核#xff0c;确保C…在和数据库打交道中不管是数据库管理员DBA还是开发人员经常会做一些CURD操作。因为每个人对数据库的了解程度不一样所以在项目上线时往往还需要专职人员对数据库的CURD操作进行审核确保CURD的规范来保障生产数据库的稳定。
在业内很多数据库产品都有自己的一套“军规”这些“军规”保证了数据库操作的规范和运行的稳定。
安全、可靠的 SQL 开发
NineData 的「SQL 开发」是一个安全、高效、可靠的数据库开发平台面向数据库使用者和管理者。
除了可以替代Navicat、DBeaver这些工具外还可以为企业制定SQL开发规范提供超 100 条 SQL 规范审核可以更加安全、高效、规范地管理多类数据库实例。
目前支持主流商业和开源数据库Oracle、MySQL、SQL Server、PostgreSQL、MongoDB、Redis、OceanBase、Doris、DWS、DB2、SelectDB、达梦、人大金仓等等现在还在持续增加对不同数据库类型的支持。
下面以 MySQL 数据库类型为例简单的从结构、查询与更新、SQL 任务与窗口三方面来介绍如何为企业制定最合适的SQL开发规范。
结构 生产环境规范-结构
表必须有主键
INNODB表的主键聚簇索引保存了索引和数据行并且二级索引的叶子节点也保存了主键值。如果没有定义主键则会优先使用非空唯一索引来代替如果没有唯一索引则会使用内部隐藏的主键。所以新增表j建议有主键。
表必须包含指定列
随着业务的快速发展数据表存储的行数破亿后对该表的DDL和查询可能都会变慢此时就需要对该表进行冷数据归档作为归档的条件之一就是时间字段保证归档可以按照时间进行。所以新增表建议有创建时间字段。
表必须指定引擎和备注
在MySQL 8.0中默认已经不包含任何MyISAM表所以在创建表的时可以限制表的引擎在高并发和高性能的场景下推荐使用INNODB支持事务、行锁并且也需要设置各个列和表的备注保证表的可读性。
适配大表OnlineDDL
线上数据库常常面临着持续的、不断变化的表结构修改DDL如增加、更改、删除字段和索引等等其中一些DDL操作会锁表影响线上服务。
通过「OnlineDDL大表结构变更风险检测」和「OnlineDDL 配置」的规范不仅可以提前告知而且还能对不支持OnlineDDL的DDL语句进行转换实现了自适应Online DDL的能力。
如果匹配到这些规范后其中之一会出现如下图所示的说明 生产环境规范-审核说明
查询与更新 生产环境规范-查询与更新
SELECT 语句不建议使用 *
* 表示所有字段可能会导致不必要的数据加载和传输尤其是当表中包含大量字段或大型数据类型时。这样做会降低查询效率增加内存和网络的负担并可能包含不需要的数据。建议使用指定的字段来替换*保证SQL的可读性。
WHERE 条件中检测字段是否存在隐式类型转换
隐式类型转换可能导致索引失效从而引起全表扫描。增加额外的计算开销影响查询效率甚至产生错误的结果使用该规则可以提前发现并进行干预。
OnlineDML大表数据变更风险检测
变更大数据量的 DML 语句Update、Delete、Insert Into Select 会阻塞其他正常 DML 操作存在“锁表”风险。
使用 NineData OnlineDML将单个 SQL 拆分成多个批次执行以实现“不锁表”的数据变更。使用该规则可以自动进行“分片”处理无需关心影响的行数。
如果匹配到这些规范后其中之一会出现如下图所示的说明 SQL 任务与窗口 SQL 任务与窗口
SQL窗口单次查询最大返回行数
为了防止恶意刷数据可以通过该规范限制SQL返回结果的行数保证数据的安全并通过限制 SQL 窗口编辑结果集进一步保证数据的安全。
SQL窗口 DDL/DML/DQL 执行时间窗口
线上业务都有发布窗口一般都在低峰期进行发布和执行DDL、DML、DQL非窗口时间不能执行通过该规范能进一步保障数据库和业务的稳定性。
SQL窗口查询超时时间控制
通过SQL窗口查询线上数据库如果SQL执行的时间比较长会影响正常的业务SQL通过该规范能进一步保障数据库和业务的稳定性。
如果匹配到这些规范后其中之一会出现如下图所示的说明 生产环境规范-审核说明
总结
通过本篇文章的介绍说明可以了解到NineData的「SQL 开发」可以为企业制定SQL开发规范提供了企业级管控和安全协作能力超 100 条 SQL 规范审核更加高效、规范地管理多类数据库实例。
即使没有专职人员对线上数据库的CURD操作进行审核通过NineData 的SQL开发规范也能最大程度的保障数据库的安全和稳定。
此外作为开箱即用的SQL开发工具在支持多种数据库、多个云环境的前提下推出了永久免费的个人版和带有企业级管控、安全协作的企业版满足企业最高的数据安全合规要求。
目前SQL 开发企业版和 SQL 开发专业版现提供 90 天的试用您可以在这期间完整体验规格为20实例的所有功能。