Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从生命周期的角度来规划数据库运维体系

从生命周期的角度来规划数据库运维体系

作者头像
jeanron100
发布于 2021-01-13 02:06:56
发布于 2021-01-13 02:06:56
1.2K0
举报

最近在和团队规划OKR目标的时候,我们讨论了很多问题,我先抛砖引玉,列举了一些现有的问题,打算按照推导的方式:

1)列举当前问题

2)问题归类和总结

3)梳理现有经验和现有方案

4)结合时间/性价比得到一定时期的预期目标。

整体来看,工作量还是蛮大的,再加上大家对于问题的理解角度不同,所以在容易在很多细节上讨论太多,难以聚焦。

所以我想了下,准备按照生命周期的维度来进行考虑,于是整理了一版设计图,整体是分为四个层面,也就是按照业务从申请资源和权限,到服务上线,服务优化,最后是相关的服务数据迁移和流转。

整体设计下来,我们会发现很多考虑中不足的地方和遗漏的角度。在多次提炼之后,我把这个设计图调整为如下的模式:

我来逐个解释下:

1)规范/选型/规划:这个阶段更强调整体,很多问题如果直接从基础运维入手,其实就已经晚了,有些服务质量差,交付时间长,本质上还是前期的基础建设不够扎实,所以这是一个互惠互利的关系,比如开发规范的设计和落地执行,架构设计(如分布式架构设计),技术选型(如MySQL 8.0适配的中间件技术调研,ClickHouse技术调研,TiDB技术选型,MyRocks存储引擎测试分析等),SQL审核(已有审核服务的升级和改进等),高可用(重中之重,涉及健康检查脚本,Consul服务快速切换,数据库高可用方案预研测试等),基础服务(如监控,报警和任务调度等相关服务),基础设置(如抛弃CentOS_6等低版本,磁盘配置统一为SATA-SSD等类似的方式)

2)基础运维:涉及资源交付(包括上下线,资源扩容等),权限交付(申请账号,账号权限变更,账号回收等),安装部署(如数据库软件安装部署,初始化),基础配置(基础配置,如ntp,crontab等),备份恢复(按照数据备份数据恢复的基础维度实现基本备份集,基于时间点的数据恢复)

3)运维优化:对象变更(需要演进为自动化上线模式),对于大表变更需要集成在线变更工具来实现,此外,重点是做一些相关的优化,如参数优化(如数据库优化参数,基础配置适配),对象优化(数据表优化,索引优化),SQL优化(执行计划优化,索引建议等),配置优化(系统配置,服务配置优化等)

这三个维度做好之后,其实会发现一些还是会恨吃力,那就涉及到数据迁移和数据流转,数据本身是在不同类型的环境间流转的,如何保证数据能够稳定,准确的流转也是重要的目标。

4)数据迁移和数据流转,数据迁移主要实现一键式数迁移,主要包括两个个方面:

(1)一键式数据库迁移,从1个服务器迁移到另外一个服务,一键实现

(2)数据库版本升级,如从MySQL 5.5升级到5.7,从5.7升级到8.0等,可以一键实现

此外,数据流转到数据仓库大数据,如何高效稳定的支持,如何实现实时的数据流转机制和多环境间的快速迁移/同步也是重点目标。

对于技术底座而言,首要的目标就是文档,文档可以从上面的四个维度拆分为多种文档,如规范设计文档,预研文档,方案设计文档,操作文档,案例文档等。

接下来的服务的交付都应该统一为API的模式,演进可以从脚本到工具,从工具到API的路径来演进。

底座的两大分支是云平台建设和服务建设,云平台建设覆盖面更大,提供的是产品化思维的服务交付,对于技术架构和开发效率的要求较高,这部分不能好高骛远,还是得结合自身情况来提供强大的动力,其中,元数据建设是核心目标,在这个层面元数据要集成,实现流程化管理。

