关于 Database Designer

Vertica Database Designer 使用复杂的策略创建一个设计,该设计可以为临时查询和特定查询提供卓越的性能,同时高效地使用磁盘空间。

在设计过程中,Database Designer 会分析逻辑架构定义、示例数据和示例查询,然后以您自动或手动部署的 SQL 脚本的形式创建一个物理架构( 投影)。此脚本创建一个最小的超投影集来保证 K-safety。

大多数情况下,Database Designer 创建的投影可在物理约束范围内实现出色的查询性能,同时高效地使用磁盘空间。

常规设计选项

当您运行 Database Designer 时,可使用几个常规选项:

  • 创建全面或增量设计。

  • 优化查询的执行、加载或平衡这两者。

  • 需要 K-safety。

  • 如果可行,建议使用未分段投影。

  • 在创建设计前分析统计信息。

设计输入

Database Designer 的设计基于您提供的以下信息:

  • 您通常在正常数据库操作期间运行的设计查询

  • 包含示例数据的设计表

输出

Database Designer 生成以下输出:

  • 一个设计脚本,该脚本以满足优化目标以及在整个群集中均匀分布数据的方式为设计创建投影。

  • 一个部署脚本,该脚本为设计创建和刷新投影。为了获得全面的设计,部署脚本包含一些用于移除非优化投影的命令。部署脚本包括完整的设计脚本。

  • 一个备份脚本,该脚本包含一些 SQL 语句,用于部署在部署前存在于系统上的设计。如果您需要还原到部署前的设计,此文件非常有用。

设计限制

Database Designer 生成的设计:

  • 不包括实时聚合投影或 Top-K 投影。必须手动创建这些投影。请参阅CREATE PROJECTION

  • 不要在 LONG VARBINARY 和 LONG VARCHAR 列上对投影进行排序、分段或分区。

设计后选项

运行 Database Designer 时,您可以选择在创建部署脚本后自动部署您的设计,或者在审查并测试了设计后手动部署该设计。Vertica 建议先在非生产服务器上测试设计,然后再将该设计部署到生产服务器。