跳到主要内容

数据库

概述

数据库是 Rainbond 平台通过集成 KubeBlocks 提供的数据库管理能力。Rainbond 将底层数据库集群的创建、运行、备份恢复和参数管理能力封装为平台内的数据库组件体验,让用户可以像管理应用组件一样创建和维护数据库。

面向应用开发、数据库创建、运行管理、备份恢复和应用连接场景,数据库能力提供统一的数据库组件创建、规格配置、存储管理、连接信息注入、备份策略、手动备份、从备份恢复、监控和参数配置能力。

用户可以在平台内通过图形化流程创建数据库组件,选择数据库类型、版本、资源规格、存储类型和备份策略。数据库创建完成后,Rainbond 会将数据库作为组件纳入应用视图统一管理,并自动维护端口和连接信息,供同一应用内的其他组件依赖和使用。

数据库创建完成后,用户可以像管理其他 Rainbond 组件一样进入组件视图查看状态、调整规格、配置备份、查看监控、管理连接信息和执行日常运维操作。

核心能力

数据库组件创建

数据库支持在 Rainbond 创建组件流程中直接创建。用户选择数据库类型后,可以继续配置数据库版本、CPU、内存、实例数、存储类型和磁盘容量。

入口:

  • 团队视图 / 应用视图 -> 创建组件 -> 创建数据库

    image-20260613105303429

创建流程会将数据库类型、版本、资源规格、存储和备份策略放在同一个表单中配置。提交后,平台会创建对应的数据库组件,并自动维护组件端口和连接信息。

当前常见支持的数据库类型包括:

  • MySQL
  • PostgreSQL
  • Redis
  • RabbitMQ

数据库版本与规格配置

数据库创建时支持选择不同版本,并根据业务需求配置资源规格。

入口:

  • 创建数据库 -> 数据库配置

    image-20260613105410752

版本、CPU、内存、实例数、磁盘容量和存储类型都在创建流程中完成配置。创建后,用户仍可在组件视图中调整部分运行规格。

说明:

  • 数据库版本来自平台当前已启用的数据库能力。
  • 可选版本会随平台已启用的数据库类型变化。
  • 存储类型会影响后续容量扩容能力。
  • 存储类型在数据库创建完成后不可修改。

高可用与多实例

数据库组件创建时配置的实例数用于决定数据库集群的副本规模。多实例数据库会由 KubeBlocks 按对应数据库类型的拓扑创建多个数据库实例,降低单个实例异常对服务可用性的影响。

多实例的主要价值:

  • 提升可用性:当单个数据库实例所在节点或 Pod 异常时,集群可以依赖数据库自身的主备、复制或选主能力继续恢复服务。
  • 支撑数据库复制拓扑:MySQL、PostgreSQL、Redis 等数据库会根据对应版本和拓扑使用主从复制、哨兵或其他高可用机制。
  • 提高运维容错空间:执行实例重建、节点迁移或部分规格调整时,多实例集群比单实例更容易保持服务连续性。

说明:

  • 高可用能力依赖数据库类型、版本、KubeBlocks Addon 拓扑和底层 Kubernetes 集群调度能力。
  • Redis 使用复制拓扑时会同时创建 Redis 实例和 Sentinel 实例,Sentinel 用于主节点故障探测和切换。
  • RabbitMQ 等多实例类型也会通过自身集群能力提供节点冗余,具体可用性以对应 Addon 拓扑为准。
  • 多实例不等于绝对不丢失数据,仍需要结合备份策略、存储可靠性和业务侧重连机制一起使用。

数据库连接信息

数据库创建完成后,Rainbond 会自动维护组件连接信息,应用内其他组件可以通过依赖关系获取数据库地址、端口、用户名和密码等连接信息。

入口:

  • 组件视图 -> 依赖

    image-20260613112425252

数据库组件会按 Rainbond 组件依赖方式维护连接信息。业务组件添加数据库依赖后,可以读取数据库地址、端口、用户名和密码等连接信息,无需手动维护服务地址。

说明:

  • 数据库默认用户和密码由平台自动创建和管理。
  • Rainbond 会在数据库创建完成后同步必要连接信息。
  • 数据库组件不支持再添加其他 Rainbond 组件作为依赖。

规格伸缩

