Warebase
为什么需要 Warebase?
Warebase 是 ProtonBase 平台的核心计算模块,专门用于执行 DDL、DML、DQL 等 SQL 操作。它采用存算分离架构,提供了独立的计算资源,用户可以根据业务需求灵活创建和管理多个 Warebase 实例。
Warebase 的核心价值:
- 弹性扩缩容:根据业务负载动态调整计算资源,无需停机
- 成本优化:支持暂停功能,在不使用时节省成本
- 资源隔离:多个 Warebase 实例完全隔离,互不影响
- 高性能计算:专为 SQL 处理优化的计算引擎
每个 Warebase 都由独立的资源组成并支持动态扩缩容,Warebase 之间完全隔离互不影响。用户可以根据业务需要创建 1 个或多个 Warebase。
Warebase 采用 unit 作为计量单位,用户可以根据自己的业务量动态调整 Warebase 的 Unit 数(扩缩容),Unit 数越大,处理能力越强。用户甚至可以在暂不使用的情况下暂停 Warebase,更能节省使用成本。
Warebase 的创建
Warebase 隶属于 Data Cloud,所以 Warebase 的创建必须在某 Data Cloud 下。创建 Data Cloud 后,进入相应地域(Region)的页面直接在该 Data Cloud 下创建 Warebase,如下图:
指定 Warebase 名称(需要在同 Data Cloud 下唯一)及资源大小后,点击"确认"开始创建 Warebase,如下图:
创建 Warebase 过程中,Warebase 处于"初始化中",并展示其下各资源的创建状态,如下图。直到 Warebase 处于"运行中",表明 Warebase 创建成功,并可以对外服务。
创建建议:
- 根据业务负载预估合适的 Unit 数量
- 使用描述性强的命名规范,便于识别和管理
- 考虑为不同的工作负载创建独立的 Warebase 实例
Warebase 的状态
Warebase 主要包括以下状态:
- 初始化中:表明 Warebase 正处于创建初始化状态。
- 运行中:表明 Warebase 目前正在运行,用户可以使用 SQL 正常增删改查。
- 暂停中:表明 Warebase 正在暂停,暂停只是停止 Warebase 这个计算资源,用户数据依然保留在后台。
- 已暂停:表明 Warebase 已经暂停,并暂时无法提供 SQL 服务。
- 恢复中:表明 Warebase 正在恢复到运行状态,并会自动加载暂停前的所有数据。
- 异常:表明 Warebase 目前暂时处于异常状态。
- 删除中:表明 Warebase 正在被删除,直到资源完全被删除;由于采用存算分离架构,尽管 Warebase 被删除,但用户数据仍然会被保留,除非用户在删除时选择同时删除那些数据库(Database)的数据。
状态管理建议:
- 定期监控 Warebase 状态,及时发现和处理异常
- 合理使用暂停功能以节省成本
- 在业务高峰期前确保 Warebase 处于"运行中"状态
Warebase 的管理
如下图所示,页面会显示对应 Warebase 的利用率、QPS、延迟等监控信息,同时会列出当前 Warebase 可以做的操作。
Warebase 扩缩容
可以在"资源大小"处,根据业务量需求,实时调整 Warebase unit 数,且大小调整不依赖于上轮调整是否完成,随时修改大小,后台会及时响应最新修改。
扩缩容最佳实践:
- 根据监控指标(CPU 使用率、内存使用率、QPS 等)进行扩缩容决策
- 在业务高峰期前适当扩容,在低峰期后缩容以节省成本
- 避免频繁调整,给系统足够的稳定时间
Warebase 连接
该部分涉及到公网和 VPC 网络配置,在 VPC 网络还需要通过云厂商提供的私有连接(PrivateLink)功能,详见 Warebase 网络连接。
连接安全建议:
- 生产环境推荐使用 VPC 连接以确保数据安全
- 合理配置安全组规则,只开放必要的端口
- 定期审查网络连接配置
Warebase 暂停/恢复
处于"运行中"的 Warebase 可以被暂停掉,处于"暂停中"的 Warebase 可以被恢复到"运行中"。
点击上图左上 Warebase 名称,可以进入 Warebase 详情页面,如下图所示:
除上述操作外,还可:
- 重命名:修改 Warebase 名称。
- 绑定数据库:查看 Warebase 绑定的数据库(Database)。
Warebase 的删除
用户可删除不再使用的 Warebase。删除时,之前绑定的数据库(Database)会自动解绑,数据保留在后台。用户可通过新建 Warebase 绑定这些数据库,继续使用数据。
删除时,用户可选择是否同时删除数据库(Database),请谨慎选择。特别地,数据库 template0 始终随 Warebase 删除。
注意:删除 Warebase 前,需删除其下的所有 vpc 网络终端节点连接。
删除前检查清单:
- 确认 Warebase 内无重要数据或已备份
- 删除所有 VPC 网络终端节点连接
- 解绑所有数据库或确认数据保留需求
最佳实践
Warebase 设计原则
-
工作负载隔离:为不同的工作负载创建独立的 Warebase,例如:
- OLTP(在线事务处理):处理高并发的短事务
- OLAP(在线分析处理):执行复杂的分析查询
- ETL(数据抽取转换加载):处理数据导入和转换任务
-
环境隔离:为开发、测试和生产环境创建独立的 Warebase,确保环境之间的隔离。
-
资源优化:根据业务需求选择合适的 Unit 数量,避免资源浪费。
Warebase 命名规范
建议采用以下命名规范来管理多个 Warebase 实例:
<项目名>-<环境>-<用途>-<序号>
例如:
ecommerce-prod-oltp-01
:生产环境的电商 OLTP 服务analytics-dev-reporting-01
:开发环境的分析报告服务
资源管理策略
-
动态扩缩容:
- 监控 Warebase 的资源使用情况,设置自动扩缩容策略
- 在业务高峰期前手动扩容,在低峰期后缩容以节省成本
-
暂停策略:
- 对于非核心业务或开发测试环境,在非工作时间暂停 Warebase 以节省成本
- 对于临时性任务(如数据迁移),任务完成后暂停 Warebase
-
成本优化:
- 定期审查 Warebase 的使用情况,删除不再需要的实例
- 根据实际负载调整 Unit 数量,避免过度配置
性能优化建议
-
连接管理:
- 使用连接池管理数据库连接,避免频繁创建和关闭连接
- 合理设置连接超时时间,及时释放空闲连接
-
查询优化:
- 为常用查询字段创建适当的索引
- 避免在大表上执行全表扫描操作
- 使用分页查询处理大量数据
-
监控与告警:
- 设置关键指标(CPU 使用率、内存使用率、QPS 等)的监控和告警
- 定期分析慢查询日志,优化性能瓶颈
通过遵循这些最佳实践,您可以更有效地管理和使用 Warebase,提高系统的性能和可维护性,同时优化成本。