而右侧的服务建设更贴近后端服务,从生命周期的角度来进行实例,数据库,表,字段,索引层面的周期性管理,而提供的辅助服务则是更加贴近运维实际的,比如慢日志优化,巡检服务和故障自愈,和业务侧是一种半透明的开放形式。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记
  • Github:@jeanron100
  • CSDN:@jeanron100
  • 知乎:@jeanron100
  • 头条号:@杨建荣的学习笔记
  • 网易号:@杨建荣的数据库笔记
  • 大鱼号:@杨建荣的数据库笔记
  • 腾讯云+社区:@杨建荣的学习笔记
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何使用TCGAbiolinks下载TCGA数据并整理
一般来讲,我们想要使用TCGA数据,大概有三种方法,一是直接从GDC官网或官方下载工具gdc-client下载文件后自行处理,二是使用数据库如UCSC Xena或Firehouse,三是使用TCGAbiolinks R包自动下载并处理。
叶子Tenney
2023/03/24
7.8K11
如何使用TCGAbiolinks下载TCGA数据并整理
编写Linux Shell脚本的最佳实践
由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总觉得难以阅读。毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用。因此很多人在写的时候也是想到哪里写到哪里,基本上都像是一段超长的main函数,不忍直视。同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。 考虑到上面的这些原因,我查阅了一些相关的文档,发现这些问题其实很多人都考虑过,而且也形成了一些不错的文章,但是还是有点零散。因此我就在这里把这些文章稍微整理了一下,作为以后我自己写脚本的技术规范。
用户5807183
2019/07/15
1.1K0
编写Linux Shell脚本的最佳实践
mask rcnn实现教程
链接:https://pan.baidu.com/s/1htJYyNy 密码:0r2b
全栈程序员站长
2022/11/09
6720
mask rcnn实现教程
TCGA-miRNA数据整理
引言 之前介绍过 如何使用TCGAbiolinks下载TCGA数据并整理 , 那么如果手动整理又该如何呢? 下面以 miRNA 数据整理为例示范. 效果展示 过程 输入文件 随便下载一些数据, 下载格
叶子Tenney
2023/05/15
1.5K0
TCGA-miRNA数据整理
MaskRCNN 何凯明_cnn应用
本文介绍了Mask Rcnn目标分割项目的搭建及运行过程,并对搭建过程中可能出现的问题进行了解答。
全栈程序员站长
2022/11/10
1.1K0
MaskRCNN 何凯明_cnn应用
Python文件与目录-os模块和shutil模块详解
os模块和 shutil模块是Python处理文件/目录的主要方式。os模块提供了一种使用操作系统相关功能的便捷方式,shutil模块是一种高级的文件/目录操作工具。
唔仄lo咚锵
2021/09/14
6540
Python文件与目录-os模块和shutil模块详解
python包合集-shutil
  shutil是 python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建、删除、查看等方法,还提供了对文件以及目录的路径操作。shutil模块提供了移动、复制、 压缩、解压等操作,恰好与os互补,共同一起使用,基本能完成所有文件的操作。是一个非常重要的模块。
