数据库
概述
数据库是 Rainbond 平台通过集成 KubeBlocks 提供的数据库管理能力。Rainbond 将底层数据库集群的创建、运行、备份恢复和参数管理 能力封装为平台内的数据库组件体验,让用户可以像管理应用组件一样创建和维护数据库。
面向应用开发、数据库创建、运行管理、备份恢复和应用连接场景,数据库能力提供统一的数据库组件创建、规格配置、存储管理、连接信息注入、备份策略、手动备份、从备份恢复、监控和参数配置能力。
用户可以在平台内通过图形化流程创建数据库组件,选择数据库类型、版本、资源规格、存储类型和备份策略。数据库创建完成后,Rainbond 会将数据库作为组件纳入应用视图统一管理,并自动维护端口和连接信息,供同一应用内的其他组件依赖和使用。
数据库创建完成后,用户可以像管理其他 Rainbond 组件一样进入组件视图查看状态、调整规格、配置备份、查看监控、管理连接信息和执行日常运维操作。
核心能力
数据库组件创建
数据库支持在 Rainbond 创建组件流程中直接创建。用户选择数据库类型后,可以继续配置数据库版本、CPU、内存、实例数、存储类型和磁盘容量。
入口:
-
团队视图 / 应用视图 -> 创建组件 -> 创建数据库

创建流程会将数据库类型、版本、资源规格、存储和备份策略放在同一个 表单中配置。提交后,平台会创建对应的数据库组件,并自动维护组件端口和连接信息。
当前常见支持的数据库类型包括:
- MySQL
- PostgreSQL
- Redis
- RabbitMQ
数据库版本与规格配置
数据库创建时支持选择不同版本,并根据业务需求配置资源规格。
入口:
-
创建数据库 -> 数据库配置

版本、CPU、内存、实例数、磁盘容量和存储类型都在创建流程中完成配置。创建后,用户仍可在组件视图中调整部分运行规格。
说明:
- 数据库版本来自平台当前已启用的数据库能力。
- 可选版本会随平台已启用的数据库类型变化。
- 存储类型会影响后续容量扩容能力。
- 存储类型在数据库创建完成后不可修改。
高可用与多实例
数据库组件创建时配置的实例数用于决定数据库集群的副本规模。多实例数据库会由 KubeBlocks 按对应数据库类型的拓扑创建多个数据库实例,降低单个实例异常对服务可用性的影响。
多实例的主要价值:
- 提升可用性:当单个数据库实例所在节点或 Pod 异常时,集群可以 依赖数据库自身的主备、复制或选主能力继续恢复服务。
- 支撑数据库复制拓扑:MySQL、PostgreSQL、Redis 等数据库会根据对应版本和拓扑使用主从复制、哨兵或其他高可用机制。
- 提高运维容错空间:执行实例重建、节点迁移或部分规格调整时,多实例集群比单实例更容易保持服务连续性。
说明:
- 高可用能力依赖数据库类型、版本、KubeBlocks Addon 拓扑和底层 Kubernetes 集群调度能力。
- Redis 使用复制拓扑时会同时创建 Redis 实例和 Sentinel 实例,Sentinel 用于主节点故障探测和切换。
- RabbitMQ 等多实例类型也会通过自身集群能力提供节点冗余,具体可用性以对应 Addon 拓扑为准。
- 多实例不等于绝对不丢失数据,仍需要结合备份策略、存储可靠性和业务侧重连机制一起使用。
数据库连接信息
数据库创建完成后,Rainbond 会自动维护组件连接信息,应用内其他组件可以通过依赖关系获取数据库地址、端口、用户名和密码等连接信息。
入口:
-
组件视图 -> 依赖

数据库组件会按 Rainbond 组件依赖方式维护连接信息。业务组件添加数据库依赖后,可以读取数据库地址、端口、用户名和密码等连接信息,无需手动维护服务地址。
说明:
- 数据库默认用户和密码由平台自动创建和管理。
- Rainbond 会在数据库创建完成后同步必要连接信息。
- 数据库组件不支持再添加其他 Rainbond 组件作为依赖。
规格伸缩
数据库支持在组件运行后调整部分资源规格。用户在平台内提交伸缩操作后,平台会执行对应的数据库规格变更。
入口:
-
组件视图 -> 伸缩

