这算是一个新的系列,记录我们是怎么在一个一穷二白的状态下,开始搭建一个互联网企业的数据库管理系统,与思路,希望也能在这个维度认识更多的朋友和愿意沟通和分享的同学,本人的微信号 liuaustin3,有想加群的同学可以加我的微信,建立一个这样的群,来共同研究和探讨系统的搭建。 我们也会及时分享部分的代码和搭建的思路。
实际上做一个数据库运维管理系统是一件困难的事情,摆在我们面前的有几座大山。
1 公司的支持,在大部分公司的眼里是不会允许你做这个事情的,主要内在原因是,这样做费力不讨好,我们可以购买现成的管理系统,虽然那些系统有各种各样的问题,但是我雇佣多少人在多少时间的维度能搭建起来这样的系统,都是未知数,公司的管理者是不会允许你这样搞的。成本不可预估,成效不可预估,那个公司的领导会做这样的事情,尤其在现在社会都在短视的情况下,所以一个公司愿意投入资源,给你做这个事情,那必然这个公司的领导考虑的是长远的利益,并且有资源可以给你投入,缺一不可。
这算是地利
2 人员资源的支持,做这个系统首先要有一个整体化的思维模式,并且不是固话的,市面上的数据库管理系统很多,大多是从技术的角度出发的,这样的系统好处是,很专业,不好的地方是,很多东西是用不到的,或者是花架子,原因很简单,编写这些系统的人员很多都不从事这个工作,进而导致编写的系统偏离实用的轨道,在甲乙方的市场上可以进行售卖,但那些甲方大多是不懂这项技术的。所以有这么一批愿意做这个事情的人就变得重要了,至少这批人是不愿意躺平的,愿意有继续发展的。
这算是人和
3 搭建一个数据库管理系统更重要的是,公司的规模,如果是小规模的公司,你打死他也不会有这样的需求,超大的公司要不就是买要不就是已经有了这样一套系统,所以你能有这样一个机会,公司没有这样的系统,也不是小公司,这算是天时。
所以要做一个数据库运维管理系统本身,在机会上就是一件很困难的事情,借此天时,地利,人和,三者凑齐更是困难,所以有这样的机会,哪里能let it go,反正我是不想躺平,还希望每天有新的太阳☀。
通过整体的系统的规划,搭建,以及从中吸取的经验教训,将是职业生涯中一个重要的阶段。
这边大致画了一下相关的系统中的模块化设计的类型,
第一个是 系统的层次
1 核心信息存储层
2 信息管理调用层
3 任务执行层
4 数据收集层
5 信息展示层
第二个是 系统的功能方面
1 数据库本身功能
2 业务特殊需求功能
第三个是 职能
1 管理职能
2 任务执行职能
3 信息管理和展示职能
做这个系统本身的目的很简单,提高整体公司对于数据库资产的管理力度,同时降低DBA 的劳动强度和无效劳动,将时间转移到更有意思的事情和研究和问题的解决上,从个人的提高上,整体从项目管理,人员协调,技术管理,需求管理,等都是整体的提高,而不单纯是某个数据库技术的提高。
公司也比较投入,UDB,前端,后端,以及架构方面都有相关的支持。
后面会根据这些模块,一个接一个的进行,这个系列就是记录整体系统的搭建和出现问题的处理,以及处理问题的系列。