数据库服务

数据库服务基于 Kubernetes Operator 和 Kubernetes 资源模型,为关系数据库、分析数据库、NoSQL 数据库、消息队列、向量数据库等引擎提供统一的集群管理能力。服务通过标准化 API、数据库引擎插件和控制器,将数据库集群的资源编排、运行维护、数据保护与可观测能力组织在统一的管理平面中。

标准资源模型将数据库的拓扑、组成和运行行为映射为通用资源对象,使核心控制逻辑与具体数据库引擎解耦。数据库实例运行在 Kubernetes 环境中,并通过计算、存储、网络和身份访问等基础能力获得运行资源;引擎的具体版本、拓扑与功能范围由相应插件及其版本定义。

服务以声明式资源管理组织数据库集群的配置、扩缩、数据保护、运行诊断和访问安全。数据库引擎能力、基础设施资源和租户访问边界在统一模型中关联,同时保留不同环境和引擎之间的运行边界。

数据库服务架构

数据库服务采用控制面与数据库运行面分离的架构。控制面提供控制台、开放 API、身份认证、元数据和资源任务管理;数据库运行面基于 Kubernetes 和 Operator 控制器编排数据库集群及其关联资源。

图 1. 数据库服务逻辑架构


标准化资源模型

数据库服务以分层资源模型描述不同数据库引擎的拓扑、组成、服务关系和运行行为,使控制逻辑与特定数据库引擎解耦。该模型通过标准 API 暴露资源之间的关系及其状态变化,使不同引擎能够以一致的资源语义接入管理平面。

层级资源对象架构职责
基础设施层Kubernetes API提供 Pod、Service、PVC、Secret、ConfigMap 等基础资源对象。
实例层Instance描述组成单个数据库副本所需的基础资源。
副本集合层InstanceSet将多个 Instance 组织为具有多个副本的数据库实例集合。
组件层Component描述成员管理、备份恢复等数据库行为,并组织相关实例集合。
集群层Cluster由一个或多个 Component 组成完整的数据库集群。
引擎扩展层Addon 与定义资源定义数据库引擎的拓扑、版本和能力,并映射到统一资源模型。

引擎扩展机制

数据库引擎通过 Addon 及其定义资源接入标准资源模型。插件定义引擎版本、集群拓扑、运行镜像和对应的管理能力,并将引擎特定行为映射为统一的 Cluster、Component、InstanceSet 和 Instance 资源。引擎在环境中的可用范围由启用的插件及其版本确定,插件版本可独立演进而不改变统一资源模型。

控制与运行关系

  • 控制面:逻辑划分平台管理和租户使用的控制台边界,集中承载开放 API、身份认证和元数据能力,并组织资源管理、任务管理、调度和数据库集群运行状态的控制逻辑。
  • 数据库运行面:由 Kubernetes、数据库 Operator 和引擎插件承载数据库集群的运行状态及资源关系。
  • 引擎插件:将特定数据库引擎的拓扑、版本和运维行为映射到 Cluster、Component、InstanceSet 和 Instance 等标准资源对象。
  • 基础服务:存储、网络、可观测和告警能力通过标准接口或配套控制器与数据库集群关联。

数据库引擎与集群能力

数据库服务通过引擎插件接入不同类型的数据库,并在统一资源模型下组织其集群拓扑和计算架构。引擎可将单机、主备或分布式等拓扑及其服务角色映射为标准资源对象;具体可用版本和拓扑以相应引擎插件版本为准。

核心能力域

能力域技术能力
集群生命周期定义版本、拓扑、可用区、参数模板、时区、命名空间和标签等集群配置,以及删除保护、计算与存储规格调整、横向扩缩、启停、有序重启和服务访问地址等生命周期状态与资源关系;停止状态可释放计算资源并保持存储、网络和备份关系,删除语义可关联计算和网络资源释放,以及备份保留策略。
拓扑与访问按照引擎定义组织单机、主备或分布式拓扑,并可通过服务角色、LoadBalancer、NodePort 或 Host Network 形成数据库服务访问地址;读写分离等访问模式由相应引擎拓扑和服务组件定义。
高可用与容灾支持数据库引擎对应的故障检测、故障转移、角色切换、备库重建和回收站等能力;角色切换可保持服务访问入口,适用范围由引擎拓扑和插件实现定义。
参数与数据管理管理参数类型、描述、取值范围、参数模板和参数变更历史,以及数据库账号和权限、库表、DDL/DML、SQL 执行计划、会话和数据导入导出能力。

