数据库开发环境的治理方案设计

运维 数据库运维
我们一般涉及测试环境,预发布环境和线上等环境的管理,而开发环境的管理相对松散,为此我整理了一下开发环境的使用现状。

 [[437681]]

最近在和研发同学聊天的时候发现他们有一套数据库开发环境,严格的说这是一套混合环境,算是开发和测试环境的合体。其中负责管理这套环境的研发同学已经受不了了,不禁发出了感叹:什么事情都找我,我又不是DBA.

因为研发侧的数据库连接池满了也找他,数据库连不上了也找他,跑了这些年,数据库还从来没有备份过。

我们一般涉及测试环境,预发布环境和线上等环境的管理,而开发环境的管理相对松散,为此我整理了一下开发环境的使用现状。

整体而言,开发环境主要是为了提升开发效率,更方便的使用,主要是对于办公机开放,对权限的管理是相对松散的,为此这些年我看到过很多特殊的情况:

1)有的研发部门会自购服务器安装数据库,有些情况下安装部署不上,还会找我们友情支持

2)有的研发部门会在一台服务器上面ALL IN ONE的部署,各种服务堆在一个服务器上面,一荣俱荣,一损俱损。

3)很多开发环境数据库是安装在Windows上面的,有的还是32位的,而我们在Windows平台的MySQL数据库运维经验几乎为0

而测试环境的管理是相对会谨慎一些,尽可能只开放测试服务器的权限,部分权限的使用是需要审批机制的。

开发环境到测试环境需要贯穿表结构的同步和数据同步,这样一来一去,就能够实现更快速的发布和管理。

为此,我整理了下当前的情况,整个数据库的情况比想象的还要乱一些,比如数据库只用了一个root账号是对所有业务开通的,数据库连接池配置了150个连接,也难怪很多业务反馈时常连不上数据库,而更多的运维管理操作更是无从说起。

为此,做了如下的方案设计:目前有些研发侧同学对于开发环境,测试环境的概念是比较模糊的,那么我们就需要做一些前置的工作,把这个概念解释清楚,然后对一些业务做拆分,有些是开发业务,那么就完全可以通过自助化的开发环境交付来实现,如下图中的开发环境管理区域,而测试环境我们可以单独分配一台服务器,可以根据业务大类来做一些拆分。

从访问层面,测试服务器是不能访问开发数据库的,这也是我们整体设计的一个边界。

尤其是开发环境的管理,是我们需要着力改进的目标,有三个层面的实现难点,一个是对于虚拟化资源的管理,第二个是对于数据库权限的管控,比如收到不少业务的需求,希望能够在一个共同的数据库实现开发,也就意味着权限的设计方面需要做一定程度的共享设置。第三个是数据的双向同步,比如开发环境和测试环境的表结构映射,数据同步等。

最近在做的数据库环境标准化管理,仔细想想还是一步大棋,要涉及的层面也很多,需要做中长期的规划和推进。

本文转载自微信公众号「杨建荣的学习笔记」,可以通过以下二维码关注。转载本文请联系杨建荣的学习笔记公众号。

 

责任编辑:武晓燕 来源: 杨建荣的学习笔记
相关推荐

2021-06-09 18:52:05

方案设计库存数

2022-06-23 07:34:58

云原生数据库

2021-06-30 22:03:05

数据库交付设计

2022-08-20 07:28:44

​数据地图大数据数据血缘

2023-10-25 16:31:50

云原生数据治理

2010-07-27 09:51:02

DB2数据库

2009-05-26 11:24:00

2010-08-25 17:18:10

DHCP服务器

2019-10-29 16:02:14

开发者技能工具

2023-04-12 08:43:25

2022-04-29 10:53:37

计算实践方案

2022-12-15 09:44:29

数据库利器

2010-04-14 15:58:17

Oracle程序开发

2023-07-13 11:03:12

2022-05-10 00:03:48

业务存储结构方案

2023-04-03 07:49:11

大数据数据治理

2017-09-26 13:35:40

Mysql数据库设计树状数据

2011-03-10 11:12:59

数据库

2011-03-10 11:17:03

数据库设计技巧

2011-04-15 13:28:44

数据库设计
点赞
收藏

51CTO技术栈公众号