目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的。这些数据库的基础特性都和社区版的PG数据库类似,不过也做了一定的拓展。不过从使用与运维上,它们的很多特性都与社区版PG十分类似。

过节前我和PG中国社区合作搞了一个关于如何使用D-SMART来运维PG数据库的线上直播,正好我的一个金融行业的客户听了我的介绍,打电话过来聊了聊。他们正在做数据库信创的选型,也试用了多个国产数据库,最后他们准备选择TDSQL。当时我觉得有点意外,他们从2020年就开始在做国产数据库选型,不过好像最初使用TDSQL后的感受并不太好。后来经过沟通才了解到,他们刚开始使用TDSQL的分布式数据库,发现对研发要求太高,所以后来就全部选择TDSQL的集中式MYSQL实例,用下来发现挺好用的。整个数据库云的节点数也从最初的十几个扩展到了大几十个。

无独有偶,昨天和另外一个金融客户在微信上聊了聊数据库信创选型的事情,他们最终也选择了TDSQL。和另外一个客户相似的是,他们也是选择了TDSQL的MYSQL集中式数据库实例。他们目前已经迁移了数十套数据库上去,大多数都是几十GB到几百GB的小库。他们觉得,小数据库,直接迁移到TDSQL的云平台上,使用起来十分便捷,TDSQL的数据库云管平台和运维工具基本上已经能够满足他们日常运维的需要了。

通过交流我觉得,这两个客户选择TDSQL,并不是因为TDSQL作为数据库有多优秀(TDSQL实际上不是一个数据库,而是一个数据库云平台解决方案,关于TDSQL今后有空,我会写一篇详细介绍),而是其数据库云管平台对于纳管大量的小型数据库实例,做的十分到位,用户选择它,并不是从数据库技术来考虑的,而是从使用的便捷性与可靠性来考虑的。

从客户选择TDSQL的理由,我们再来看看PG数据库的运维。泛泛的谈PG数据库的运维是个十分庞大的话题,因为不同的客户有其特殊的应用场景,对PG数据库的运维管理方式也有较大的差异。更为复杂的是,和我所说的这两个选择TDSQL的客户不同的是,PG数据库既有小型数据库,也有十分大型的数据库系统。有些客户在搞信创替代的时候,是把Oracle数据库1对1做替代的,很多数据库的热数据都超过数个TB。面对规模差异极大,运维要求不同的应用场景,运维工具要想适应千差万别的应用场景,确实是需要精心设计的。

PG数据库在国内的应用这两年发展的很快,再加上很多国产数据库也是以PG开源项目作为基础研发的,在应用、运维上十分相似,因此我们也可以把它们归类为PG类的数据库产品。

目前的国产数据库中,很多产品都是以PG社区版代码作为研发起点的,还有一些产品是基于openGauss开源项目的。这些数据库的基础特性都和社区版的PG数据库类似,不过也做了一定的拓展。不过从使用与运维上,它们的很多特性都与社区版PG十分类似。

还有一些数据库产品也和PG有着直接的关系,不过大部分基于PG的分布式解决方案PGXL/PGXC或者CITUS。比如腾讯的TBASE,南大通用的GBASE 8C分布式版本、亚信的ANTDB,虚谷数据库等。这里就不做仔细的罗列了。这些数据库的某个实例也是一个PG数据库,对某个具体的实例也可以看做是PG数据库实例,只不过在运维分布式数据库的时候,需要更加关注整个集群与网络的问题,在运维上区别还是很大的。

概括的说,PG数据库的运维需求分为五个方面,日常监控、故障预警、自动化巡检、性能优化和故障诊断。

有些企业已经在把一些核心系统在向PG类数据库迁移了,对于这些系统,日常就有监控的需求。因此一个数据库运维工具需要具备的最基础的能力就是监控能力,能够通过运维工具随时了解数据库实例的总体运行状态。D-SMART是通过健康模型来展示数据库的运行状态的。除此之外,如果我们在一些重大日期要做值守(比如企业的年终决算,国庆节等专项值守等),那么我们就还需要一些能够支撑关键系统值守的工具。