数据库支持在组件运行后调整部分资源规格。用户在平台内提交伸缩操作后,平台会执行对应的数据库规格变更。

入口:

  • 组件视图 -> 伸缩

    image-20260613112453872

伸缩能力覆盖实例数、CPU、内存和磁盘容量调整,适合在业务压力变化或数据盘空间不足时使用。

说明:

  • 数据库伸缩需要等待平台执行完成。
  • 多组件结构的数据库集群会尽量保持组件间资源配置一致。
  • 磁盘容量仅支持扩容,不支持缩容。
  • 磁盘扩容要求创建时选择的存储类型支持容量扩展。
  • 存储类型不支持在创建完成后修改。

备份恢复

数据库支持通过 S3 或 S3 兼容对象存储保存备份数据,并在同一个备份页面完成备份仓库、备份策略、手动备份和恢复操作。

入口:

  • 组件视图 -> 备份

    image-20260613120027579

备份仓库用于保存数据库备份数据。创建或启用备份策略前,需要先准备可用的备份仓库;备份策略用于配置周期备份的执行周期、开始时间和保留时间;手动备份用于在发布、迁移或高风险操作前创建一次性备份。

恢复时选择 Completed 状态的备份执行恢复。恢复操作会创建一个新的数据库组件并写入备份数据,不会覆盖原数据库组件。

说明:

  • 只有状态正常的备份仓库才能用于数据库备份。
  • 访问凭据由平台安全保存,不会在页面中明文展示。
  • 不支持备份的数据库类型不会展示备份配置。
  • 恢复后的数据库需要重新确认连接信息和依赖关系。

数据库监控

数据库支持在平台内查看组件级监控数据,用于观察数据库运行状态和资源使用情况。

入口:

  • 组件视图 -> 监控

    image-20260613120051722

监控页面提供数据库组件的基础资源监控,用于判断当前资源使用情况和是否需要调整规格。

说明:

  • 当前数据库组件主要提供组件资源监控。
  • 更多指标以页面实际展示为准。

参数配置

部分数据库类型支持在高级设置中调整数据库参数。平台会根据当前数据库类型、版本和 KubeBlocks 参数定义动态展示可配置参数,页面展示的参数就是当前数据库允许调整的范围。

入口:

  • 组件视图 -> 高级设置 -> 参数配置

    image-20260613120106329

参数配置页面会展示参数名称、当前值、参数类型、可选范围或枚举值等信息。提交修改前,平台会校验参数是否存在、类型是否正确、数值是否超出范围、枚举值是否合法,并隐藏不可修改的参数。

常见可调整方向包括:

  • 连接类参数:控制最大连接数、连接超时、空闲连接等。
  • 内存和缓存类参数:控制缓冲区、缓存大小、排序或临时数据使用内存等。
  • 日志和慢查询类参数:控制日志级别、慢查询阈值、日志输出行为等。
  • 复制和持久化类参数:控制复制、同步、刷盘、持久化文件等数据库运行行为。

不同数据库的参数名称不相同,具体以页面实际展示为准。例如 MySQL 通常来自 my.cnf,PostgreSQL 来自 postgresql.conf,Redis 来自 redis.conf。常见参数示例如下:

数据库常见参数示例设置方向
MySQLmax_connectionsinnodb_buffer_pool_sizeslow_query_loglong_query_timesync_binlog根据连接数、内存容量、慢查询排查和写入可靠性要求调整
PostgreSQLmax_connectionsshared_bufferswork_memmaintenance_work_memlog_min_duration_statement根据连接数、内存容量、复杂查询和慢查询排查要求调整
Redismaxmemorymaxmemory-policytimeoutappendonlysave根据缓存容量、淘汰策略、空闲连接、持久化和恢复要求调整

设置参数时建议先明确调整目标,再按页面展示的类型、范围或枚举值填写。连接数、缓存和工作内存类参数需要结合 CPU、内存规格一起评估;日志和慢查询类参数适合用于排查问题;持久化和复制类参数会影响性能、数据可靠性和恢复时间。生产环境建议一次只调整少量参数,并在低峰期观察数据库状态和业务连接情况。RabbitMQ 当前不提供参数配置能力。

