当前位置: 首页 > 科技观察

一键交付数据库开发环境的设计思路

时间:2023-03-18 01:45:44 科技观察

近期,由于部分工作内容的调整,我们计划完善开发环境的搭建,让原本免费的环境管理更加合理。简单总结一下,数据库开发环境存在一些潜在的隐患和瓶颈:1)目前公司的数据库开发环境都是业务独立搭建,没有DBA的协助和支持,部分部门会采购专门的服务器部署,有的会复用,有的IDC的服务器资源是碎片化使用的。2)数据库开发环境基本没有备份配置,服务器异常时很难恢复。3)数据库开发环境的版本管理缺乏规划,通常是最新的或者已有的进程在老版本中,上线时会出现功能兼容问题。比如使用了基于JSON的数据类型,但是线上的数据库版本还不支持,或者数据库驱动的升级没有在测试环境中充分测试,导致业务上线。访问异常4)数据库开发环境和测试环境使用混乱。开发环境更偏向于开发者的独立使用。使用权限比较大,比较适合办公电脑。可以进行建表、改表和数据的基本增删改查,测试环境用于基础开发完成后进行功能集成测试,需要应用测试服务器接入整体规划开发环境、测试环境、预发布环境和上线环境,其中开发环境主要基于单机版,主要建设目标是提供高效支持。设计参考事项:1、数据库开发环境的申请流程无需审批,无需填写复杂的表格。2、开发者数据库使用额度,每人最多可申请创建5个数据库,累计存储空间不超过10G,可集中部署多个数据库(如单实例多个数据库等).)3.默认开发环境基于WEB端工具支持,办公电脑访问需要基于Workbench4使用。数据库版本目前提供基于8.0和5.7两个版本,不支持5.5版本。5、数据库基于InnoDB存储引擎,所有表都需要有主键。不建议使用存储过程6.开发环境全部为单机模式,支持数据库恢复,在服务器异常时恢复数据。7、为避免数据库命名混乱和重复,默认数据库命名规则为devdb[序列号],如devdb1、devdb2等。8、例如创建的数据库在一个月内没有使用记录,对应的1个月后自动生成数据库备份存档,释放数据库资源。9、开发环境不支持drop操作,会提供统一的数据库回收站和使用方式10、开发环境不提供时间点恢复。目前默认每天全量备份,保留最近15天的备份文件。11、例如开发环境的自助备份归档,可以支持基于逻辑备份的数据恢复,数据恢复为全覆盖模式。12、开发者数据库隔离,不允许跨库调用和依赖。13.数据库账号基于开发人员域名,忘记密码时可以使用密码重置功能,提供新的随机密码14.开发环境不提供高性能测试支持,仅用于功能开发测试15、运维端不支持在线数据库数据导入开发环境16、数据库的字符集暂定为UTF8。如果有UTF8MB4等字符集,可以由业务方在创建时指定。17.每个实例上的数据库最多可以有50个。总体设计流程如下:本文转载自微信公众号《杨建荣的学习笔记》,可以通过以下二维码关注。转载本文请联系杨建荣学习笔记公众号。