[[437681]]
最近在和研发同学聊天的数据设计时候发现他们有一套数据库开发环境,严格的库开说这是一套混合环境,算是发环方案开发和测试环境的合体。其中负责管理这套环境的治理研发同学已经受不了了,不禁发出了感叹:什么事情都找我,数据设计我又不是库开DBA.
因为研发侧的数据库连接池满了也找他,数据库连不上了也找他,发环方案跑了这些年,治理数据库还从来没有备份过。数据设计
我们一般涉及测试环境,库开预发布环境和线上等环境的发环方案管理,而开发环境的管理相对松散,为此我整理了一下开发环境的使用现状。
整体而言,开发环境主要是为了提升开发效率,更方便的使用,主要是对于办公机开放,对权限的管理是相对松散的,为此这些年我看到过很多特殊的情况:
1)有的研发部门会自购服务器安装数据库,有些情况下安装部署不上,还会找我们友情支持
2)有的研发部门会在一台服务器上面ALL IN ONE的部署,各种服务堆在一个服务器上面,一荣俱荣,一损俱损。
3)很多开发环境数据库是安装在Windows上面的,有的还是32位的,而我们在Windows平台的MySQL数据库运维经验几乎为0
而测试环境的管理是相对会谨慎一些,尽可能只开放测试服务器的权限,部分权限的使用是需要审批机制的。
开发环境到测试环境需要贯穿表结构的同步和数据同步,这样一来一去,就能够实现更快速的发布和管理。
为此,我整理了下当前的情况,整个数据库的情况比想象的还要乱一些,比如数据库只用了一个root账号是对所有业务开通的,数据库连接池配置了150个连接,也难怪很多业务反馈时常连不上数据库,而更多的运维管理操作更是无从说起。
为此,做了如下的方案设计:目前有些研发侧同学对于开发环境,测试环境的概念是比较模糊的,那么我们就需要做一些前置的工作,把这个概念解释清楚,然后对一些业务做拆分,有些是开发业务,那么就完全可以通过自助化的开发环境交付来实现,如下图中的开发环境管理区域,而测试环境我们可以单独分配一台服务器,可以根据业务大类来做一些拆分。
从访问层面,测试服务器是不能访问开发数据库的,这也是我们整体设计的一个边界。
尤其是开发环境的管理,是我们需要着力改进的目标,有三个层面的实现难点,一个是对于虚拟化资源的管理,第二个是对于数据库权限的管控,比如收到不少业务的需求,希望能够在一个共同的数据库实现开发,也就意味着权限的设计方面需要做一定程度的共享设置。第三个是数据的双向同步,比如开发环境和测试环境的表结构映射,数据同步等。
最近在做的数据库环境标准化管理,仔细想想还是一步大棋,要涉及的层面也很多,需要做中长期的规划和推进。
本文转载自微信公众号「杨建荣的学习笔记」,可以通过以下二维码关注。转载本文请联系杨建荣的学习笔记公众号。
责任编辑:武晓燕 来源: 杨建荣的学习笔记 数据库理方案
(责任编辑:娱乐)
ST地矿(000409.SZ):拟向关联方兖矿集团借款不超12亿元 构成关联交易
老头乐电动车即将走向“灭亡” 腾出来的“蛋糕”该怎么分? -
云南省国资委印发《关于加快推进绿色国资建设的实施意见》 推进示范引领
乘联会发布5月重点新车预告 银河L7/新雅阁/瑞虎9在列 -
长安汽车将成立东南亚事业部 未来将推出至少30款全球产品 -