发布网友 发布时间:2022-04-25 12:52
共2个回答
懂视网 时间:2022-05-01 00:16
草拟时间:2015.11.23
制订时间:
修订时间:
本文定义了业务在开发上线发布过程中涉及的数据库相关流程,指引业务人员高效完成数据库上线工作,最终确保上线质量可控。
人员:所有研发人员,运维人员
数据库:业务所有MySQL 数据库
流程内容包含:
数据库申请-->功能开发---功能与性能测试-->提交审核-->运维审核--->上线变更---验证---上线结束
流程负责人员:业务开发人员
自建MySQL新集群申请
主要活动:自建新集群涉及到新服务器申请,需要至少提前1个月与运维接口人进行沟通和申请
申请途径:方案确认后,开发人员 提交申请工单。
托管数据库新实例申请
主要活动:托管数据库 新实例涉及到其他部门资源,业务需要提前一周与运维同学进行沟通
申请途径:
申请模板:
1.业务名称
2.需求背景
3.预估容量大小
4.数据清理规则
5.主要接口人员
6.实例名称与字符编码(默认utf8)
新库,表申请和说明
主要活动:新库表创建申请
申请途径:确认DB服务器信息后,提交工单申请。
申请模板:
1.数据库IP和端口
2.业务名称与需求背景
3.库表信息简要描述说明
流程负责人员:业务开发人员
主要活动: 业务开发必须在开发或测试环境数据库完成SQL脚本功能性开发,库表字段名尽可能做到见名知意,添加必要的备注信息。
流程负责人员:业务开发和测试人员
主要活动: SQL脚本必须在测试环境数据库完成功能性和性能测试,对于可能查询频繁的字段创建好必要的索引。
流程负责人员:业务开发和测试人员
主要活动:
业务上线涉及数据库sql经测试环境功能和性能测试通过后,开发人员在工单系统进行提单,进行数据库发布操作申请。
临时型数据库sql需求,涉及百万以上记录表批量数据只读(select)查询,需要开发人员内部double check并知会到运维人员,无需提交申请单。
涉及到数据变更的需求,需要提交变更需求,走数据库变更流程。
申请途径:
库表结构修改的需求需提前一天或者选择一个访问量小的时候,全部放到上线时候处理,会对上线过程造成影响。
提交变更语句。
流程负责人员:业务运维人员
主要活动:运维人员收到数据库变更工单后,第一时间对变更单内容进行审核,审核通过即可配合进行变更操作,审核不通过需打回进行内容修改,重新提单。
运维审核阶段,运维人员需要关注表字段命名是否合理,是否能根据名称确定表的含义与用途:
1.sql语法是否存在错误
2.表是否创建主键,是否创建索引
3.update,delete等修改数据的条件是否合理
4.帐号申请的操作权限是否是必要的,比如drop,alter,delete权限。
5.insert,update,alter等语句是否合理,针对一个表的表结构修改操作在一个语句中完成,数据update和delete是否有where判断条件。
流程负责人员:业务运维人员
要求上线申请提交的sql命令或文件明确指定操作的数据库和表以及编码。
流程负责人员:流程涉及的所有人员
主要活动:运维上线变更完毕后,由运维人员进行初步确认,由开发,测试人员进行二次变更确认。
流程负责人员:业务运维和需求发起人员
主要活动:变更确认通过后,运维人员 结单操作,需求发起人知会提单人本次数据库功能上线流程结束。
1.未按照流程进行变更
2.非授权行为进行变更
对于违反数据库开发上线流程行为未造成影响的,QA记录过程偏离。
对于违反数据库开发上线流程行为并造成一定影响的,记录线上问题单并持续跟踪。
对于违反数据库开发上线流程行为并造成明显影响的,按照公司BG及部门相关处罚规定处理。
1.修订
通过与业务方人员沟通对数据库上线流程进行草拟修订。
2.发布
流程内容修订后,发布最新内容及变更内容邮件通知全体研发人员。
业务功能变更涉及sql:
1.业务中sql语句由开发和测试人员在开发测试阶段把控,本文不涉及相关流程。
2.核心业务 系统重大版本变更,概设文档需要含数据库设计通知到运维人员
2. 变更SQL需要在测试结束提交给运维人员确认变更时间和审核内容。
可裁剪情况说明
1.已存在数据库配置时无需申请环节
2.开发测试环节在业务进度较紧张时可以同时进行
3.审核和变更环节在操作上可以合并进行
4.变更范围较小,数据少时验证通过,无需对外通知。
5.非核心DB部分操作,可根据紧急程度进行先操作后补单流程。
业务数据库开发上线流程v1.0
标签:数据库开发 数据库服务
热心网友 时间:2022-04-30 21:24
这是一个非常复杂的问题。建议这位网友去看看有关软件工程的书籍。当然,看书是一件非常烦闷的事情,在这,尽管试试将我的经验写一点吧。