1.一般
为规范公司各种环境下数据库系统的设计和创建过程,提高数据库系统的开发效率,保证数据库系统的性能和安全稳定运行,特制定本规范 。
该规范涉及 PM、RD、SQ 和 DBA 四个角色 。数据库系统设计和创建过程中各个角色的工作内容会按照【高风险】、【强制】、【推荐】三个级别进行标注,按照优先级从高到低 。
对于不符合【高风险】和【强制】两个级别的工作内容,DBA将强制其回电并要求修改 。
2.适用范围
本规范定义的数据库系统包括部署在传统数据中心(物理机如Cisco UCS)和云(公有云、私有云)中的所有数据库实例 。相关数据库实例参考数据库开发和创建的相关规范 。
3.PM 应遵循的数据库设计和创建规范
本规范旨在帮助或指导 RD、QA、OP 等技术人员设计和开发适合在线业务的数据库 。规范数据库变更及处理流程、数据库表设计、SQL编写等,为公司业务系统稳定健康运行提供保障 。
3.1 Mysql设计开发规范
MySQL数据库与MySQL、SQL等商业数据库相比,在内核上各有优劣 。我们在使用MySQL数据库进行设计开发时,需要遵循一定的规范,扬长避短 。
3.1.1 命名约定
数据库对象命名规则的范围是管理平台设计和开发中涉及的表 。由其他外部系统创建的表不在本规范的范围内 。
表、列、序列、过程、函数等数据库对象应按照以下规则命名:
【强制】名称必须使用有意义的中英文缩写,以字母开头,不能超过32个字符 。
【强制】名称必须使用小写字母,
【必选】数据库对象名称由以下部分组成:范围、类型、名称实体 。每个词汇表由下划线“_”连接 。
【必填】各个数据库对象的范围和类型的具体含义和取值,请参考各个数据库对象的命名规则 。
数据库对象命名规则
【强制】数据库对象的名称不允许是数据库的保留字和关键字 。
id、name、from、age FROM 用户不允许
请参阅保留字和关键字的链接
/ .1.2 库规范
【强制】创建数据库时必须明确指定字符集,字符集只能是utf8或. 创建数据库 SQL 示例:
db1 设置 utf8;
3.1.3 表结构规范
【强制】创建表时,必须明确指定字符集为 utf8 或 .
【强制】创建表时必须明确指定表存储引擎类型 。当需要使用除此之外的存储引擎时,必须经过 DBA 审核,然后才能在生产环境中使用 。由于表支持事务、行锁、崩溃恢复、MVCC等关系型数据库的重要特性,是业界使用最多的MySQL存储引擎 。这是大多数其他存储引擎所没有的,所以它是首选 。
【强制】必须从一开始就创建表,维护数据字典 。类型需要指明主要值的含义,如“0-离线各类学术数据库的使用,1-在线”
【强制】中间表用于存放中间结果集,名称必须以tmp_开头 。备份表用于备份或拍摄源表的快照,名称必须以 bak_ 开头 。定期清理中间表和备份表 。
【强制】对于超过100W行的大表,alter table必须经过DBA审核,并在业务低峰期执行 。因为alter table会产生表锁,在此期间阻塞所有对表的写可能对业务有很大的影响 。
【建议】关于建表时的主键:(1)强制主键为id,类型为int or,is;(2)标识主题的字段表中的每一行不应该设置为主键,建议为其他字段如等设置创建键索引 。因为如果设置为主键,并且主键值是随机插入的,会导致内部页面拆分和大量随机 I/O,性能会下降 。
以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!
「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助:- 梦见别人穿新鞋是什么意思?为你整理的解梦
- 术数指什么 黄帝的身体——《黄帝内经》的人体观念
- 瑞字最佳组合公司名字 带瑞字的公司名字大气
- 所求皆所愿,所行化坦途的意思?
- 江苏跟山东的交接处是哪里?
- 风水堂:看婚姻准的吓人!
- 女孩子的名字该怎么取?起名方法有哪些?
- 企业文化策划的基础市场调研与企业行为识别系统四个方面讨论
- 诗经中比较有寓意的字词取名字,取自老师为你参谋一下
- 仙人掌从小到大的成长过程