数据保护与可观测能力

数据库服务围绕备份与恢复、运行监控、日志审计、告警处理和访问安全组织数据库集群的运行保障能力。相关能力通过统一资源模型与数据库集群及其运行环境关联,具体适用范围由引擎拓扑和插件实现定义。

数据保护

数据保护由备份机制、备份仓库和恢复能力共同构成。

  • 备份机制:支持在线全量、增量和持续备份。
  • 策略与仓库:备份策略定义执行时间、频率和保留周期;统一管理备份策略、备份集、恢复记录和备份仓库,备份仓库可对接 S3 兼容对象存储、NAS 等存储服务。
  • 备份安全与审计:支持备份加密,并保留备份、恢复与相关管理操作记录以支撑审计。
  • 恢复能力:支持基于备份集的新建恢复和时间点恢复,以及同环境或跨环境恢复。

可观测、审计与访问安全

  • 可观测数据接口:基于 OpenTelemetry 组织监控数据接口和格式,覆盖主机、容器、Kubernetes 对象、数据库集群及其日志;监控数据可对接 Prometheus、VictoriaMetrics 等指标系统,日志可对接 ClickHouse、Elasticsearch、Loki 等日志系统,数据也可推送至 Kafka 等消息系统。
  • 指标采集:主机指标可通过 Node Exporter 采集,容器指标可通过 cAdvisor 采集,Kubernetes 对象状态可通过 kube-state-metrics 采集,数据库集群指标由相应引擎的 Exporter 采集,包括 QPS、TPS 和响应时间等。
  • 运行日志与审计:管理数据库运行日志、慢日志和 SQL 审计日志。
  • 告警处理:由规则计算和通知服务将指标采集、规则计算、告警聚合和通知策略组织为告警处理链路,并支持阈值或 PromQL 规则、告警抑制及重复告警降噪。
  • 访问安全:通过 TLS 证书等机制保护数据库服务访问链路。

统一身份认证、通用许可证、平台级可观测运维和生命周期管理的共性机制由“平台管理与运维”章节说明;本章仅描述其在数据库服务中的资源和运行边界。

多环境与多租户管理

数据库服务将一个 Kubernetes 集群抽象为一个环境,并在环境中承载受管理的数据库集群。环境可运行于公有云、私有云或数据中心,并承载虚拟或物理基础资源。多环境模型支持将不同地域、数据中心或云环境纳入统一管理,同时保留各环境的资源和运行边界;组织和角色定义租户对环境及数据库资源的访问边界。

环境资源模型

对象资源与运行边界
环境对应单个 Kubernetes 集群,并作为数据库集群、节点、存储和网络资源的管理边界。
控制面节点承载 Operator、监控、日志和任务调度等平台管理组件。
数据面节点承载数据库实例及其运行时采集组件,并可通过节点分组实现数据库引擎、在线与离线负载、核心与非核心负载之间的资源隔离。
节点分组与调度以节点角色和分组约束数据库实例的部署范围,并通过拓扑分布、暂停调度和维护驱逐等调度约束降低同类副本集中于单一节点的风险。
存储资源将日志、备份、对象存储和数据库存储类纳入环境配置;数据库存储可通过 CSI 对接本地盘、云盘或分布式存储。
网络资源支持 LoadBalancer、NodePort 和 Host Network 等服务暴露方式,为数据库集群提供访问地址与端口,并可按服务角色组织访问入口;私有环境可通过 MetalLB 等服务暴露组件和地址池提供四层 VIP 高可用入口,VIP 绑定节点异常时可重绑定至其他节点。
引擎规格定义数据库引擎的 CPU 和内存 request、limit 等资源规格,request 与 limit 的比例可表达调度请求和运行上限,并可用于按策略组织资源超额分配;相应引擎和规格可按环境启用。

租户与治理

  • 租户与权限:以组织管理租户成员、角色和资源访问边界,并支持按环境启用数据库引擎;角色模型可区分管理、成员、审计和只读等访问职责。
  • 资源与可用性治理:提供资源计量和服务可用性统计,可通过周期性数据库连接或简单查询采集服务健康状态。
  • 漏洞影响识别:通过 CVE 漏洞信息关联数据库引擎版本和受影响集群,支持按引擎类型和严重级别识别影响范围。
  • 自动巡检:支持面向数据库实例或环境的巡检策略,按定义的执行时间和对象运行检查,并输出巡检结果。