在D-SMART中,围绕数据库运维我们提供了“监控中心”、“日检中心”、“告警中心”、“性能优化中心”、“报告中心”、“容量管理中心”、“安全中心”、“工具中心”这几个中心化的功能组合来满足不同用户,不同应用场景的用户的需求。

对于日常监控功能,D-SMART提供了“今日看板”、“我的监控”、“关键SQL监控”这三个主要的运维监控工具。今日看板可以集中查看用户监控的数据库的综合信息,“我的监控”允许用户用传统的监控方法去定义自己想要监控的指标,用于重大护航监控。而“关键SQL监控”则是为企业核心业务系统提供的专项监控工具。当某个核心业务系统的关键SQL出现问题的时候(比如执行速度变慢,执行计划变化等),能够及时告警,确保核心业务的安全运行。

对于大量的小型的数据库实例,全面监控是不太现实的。如果一个十几人的团队要运维数百上千个数据库实例,那么最这些数据库进行全面监控既不必要,也不可能。因此这种运维场景应该把大量的监控工作变成自动化任务,由监控系统自动完成。

“数据库日检”是一个十分有效的自动化运维工具,每天半夜针对数据库的运行数据以及一些规则自动做分析,并形成言简意赅的日检总结报告,运维人员上班后直接阅读这些报告就可以了解自己运维的数百个数据库实例中存在的一些常见问题,从而可以确定当天或者近期是否需要对某些数据库实例做相应的变更。

当我们需要运维大量的小型数据库实例的时候,预警也变得十分困难了。传统的“基线告警”的效果就变得十分鸡肋了。除了数据库实例宕机以外,其他的预警很难做的精准。海量的告警信息会让预警变得毫无意义。因此基于故障模型的“运维经验告警”变得尤为重要。通过专家经验与以往的经验构建的复杂的规则不仅能够更为精准的预警,也能让告警产生后,运维人员可以更加快速的定位问题,消除隐患。

“数据库巡检”是广大DBA都觉得十分鸡肋的功能,最主要的问题在于这项工作必须做,但是做一次真正到位的巡检既需要大量的专业DBA参与,又需要做大量的重复劳动,总的看来,性价比并不高。另外一方面,全面高质量的巡检又能够帮助我们发现一些系统隐患,有助于实现防患于未然。针对这个矛盾,如果能够实现高质量的自动化巡检,那么问题就迎刃而解了。几个月前,我们帮助一个用户做了一次远程巡检,用户把D-SMART采集的监控数据发给我们实验室,我们的数据库专家利用远程数据产生的巡检报告,对近30套数据库系统进行了一次远程会诊,帮助用户发现了各类问题两百多个,而这些工作仅仅花了不到2个人天。通过自动化手段,如果能够把数据库巡检的效率提高了,那么巡检工作也就不会这么鸡肋了。

除了巡检之外,一些审计工作也十分关键,比如安全审计、容量审计、SQL审计等。因为这些审计需要十分专业的技能,另外工作量也很大,因此在面对大量的数据库实例的时候,也和巡检一样变得十分鸡肋,要想做到位成本太高,做不到位等于不做。不过这些工作如果能够由自动化工具自动完成,那么也就能够发挥出十分重要的作用了。

实际上除了这些运维监控工作之外,大量的数据库实例的管理工作还有很多自动化操作是DBA十分需要的,这也是我开始说的那两个客户选择TDSQL的主要原因。管理海量的数据库实例,数据库云平台是必选项,只不过这些自动化管理功能本身就十分复杂,根据企业特点构建独立的数据库云平台本身就是一个大工程。当然,如果企业云平台的RDS服务就能够满足你的数据库应用需求了,那么直接使用云平台的RDS就够用了。当然面对现在的信创需求,需要企业的RDS需要不仅仅支持开源的MYSQL/PG数据库,也要支持国产数据库产品。​

