近年来,央国企信息系统的数据库升级改造正在如火如荼进行,随着数据规模日益增长、数据类型不断丰富,企业需要纳管的多源异构数据库实例愈发庞大,如何在DBA人员不快速增长的背景下,高效运维管理庞大的数据库资产,确保良好的业务连续性,成为央国企目前面临的重要挑战。为解决包括部署上线周期过长,异构数据库技术栈复杂,运维管理要求过高等困境,统一纳管多种类型的数据库、满足自动化安装部署、监控巡检、备份恢复、高可用、资源和租户管理等需求的数据库管理平台应运而生。
数据库管理平台是指面向数据库管理员、数据库开发人员或IT管理人员,为应对企业混合多元的数据库环境,实现数据库安装部署、开发、维护、优化的全生命周期统一管理,以提升工作效率和管理质量的软件系统。通过引入数据库管理平台,企业可以实现数据库资源整合、敏捷智能运维以及后续技术路线的平滑迭代演进。提供数据库管理平台产品的企业通常分为三种,即独立的数据库厂商、公有云厂商和以提供数据库服务为主的IT服务商,其提供的数据库管理平台通常具有如下特点。
从功能实现层面看,数据库管理平台应该支持安装部署、性能分析及优化、健康检查、高可用、运维管理、备份恢复、安全管理、查询语句执行、平台租户管理、兼容性、平台基础能力和平台资源管理能力等主要功能。
图1 数据库管理平台技术架构图
面向央国企用户,建议可以从如下技术细则进行选型参考。
1.数据库管理平台的安装部署能力建议如下:
应支持一键部署或向导式部署,支持数据库架构的安装部署,如单实例、主备、集群等;支持对数据库安装部署环境进行质量检查,输出环境检查信息;
宜(推荐)支持批量部署,支持数据库安装失败的自动回滚清理操作;支持定义自动化安装部署模板,如参数模板、配置模板、文件仓库等;支持数据库安装部署过程中的自定义脚本;支持数据库内部默认参数的配置。
2.数据库管理平台的性能分析及优化能力建议如下:
应支持多种数据库的性能数据获取与分析,包括TPS、QPS、连接与会话、IO、内存、缓存等指标;支持TOP SQL、TOP会话、TOP对象分析、关系型数据库的SQL分析、锁分析、会话分析、性能分析可视化展示;支持基于性能分析结果的查询语句优化和数据库参数优化,快速解决性能问题,以及生成、展示和导出性能分析报告;
宜(推荐)支持问题自愈功能,自动处理发现的问题,使数据库恢复健康状态,并提供预置自愈方案;支持自定义自愈方案或自愈库的更新进化,实时和历史性能分析,核心指标的历史基线比对,数据库性能评分体系,智能诊断和根因分析,智能优化建议,以及定时报告、自定义报告内容和设置分析报告的保存时间与清理策略。
3.数据库管理平台的健康检查能力建议如下:
应支持对数据库的可用性、安全性、性能和稳定性风险进行巡检;支持巡检项的预配置;支持自定义巡检项;支持多种巡检方式;支持提供可视化的数据库健康巡检页面;支持生成、展示和导出巡检报告,至少支持一种导出方式,如文件导出、邮箱订阅等;
宜(推荐)支持巡检场景的预配置、自定义;支持基于巡检结果对数据库健康状态的评分;支持不同巡检粒度的巡检报告;支持对巡检发现问题提供整改建议;支持巡检报告对比,对比发现系统变更情况。
4.数据库管理平台的高可用能力建议如下:
应支持多种数据库类型的高可用架构;支持高可用架构拓扑展示;支持高可用架构信息查看;针对基于日志复制的数据同步高可用架构,宜支持数据一致性检测和修复,如数据一致性检查、数据不一致状态修复、集群复制状态检查、集群复制状态修复等;
宜(推荐)支持通过数据库中间件提供读写分离支持能力;支持通过数据库中间件提供连接管控能力;支持通过数据库中间件提供分库分表支持能力;支持数据库中间件自身高可用能力;支持高可用功能的启停;支持常见的高可用配置;支持RPO和RTO策略配置;支持高可用切换;支持高可用切换历史展示。
5.数据库管理平台的运维管理能力建议如下:
数据库管理平台应支持数据库的启动、停止、补丁升级、版本升级,以及多种容量管理和手动调整;支持数据库对象的基本管理操作,包括创建、修改、查询和删除;支持主机和数据库监控,实时展示监控信息并查看历史数据,涵盖多种监控指标;支持监控下钻;支持对主机、数据库的告警功能;支持数据库告警记录的查询、筛选和展示;支持数据导出至文件和从文件导入数据库;
宜(推荐)支持数据库操作日志查看,分布式数据库组件的启动和停止,集群和主从节点的滚动升级;支持容量自动调整和自动化分析;支持生成创建对象的SQL语句;支持自定义监控策略显示和编辑;支持自定义指标采集对象、方法、频率与展示;支持基于监控信息生成监控报告或报表;支持监控启停控制;支持指标基线预测;支持基于监控数据的健康评分功能;支持告警模板、告警升级、告警白名单配置、告警状态变化跟踪、告警下钻、告警自愈;支持集群节点数据库参数统一配置及分发;支持数据库参数修改记录展示;支持预置多种变更SQL审核规则;支持变更前备份和回滚能力。
6.数据库管理平台的备份恢复能力建议如下:
应支持数据库的备份;支持数据库的全量备份、增量备份;支持备份策略管理;支持对数据库备份任务、备份文件的查看;支持全量恢复;支持部分恢复;支持恢复到指定时间点;支持数据库恢复后立即对外提供服务;
宜(推荐)支持备份数据的有效性校验。
7.数据库管理平台的安全管理能力建议如下:
应支持对数据库内的用户进行添加、删除、修改属性、修改密码等操作;支持对用户的权限或权限组进行授权、回收等操作;支持对数据库日志进行查看和下载;
宜(推荐)支持对数据库内权限组,如角色的创建、更新、删除;支持对数据库内审计功能的开启、关闭;支持对数据库审计信息查看和生成报表;支持对数据库日志进行分析;支持设置并展示数据库日志的级别。
8.数据库管理平台的查询语句执行能力建议如下:
应支持查询语句的编辑及执行,查询语句如DML、DDL、DQL、DCL等;支持查询结果的可视化展示,展示方式如表格、列表、图形等;
宜(推荐)支持查询语句的辅助生成模板、关键字自动提示、语法检查、高亮及语言格式化。
9.数据库管理平台的平台租户管理能力建议如下:
应支持平台租户生命周期的管理,包括但不限于租户的创建、修改、删除、启用、停用;支持平台租户隔离,如租户内的用户、主机、数据库等资源隔离。
10.数据库管理平台的兼容性能力建议如下:
应支持通过技术手段实现平台交互接口,如RPC、RESTful、消息队列等;支持基于至少两种环境的数据库管理,如物理机、虚拟机、容器等;
宜(推荐)支持通过平台交互接口,实现功能调用、数据交互的能力;支持基于常见CPU架构部署平台;支持基于常用CPU架构上部署和纳管数据库;支持跨网络分区的数据库管理,实现不同网络环境下数据库及主机的集中统一管控与运维管理等功能。
11.数据库管理平台自身的基础能力建议如下:
应支持对平台进行配置管理;支持高可用配置管理能力;支持平台安全功能;支持用户和用户组管理;支持基于角色的访问控制;支持常见的部署环境;支持平台内操作记录审计;支持平台内操作记录查看;
宜(推荐)支持平台任务的创建、配置、运行监控、日志记录、流程编排;支持一键式自动化部署、安装部署错误检查和回滚、平台升级。
12.数据库管理平台自身的资源管理能力建议如下:
应支持对现网各类主机、数据库进行纳管及回收;支持纳管资源分布在不同地域、机房、网段等;支持纳管数据库的自动拓扑纳管发现和拓扑展示;支持定义不同资源的规格;支持用户自助申请资源;支持对数据库、主机资源查看的功能;支持用户查看资源情况的能力;支持生成资源报表;支持对资源节点的增删;支持对资源规格进行调整;支持数据库所使用的资源隔离;
宜(推荐)支持资源申请的审批;支持数据库数据的重分布操作。