说明:

  • 参数能力取决于数据库类型和数据库版本。
  • 不是所有数据库类型都支持参数配置。
  • 动态参数通常可以在线生效,静态参数可能需要数据库组件重启或滚动重启后生效。
  • 参数提交后是否成功,以页面展示的执行结果和数据库组件状态为准。
  • 不确定参数含义或影响时,建议先参考对应数据库官方文档,并在低峰期修改。

使用指南

启用数据库插件

进入 平台管理 -> 插件中心,找到数据库插件并启用。

启用后,如果平台已经启用对应数据库类型,即可在创建组件流程中看到数据库创建入口。

创建数据库组件

进入团队或应用内的创建入口,选择创建数据库。

创建流程如下:

  1. 输入数据库组件名称
  2. 选择数据库类型
  3. 选择数据库版本
  4. 配置 CPU、内存、实例数和磁盘容量
  5. 选择存储类型
  6. 如需备份,选择或新建备份仓库
  7. 配置备份周期、开始时间和保留时间
  8. 提交创建

提交后,平台会创建数据库组件并开始初始化数据库。数据库进入运行中状态后,即可通过连接信息供业务组件使用。

使用数据库连接信息

数据库创建完成后,进入组件详情页的依赖视图查看连接信息。

使用方式:

  1. 打开需要连接数据库的业务组件
  2. 添加数据库组件为依赖
  3. 在业务组件中读取 Rainbond 注入的连接信息
  4. 使用数据库地址、端口、用户名和密码连接数据库

连接信息的使用方式与 Rainbond 常规组件依赖一致。

调整数据库规格

进入数据库组件详情页的伸缩视图。

可执行操作:

  • 调整实例数
  • 调整 CPU
  • 调整内存
  • 扩容磁盘容量

提交后,平台会执行规格变更。部分操作需要等待数据库组件重新进入运行中状态。

备份恢复数据库

进入数据库组件详情页的备份视图,按需配置备份仓库、启用备份策略、执行手动备份或从已有备份恢复。

使用流程:

  1. 准备 S3 或 S3 兼容对象存储信息,包括 Bucket、Endpoint、Region、Access Key、Secret Key 和可选 Path Prefix
  2. 在创建数据库或组件备份页面选择备份仓库
  3. 如需周期备份,配置备份周期、开始时间和保留时间
  4. 如需临时备份,点击手动备份并等待备份状态变为 Completed
  5. 如需恢复,选择 Completed 状态的备份并填写新数据库组件信息
  6. 等待新数据库组件进入运行中状态后,切换业务组件依赖或连接信息

如果备份失败,需要检查备份仓库状态、对象存储连通性和数据库状态。恢复不会覆盖原数据库组件,而是创建新的数据库组件。

修改数据库参数

进入数据库组件详情页的高级设置,打开参数配置。

执行流程:

  1. 查看当前可配置参数
  2. 根据参数类型、范围或枚举值填写新值
  3. 提交变更
  4. 等待平台执行完成
  5. 确认数据库组件状态和业务连接状态

如果参数列表为空,表示当前数据库类型或当前版本未提供可展示的参数配置能力。

注意事项

  • 数据库创建入口是否展示,取决于平台是否启用了可用的数据库类型。
  • 数据库类型、版本、备份和参数配置能力会随平台启用能力变化。
  • 数据库组件只有进入 运行中 状态后,才建议执行伸缩、备份、参数配置等运维操作。
  • 存储类型在数据库创建完成后不可修改。
  • 磁盘容量仅支持扩容,不支持缩容。
  • 磁盘扩容要求创建时选择的存储类型支持容量扩展。
  • 单实例数据库不具备数据库实例级高可用能力,生产环境建议根据数据库类型选择多实例部署。
  • 备份功能要求存在状态正常的备份仓库。
  • 备份仓库访问凭据由平台安全保存,不会在页面明文展示。
  • 被数据库组件引用的备份仓库不支持直接删除。
  • 从备份恢复会创建新的数据库组件,不会覆盖原数据库。
  • 数据库组件不支持构建、滚动更新、Web 终端和常规日志能力。
  • 数据库组件不支持添加其他 Rainbond 组件作为依赖。
  • 数据库组件当前不支持通过 Rainbond 应用模板完整交付数据库运行数据。
  • 参数配置能力取决于数据库类型和数据库版本。
  • RabbitMQ 等不支持备份的数据库类型不会展示备份操作。