原文来自:https://www.51cto.com/article/743778.html

本文地址:https://www.linuxprobe.com/pg-mysql.html

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/

PG数据库运维工具要覆盖哪些能力的更多相关文章

  1. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

  2. 企业级自动化运维工具应用实战-ansible

    背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...

  3. 项目实战10.1—企业级自动化运维工具应用实战-ansible

    实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...

  4. 自动化运维工具——ansile详解

    自动化运维工具——ansible详解(一) 目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ...

  5. 企业级自动化运维工具应用实战ansible

    公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大 ...

  6. 自动化运维工具-Ansible之2-ad-hoc

    自动化运维工具-Ansible之2-ad-hoc 目录 自动化运维工具-Ansible之2-ad-hoc Ansible ad-hoc Ansible命令模块 Ansible软件管理模块 Ansibl ...

  7. 自动化运维工具-Ansible之1-基础

    自动化运维工具-Ansible之1-基础 目录 自动化运维工具-Ansible之1-基础 Ansible 基本概述 定义 特点 架构 工作原理 任务执行模式 命令执行过程 Ansible 安装 Ans ...

  8. CheungSSH国产自动化运维工具开源Web界面

    CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...

  9. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  10. 自动化运维工具之ansible

    自动化运维工具之ansible   一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

随机推荐

  1. 跟我学Python图像处理丨带你入门OpenGL

    摘要:介绍Python和OpenGL的入门知识,包括安装.语法.基本图形绘制等. 本文分享自华为云社区<[Python图像处理] 二十七.OpenGL入门及绘制基本图形(一)>,作者:ea ...

  2. 发送http2请求

    有时服务器会检测http协议版本,有http/1.1和h2,requests发送的是http1.1的请求 # pip install httpx client = httpx.Client(http2 ...

  3. Dubbo架构设计与源码解析(三)责任链模式

    作者:周可强 一.责任链模式简介 1.责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对 ...

  4. 万字干货! 使用docker部署jenkins和gitlab

    阅读本文, 需要有基础的Git, Linux, Docker, Java, Maven, shell知识, 并最少有一台内存16G以上并已经安装好了Docker的机器. 1. 概述 2. 容器互联 3 ...

  5. centos7.6在防火墙放开端口

    假设要在centos7.6防火墙上开启443端口 前言:文章内容可能会因环境不同而有所差异,所谓集思广益说不定灵感就来了呢; 文章初衷旨在交流学习.记录个人成长,如果能帮助到您,那就点个赞噢. 1.查 ...

  6. Mac上安装brew的那些坑

    macOS11.1 入坑! 网上看了一下午的帖子,包括官网,重装command line tool,修改brew_install文件,报错443,Faild during:git getch错误 脱坑 ...

  7. 01-逻辑仿真工具VCS使用

    1 逻辑仿真工具VCS的使用 在书写完成RTL代码之后,确保自己书写的代码和自己想要的逻辑是一致的. VCS是synopsys公司下的的仿真工具. 1 VCS仿真过程 编译-->仿真--> ...

  8. Flutter帧率监控 | 由浅入深,详解获取帧率的那些事

    前言 做线上帧率监控上报时,少不了需要弄明白如何通过代码获取实时帧率的需求,这篇文章通过图解配合Flutter性能调试工具的方式一步步通俗易懂地让你明白获取帧率的基础知识,以后再也不愁看不懂调试工具上 ...

  9. echarts图表配置

    1.柱状图 option = { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] ...

  10. Unity打包资源,进行后台加载

    Unity打包资源,进行后台加载 需要项目优化的pa you,这边走:Unity项目优化--Web版 一.前言 因为在下载Three.js,所以趁着这个时间写一下资源打包加载吧 小黑在刚开始学习Uni ...