检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
准备数据构建工具编译环境 远程连接ECS弹性云服务器。 执行以下命令, 安装git。 yum install git 执行以下命令,安装gcc。 yum install gcc 父主题: 构建TPC-H&TPC-DS使用数据
步骤2:测试初始表结构下的系统性能并建立基线 在优化表结构前后,请测试和记录以下详细信息以对比系统性能差异: 数据加载时间。 表占用的存储空间大小。 查询性能。 本次实践中的示例基于使用8节点的dws.d2.xlarge集群。因为系统性能受到许多因素的影响,即使您使用相同的集群配置,结果也会有所不同。
概述 本性能测试基于TPC-H和TPC-DS标准测试集进行测试。 TPC-H TPC-H由国际事务处理性能委员会(Transaction Processing Performance Council)制定发布,用于评测数据库的分析查询能力。TPC-H查询包含8张数据表和22条复杂
先不指定存储方式,分布键、分布方式和压缩方式创建表,然后为这些表加载测试数据并测试系统性能。接下来,您将应用调优表实践以使用新的存储方式、分布键、分布方式和压缩方式重新创建这些表,并再次为这些表加载测试数据和测试系统性能,以便比较不同的设计对表的加载性能、存储空间和查询性能的影响。
创建数据仓库GaussDB(DWS) 参见“创建集群”章节创建GaussDB(DWS)数据仓库。创建成功后,记录集群的内网IP。 为确保ECS与GaussDB(DWS)网络互通,GaussDB(DWS)数据仓库需要与ECS在同一个区域,同一个虚拟私有云和子网下。 表1 DWS规格
通过编写shell脚本自动化执行查询和结果收集 登录ECS,进入到/opt目录下,使用vim命令生成query.conf和run_query.sh两个脚本文件。脚本内容如下,编辑后按:wq!保存脚本配置。 run_query.sh脚本如下: 1 2 3 4 5 6 7
操作场景 数据仓库服务GaussDB(DWS)是完全托管的企业级云上数据仓库服务,具备免运维、在线扩展、高效的多源数据加载能力,兼容PostgreSQL生态。助力企业经济高效地对海量数据进行在线分析,实现数据快速变现。 本文以创建3节点的GaussDB(DWS)集群为例,通过导入OB
包。 客户端工具包包含以下内容: 数据库连接工具Linux gsql和测试样例数据的脚本 Linux gsql是一款运行在Linux环境上的命令行客户端,用于连接GaussDB(DWS)集群中的数据库。 测试样例数据的脚本是执行入门示例时用的。 Windows版本gsql Windows
创建弹性云服务器ECS 参考《弹性云服务器用户指南》创建弹性云服务器,创建的规格可参见下表。 由于TPC-DS、TPC-H数据集占用空间较大,以TPC-DS 1000X和TPC-H 1000X为例,分别占用930GB和1100GB。请创建弹性云服务器时,根据需求添加数据盘,举例如下:
优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。 测试SQL如下: 1 2 3 4 5 SELECT count(1) FROM t_ddw_f10_op_cust_asset_mon
优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数。 测试SQL如下: 1 2 3 4 5 SELECT count(1) FROM t_ddw_f10_op_cust_asset_mon
步骤6:调优表性能评估 经过测试,得到了优化表前后的加载时间、存储占用情况和查询执行时间,并记录了结果,针对结果进行对比分析。 下表显示了本次实践所用集群的示例结果。您的结果会有所不同,但应该显示出相似的性能提升。 基准 优化前 优化后 改变 百分比 加载时间(11张表) 341584ms
案例:使排序下推 在做场景性能测试时,发现某场景大部分时间是CN端在做window agg,占到总执行时间95%以上,系统资源不能充分利用。研究发现该场景的特点是:将两列分别求sum作为一个子查询,外层对两列的和再求和后做trunc,然后排序。可以尝试将语句改写为子查询,使排序下推。
案例:使排序下推 在做场景性能测试时,发现某场景大部分时间是CN端在做window agg,占到总执行时间95%以上,系统资源不能充分利用。研究发现该场景的特点是:将两列分别求sum作为一个子查询,外层对两列的和再求和后做trunc,然后排序。可以尝试将语句改写为子查询,使排序下推。
单击“确定”。等待RDS连接创建成功。 测试DLI到RDS的连通性。 左侧导航栏选择“资源管理 > 队列管理”,选择dli_dws所在行操作列的“更多 > 测试地址连通性”。 地址栏内输入1.c记录的RDS的内网地址和3306端口。 单击“测试”,验证DLI连通RDS成功。 图5 测试RDS与DLI连通
如何调整GaussDB(DWS)分布列? 在数据仓库类型的数据库中,大表的分布列选择对于数据库和语句查询性能都有至关重要的影响。 如果表的分布列选择不当,在数据导入后有可能出现数据分布倾斜,进而导致某些磁盘的使用明显高于其他磁盘,极端情况下会导致集群只读。对于Hash分表策略,存
分区表插入数据报错:inserted partition key does not map to any table partition 问题现象 给范围分区表插入数据报错:inserted partition key does not map to any table partition。
ADB信息 单击“测试”,测试连通后,单击“保存”。 配置CDM的目标端连接。 参见同样方法,选择“作业管理 > 连接管理 > 新建连接”。 选择“数据仓库服务(DWS)”,单击“下一步”。 同理,填写DWS的数据库信息。 图8 DWS信息 单击“测试”,测试连通后,单击“保存”。
Hologres连接信息 单击“测试”,测试连通后,单击“保存”。 配置CDM的目标端连接。 参见同样方法,选择“作业管理 > 连接管理 > 新建连接”。 选择“数据仓库服务(DWS)”,单击“下一步”。 同理,填写DWS的数据库信息。 图7 DWS连接信息 单击“测试”,测试连通后,单击“保存”。
欢迎使用数据仓库服务GaussDB(DWS)。数据仓库服务是完全托管的企业级云上数据仓库服务,具备免运维、在线扩展、高效的多源数据加载能力,兼容PostgreSQL生态,并助力企业经济高效地对海量数据进行在线分析,实现数据快速变现。 您可以使用本文档提供的API对数据仓库服务的集群、快照、标签进行