Database Designer 使用
关于Database Designer
Vertica Database Designer使用复杂的策略创建一种设计,可在高效使用磁盘空间的同时为即席查询和特定查询提供出色的性能。
在设计过程中,Database Designer会分析逻辑架构定义,示例数据和示例查询,并以您自动或手动部署的SQL脚本的形式创建物理架构(projections)。该脚本创建了一组最小的超级投影以确保K-safety。
在大多数情况下,Database Designer创建的projections在物理约束内提供出色的查询性能,同时有效地使用磁盘空间。
使用场景
我们知道,在vertica中,数据是存储在projections中的,针对每个projection,我们可以指定包含那些列,列的编码压缩方式,排序方式,分布方式等。而vertica在执行查询操作时,会根据优化器找到一个或多个针对该查询的最好的projections。综上所述,我们可以通过设计projections来达到优化数据库的查询性能的目的。
创建database Designer的方法
有三种方法可以使用 Database Designer 创建设计:
从管理控制台 (Management Console) 中打开数据库并选择窗口底部的设计(Design) 页面。有两种设计方法,分别是向导设计和手动设计。
以编程方式运行 Database Designer 。 要以编程方式运行Database Designer,您必须是DBADMIN或已被授予DBDUSER 角色并已启用该角色。
3.从管理工具 (Administration Tools) 菜单中,选择配置菜单 (Configuration Menu)运行 Database Designer (Run Database Designer)。您必须是DBADMIN用户才能从管理工具 (Administration Tools) 中运行Database Designer。
Run Database Designer with Administration Tools
1.登录管理工具
[dbadmin@V001 ~]$ su - dbadmin
[dbadmin@V001 ~]$ admintools
2. 确定要创建设计的数据库是开启的
进入管理工具后,选择1 View Database CLuster State查看将要创建设计的数据库是否开启
3.在管理工具中,选择6 Configuration Menu, 在进入Configuration Menu后,选择2 Run Database Designer
4.选择要设计的数据库,点击OK
5.选择Database Designer输出和日志默认位置
6..输入设计名称
7. 选择Design Type
说明:
- 对于数据库的初次设计,建议进行全面设计。后续测试过程中,如果想更好的优化数据库性能,可以针对某个或某些sql进行增量设计。
- 全面设计将为指定架构中的所有表创建一个初始设计或替换设计。
- 在创建全面Database Designer设计时,也可以为 Database Designer 提供您计划使用的具有代表性的查询,以便Database Designer 可以优化这些查询的设计。如果您未提供任何查询,Database Designer 会创建一个超级投影常规优化方案,该方案可最大限度减少存储并且不包含任何查询特定的投影。
- 增量设计会创建一个包含更多投影的增强设计。如果需要,可以专门针对您提供的查询对这些投影进行优化。当您具有要优化的一个或多个查询时, 可以创建一个增量设计。
8. 选择需要应用该设计器的模式
说明:
- 该设计需要覆盖到的表对应的模式
9.选择Design Option 全选
说明:
- 更新统计信息:精确的统计信息可以帮助Database Designer选择最佳的数据压缩策略。如果您选择此选项,则会更新数据库统计信息以最大限度提高设计质量。
- 部署设计(Deploy design):新设计会自动部署。部署期间,系统会添加新投射,保留部分现有投射,并根据需要删除现有投射。所有新投射都会刷新,以填充数据。
10.输入在数据库中需要运行的查询所在的文件完整路径
说明:
- 需要提前把sql写入该文件,并且修改该文件的权限(chmod -R 777 figure_area_crash_query_01.sql),以便dbadmin可以 访问。
11.确认之前的选项,然后启动 Database Designer proceed
12.启动所输出的日志
13. 查看配置目录
[root@V001 designer]# pwd
/home/soft/designer
[root@V001 designer]# ls
catalog_dump.sql designer.log FIGURE_F_CRASH_D_deploy.sql FIGURE_F_CRASH_D_query_design.sql
design_config_name.txt figure_area_crash_query_01.sql FIGURE_F_CRASH_D_params.txt
说明:
- 该目录下的文件都记录了比较该设计的相关的信息,包括因为设计而新增的projection、设计的配置参数、该设计的元数据信息等
14.验证加入设计器中的sql的查询性能是否提升
验证结果....
15. 删除设计器
viid=> select DESIGNER_DROP_DESIGN ('FIGURE_F_CRASH_D');