Se7eN_HOU
2022/09/23
3660
【二】AI Studio 项目详解【VisualDL工具、(二)环境使用说明、(二)脚本任务、图形化任务、在线部署及预测】PARL
Code Cell是Notebook的代码编写单元。用户在Code Cell内编写代码(支持Python2、Python3)和shell命令,代码/命令在云端执行,并返回结果到Code Cell.
汀丶人工智能
2022/12/01
7670
【二】AI Studio 项目详解【VisualDL工具、(二)环境使用说明、(二)脚本任务、图形化任务、在线部署及预测】PARL
Python之文件操作大全
在日常工作或生活中,总避免不了需要操作文件或文件夹,比如希望找出电脑中所有临时文件并清除,或者找到指定文件夹内所有图片文件并进行重新命名等等,如果能通过Python脚本的方式解决,会大大提升相关操作效率,本文即总结使用Python进行常见操作相关知识点,方便用到的人随时查阅,不用再每次使用都要花费时间检索或查阅文档。本文主要使用os、shutil、pathlib三个包。
全栈程序员站长
2022/08/23
4660
第2章:SVM(支持向量机) - 编码
作者:Savan Patel 时间:2017年5月5日 原文:https://medium.com/machine-learning-101/chapter-2-svm-support-vector-machine-coding-edd8f1cf8f2d
iOSDevLog
2019/04/23
5150
第2章:SVM(支持向量机) - 编码
读书笔记02-可重复工作执行简明指南(上)
最近读了 Karl Broman[1] 的initial steps toward reproducible research (kbroman.org)[2],颇有感悟,结合自己阅读时候的体验,分享给你们。
北野茶缸子
2021/12/26
2860
读书笔记02-可重复工作执行简明指南(上)
如何查找符合标准的投稿目标
发表论文一般需要三步,写,投,改。好不容易定好了题,好不容易算完了数据,好不容易改完了稿,却不知道如何选择最适合自己的期刊,实在有一些可惜。因此,对本领域发文情况做一次检索是非常必要的。
叶子Tenney
2023/04/01
8810
如何查找符合标准的投稿目标
Python中的系统内置模块#学习猿地
> 序列化是指可以把python中的数据,以文本或二进制的方式进行转换,并且还能反序列化为原来的数据
学习猿地
2020/03/17
1.2K0
Python中的系统内置模块#学习猿地
第4天生信学习笔记-微信公众号生信星球
2.服务器可以配置自己的Rstudio,供大家远程登陆,用浏览器打开后面加上:8787就可以登录,但是阿里云并没有自带,用自己电脑完全可以。
用户10986402
2024/02/23
1670
Day4_R语言基础—CG
从RStudio官网下载MacOS版本RStudio安装包。对于MacOS,安装选择默认路径即可。
Crazy_George
2024/03/26
1540
python模块之shutil
shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中
菲宇
2019/06/13
1.1K0
编写一个网易云音乐爬虫程序
本次借助wxPython编写一个网易云音乐的爬虫程序,能够根据一个歌单链接下载其下的所有音乐
冰霜
2022/03/15
1.2K0
编写一个网易云音乐爬虫程序
窃取Chrome浏览器密码
全称Data Protection Application Programming Interface,Windows系统的一个数据保护接口,主要用于保护加密的数据,常见的应用如:
Gh0st1nTheShel
2021/11/23
1.6K0
社交网络分析的 R 基础:(一)初探 R 语言
3 年的硕士生涯一转眼就过去了,和社交网络也打了很长时间交道。最近突然想给自己挖个坑,想给这 3 年写个总结,画上一个句号。回想当时学习 R 语言时也是非常戏剧性的,开始科研生活时到处发邮件要源代码,发完最后一封本以为又是无功而返,很意外的收到了秒回的邮件,邮件中附上了由 R 语言编写的实验代码。当时过于开心,因为终于有热心的作者回复了,以至于没有仔细考虑,想都没想对着满是警告的代码开始了 R 语言学习之旅。之后的几天陆陆续续的收到了其他作者的回复,实验代码多是使用 Python 构建的,好吧只能咬咬牙继续了。当时的学习苦于资料太少,唯一的参考只有那份 R 语言实验代码,因此萌生了写一份站在社交网络分析角度的 R 语言教程。《社交网络分析的 R 基础》中所介绍的内容都是最新的技术,Visual Studio Code 在半年之前甚至无法调试 R 语言,代码规范遵循 Google's R Style Guide。该系列博客一共包含六篇文章,具体的目录如下:
张高兴
2022/05/09
9080
社交网络分析的 R 基础:(一)初探 R 语言
分享6个实用的Python自动化脚本
每天你都可能会执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本,就无需手动一次又一次地完成这些任务,非常方便。而在某种程度上,Python 就是自动化的代名词。今天分享 6 个非常有用的 Python 自动化脚本。
somenzz
2021/12/02
2K0
分享6个实用的Python自动化脚本
相关推荐
如何使用TCGAbiolinks下载TCGA数据并整理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档