伸缩能力覆盖实例数、CPU、内存和磁盘容量调整,适合在业务压力变化或数据盘空间不足时使用。
说明:
- 数据库伸缩需要等待平台执行完成。
- 多组件结构的数据库集群会尽量保持组件间资源配置一致。
- 磁盘容量仅支持扩容,不支持缩容。
- 磁盘扩容要求创建时选择的存储类型支持容量扩展。
- 存储类型不支持在创建完成后修改。
备份恢复
数据库支持通过 S3 或 S3 兼容对象存储保存备份数据,并在同一个备份页面完成备份仓库、备份策略、手动备份和恢复操作。
入口:
-
组件视图 -> 备份

备份仓库用于保存数据库备份数据。创建或启用备份策略前,需要先准备可用的 备份仓库;备份策略用于配置周期备份的执行周期、开始时间和保留时间;手动备份用于在发布、迁移或高风险操作前创建一次性备份。
恢复时选择 Completed 状态的备份执行恢复。恢复操作会创建一个新的数据库组件并写入备份数据,不会覆盖原数据库组件。
说明:
- 只有状态正常的备份仓库才能用于数据库备份。
- 访问凭据由平台安全保存,不会在页面中明文展示。
- 不支持备份的数据库类型不会展示备份配置。
- 恢复后的数据库需要重新确认连接信息和依赖关系。
数据库监控
数据库支持在平台内查看组件级监控数据,用于观察数据库运行状态和资源使用情况。
入口:
-
组件视图 -> 监控

监控页面提供数据库组件的基础资源监控,用于判断当前资源使用情况和是否需要调整规格。
说明:
- 当前数据库组件主要提供组件资源监控。
- 更多指标以页面实际展示为准。
参数配置
部分数据库类型支持在高级设置中调整数据库参数。平台会根据当前数据库类型、版本和 KubeBlocks 参数定义动态展示可配置参数,页面展示的参数就是当前数据库允许调整的范 围。
入口:
-
组件视图 -> 高级设置 -> 参数配置

参数配置页面会展示参数名称、当前值、参数类型、可选范围或枚举值等信息。提交修改前,平台会校验参数是否存在、类型是否正确、数值是否超出范围、枚举值是否合法,并隐藏不可修改的参数。
常见可调整方向包括:
- 连接类参数:控制最大连接数、连接超时、空闲连接等。
- 内存和缓存类参数:控制缓冲区、缓存大小、排序或临时数据使用内存等。
- 日志和慢查询类参数:控制日志级别、慢查询阈值、日志输出行为等。
- 复制和持久化类参数:控制复制、同步、刷盘、持久化文件等数据库运行行为。
不同数据库的参数名称不相同,具体以页面实际展示为准。例如 MySQL 通常来自 my.cnf,PostgreSQL 来自 postgresql.conf,Redis 来自 redis.conf。常见参数示例如下:
| 数据库 | 常见参数示例 | 设置方向 |
|---|---|---|
| MySQL | max_connections、innodb_buffer_pool_size、slow_query_log、long_query_time、sync_binlog | 根据连接数、内存容量、慢查询排查和写入可靠性要求调整 |
| PostgreSQL | max_connections、shared_buffers、work_mem、maintenance_work_mem、log_min_duration_statement | 根据连接数、内存容量、复杂查询和慢查询排查要求调整 |
| Redis | maxmemory、maxmemory-policy、timeout、appendonly、save | 根据缓存容量、淘汰策略、空闲连接、持久化和恢复要求调整 |
设置参数时建议先明确调整目标,再按页面展示的类型、范围或枚举值填写。连接数、缓存和工作内存类参数需要结合 CPU、内存规格一起评估;日志和慢查询类参数适合用于排查问题;持久化和复制类参数会影响性能、数据可靠性和恢复时间。生产环境建议一次只调整少量参数,并在低峰期观察数据库状态和业务连接情况。RabbitMQ 当前不提供参数配置能力。
说明:
- 参数能力取决于数据库类型和数据库版本。
- 不是所有数据库类型都支持参数配置。
- 动态参数通常可以在线生效,静态参数可能需要数据库组件重启或滚动重启后生效。
- 参数提交后是否成功,以页面展示的执行结果和数据库组件状态为准。
- 不确定参数含义或影响时,建议先参考对应数据库官方文档,并在低峰期修改。
使用指南
启用数据库插件
进入 平台管理 -> 插件中心,找到数据库插件并启用。
启用后,如果平台已经启用对应数据库类型,即可在创建组件流程中看到数据库创建入口。