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 主要包括以下状态:

  1. 初始化中:表明 Warebase 正处于创建初始化状态。
  2. 运行中:表明 Warebase 目前正在运行,用户可以使用 SQL 正常增删改查。
  3. 暂停中:表明 Warebase 正在暂停,暂停只是停止 Warebase 这个计算资源,用户数据依然保留在后台。
  4. 已暂停:表明 Warebase 已经暂停,并暂时无法提供 SQL 服务。
  5. 恢复中:表明 Warebase 正在恢复到运行状态,并会自动加载暂停前的所有数据。
  6. 异常:表明 Warebase 目前暂时处于异常状态。
  7. 删除中:表明 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 详情页面,如下图所示:

除上述操作外,还可:

  1. 重命名:修改 Warebase 名称。
  2. 绑定数据库:查看 Warebase 绑定的数据库(Database)。

Warebase 的删除

用户可删除不再使用的 Warebase。删除时,之前绑定的数据库(Database)会自动解绑,数据保留在后台。用户可通过新建 Warebase 绑定这些数据库,继续使用数据。

删除时,用户可选择是否同时删除数据库(Database),请谨慎选择。特别地,数据库 template0 始终随 Warebase 删除。

注意:删除 Warebase 前,需删除其下的所有 vpc 网络终端节点连接。

删除前检查清单

  • 确认 Warebase 内无重要数据或已备份
  • 删除所有 VPC 网络终端节点连接
  • 解绑所有数据库或确认数据保留需求

最佳实践

Warebase 设计原则

  1. 工作负载隔离:为不同的工作负载创建独立的 Warebase,例如:

    • OLTP(在线事务处理):处理高并发的短事务
    • OLAP(在线分析处理):执行复杂的分析查询
    • ETL(数据抽取转换加载):处理数据导入和转换任务
  2. 环境隔离:为开发、测试和生产环境创建独立的 Warebase,确保环境之间的隔离。

  3. 资源优化:根据业务需求选择合适的 Unit 数量,避免资源浪费。

Warebase 命名规范

建议采用以下命名规范来管理多个 Warebase 实例:

<项目名>-<环境>-<用途>-<序号>

例如:

  • ecommerce-prod-oltp-01:生产环境的电商 OLTP 服务
  • analytics-dev-reporting-01:开发环境的分析报告服务

资源管理策略

  1. 动态扩缩容

    • 监控 Warebase 的资源使用情况,设置自动扩缩容策略
    • 在业务高峰期前手动扩容,在低峰期后缩容以节省成本
  2. 暂停策略

    • 对于非核心业务或开发测试环境,在非工作时间暂停 Warebase 以节省成本
    • 对于临时性任务(如数据迁移),任务完成后暂停 Warebase
  3. 成本优化

    • 定期审查 Warebase 的使用情况,删除不再需要的实例
    • 根据实际负载调整 Unit 数量,避免过度配置

性能优化建议

  1. 连接管理

    • 使用连接池管理数据库连接,避免频繁创建和关闭连接
    • 合理设置连接超时时间,及时释放空闲连接
  2. 查询优化

    • 为常用查询字段创建适当的索引
    • 避免在大表上执行全表扫描操作
    • 使用分页查询处理大量数据
  3. 监控与告警

    • 设置关键指标(CPU 使用率、内存使用率、QPS 等)的监控和告警
    • 定期分析慢查询日志,优化性能瓶颈

通过遵循这些最佳实践,您可以更有效地管理和使用 Warebase,提高系统的性能和可维护性,同时优化成本。