GaussDB(DWS) 《DWS之TPC-DS&TPC-H與查詢性能的那些事兒》

      網友投稿 1032 2025-03-31

      TPC-DS&TPC-H與查詢性能的那些事兒

      1????? 綜述

      本文目標在于,詳細講述使用GaussDB(DWS)時,如何使用TPC-DS/TPC-H等標準數據模型,獲取DWS的查詢性能數據。主要包括,整體流程概述,DWS集群和ECS彈性云服務器環境準備,TPC-DS/TPC-H造數,建表與數據導入,執行查詢與結果收集四個章節。受限于編輯器的顯示,為了更好地閱讀效果,煩請下載附件的原版文檔查看,獲取相關腳本。其中涉及的很多操作細節無法一一展開敘述,以梳理和展示整體的邏輯為主。其中主要涉及的工具OBS/GDS/JDBC copy后續會單獨開篇敘述。若有無法解決的疑問,歡迎評論留言。

      2????? 整體流程概述

      3????? DWS集群和ECS彈性云服務器環境準備

      3.1????? 創建ECS彈性云服務器

      計費模式

      按需計費

      區域

      華北-北京4

      可用區

      可用區1

      CPU架構

      鯤鵬計算

      規格

      鯤鵬內存優化型 | km1.2xlarge.8 8vCPUs|64 GiB

      鏡像

      EulerOS 2.8 64bit with ARM(40GB)

      數據盤

      系統盤通用型SSD 40GB,額外增加一塊 超高IO 1200GB 數據盤

      3.2????? 創建DWS數據倉庫

      區域

      華北-北京四

      產品類型

      云數倉

      CPU架構

      鯤鵬

      節點規格

      Dwsk2.2xlarge | 8 vCPUs | 64GB

      每節點可用存儲

      100GB

      節點數

      12

      4????? TPC-DS/TPC-H造數

      4.1????? 準備數據生成工具

      遠程連接ECS彈性云

      執行 yum install git,安裝git

      執行 yum install gcc,安裝gcc

      執行 mkdir –p /data1/script/tpcds-kit/tpcds1000X ; mkdir –p /data1/script/tpch-kit/tpch100X 創建tpc-ds或者tpc-h的存放目錄

      TPC-DS造數工具dsdgen請從官網獲取最新版本。

      通過FTP或者OBS服務上傳到ECS的 /data1/script/tpcds-kit;(OBS使用方法詳見附錄1)

      TPC-H造數工具可直接git clone下載。

      cd /data1/script/tpch-kit;

      git clone https://github.com/gregrahn/tpch-kit.git

      解壓tpch的包,進入dbgen目錄,make 編譯對應的造數工具dbgen

      解壓tpcds的包,進入tools目錄,make 編譯對應的造數工具dsdgen

      4.2????? 生成數據文件

      生成TPCH數據文件

      進入dbgen目錄后,執行./dbgen –s 100 > ./dbgen_100.log 2>&1 &,下發生成100Xtpch數據的命令到后臺執行

      可以通過du –sh dbgen/*.tbl,判斷數據文件的生成進度。100Xtpch數據文件總大小約107GB,

      也可以通過ps ux|grep dbgen,查看生成數據文件的進程是否退出

      生成TPCDS數據文件

      因為tpcds1000X的數據,單個標的數據文件較大,我們采取分片生成的策略。

      進入tools目錄后,執行

      for c in {1..10};do (./dsdgen –sc 1000 –parallel 10 –child ${c} –dir /data1/script/tpcdsk-kit/tpcds1000X? > /dev/null 2>&1 &);done

      其中,

      -sc? 指定數據規模

      -parallel? 指定分片數

      -child? 指定當前是生成分片中的第幾片

      -dir? 指定生成數據文件存放的目錄

      可以通過du –sh tpcds100X/*.dat,判斷數據文件的生成進度。1000Xtpcds數據文件總大小約920GB,

      也可以通過ps ux|grep dsdgen,查看生成數據文件的進程是否退出。

      5????? 建表與數據導入

      5.1????? GDS方式導入

      5.1.1??????? 從數據倉庫服務的連接管理頁面下載ECS對應版本的gsql客戶端,通過ftp或obs上傳到ECS上;(OBS使用方法詳見附錄1)

      5.1.2??????? 在ECS上部署GDS,詳見華為云官方資料https://support.huaweicloud.com/tg-dws/dws_07_0759.html

      5.1.3??????? 在ECS上通過gsql工具連接集群,連接群集群所需的ip和端口號信息,可以從數據倉庫服務的連接管理頁面獲取

      5.1.4??????? 在ECS上使用gsql連接集群,創建tpch/tpcds的內表和gds外表。建表語句詳見如下sql文件,

      5.1.5??????? 在ECS使用gsql連接集群,通過GDS外表,使用insert into [目標表] select * from [目標表外表]的方式導入數據到集群內。

      5.2????? JDBC copy方式導入

      5.2.1??????? 從數據倉庫服務的連接管理頁面下載ECS對應版本的JDBC驅動,通過ftp或obs上傳到ECS上;(OBS使用方法詳見附錄1)

      5.2.2??????? 上傳JDBC驅動和copy的java腳本到ECS,此處提供dws_copy.java源碼

      5.2.3??????? 在ECS上javac編譯java文件,然后生成copy編譯后源碼和JDBC驅動的jar包,Copy.jar。編譯和生成jar包詳細流程如下圖,

      5.2.4??????? 在ECS上java –jar Copy.jar通過JDBC copy數據到集群內。

      GaussDB(DWS) 《DWS之TPC-DS&TPC-H與查詢性能的那些事兒》

      可執行源碼和二次封裝的shell JDBC導數執行腳本詳見如下壓縮包

      注.JDBC copy導入數據,詳見此篇博客https://bbs.huaweicloud.com/blogs/350006。

      6????? 執行查詢與結果收集

      6.1????? 通過編寫shell腳本自動化執行查詢和結果收集。

      腳本壓縮包如下,其中包含query.conf和run_query.sh兩個文件。

      query.conf為集群信息配置文件,包含如下四個變量

      db_name=tpcds_test????????????????? 數據庫名稱

      db_port=6000?????????????????????? 數據庫端口號

      db_user=tpcds_user????????????????? 數據庫用戶

      user_passwd=Gauss_234????????????? 數據庫用戶密碼

      編輯query.conf為集群對應的信息后,執行sh run_query.sh即可開始查詢執行和結果收集。

      注意事項:

      gsql客戶端的使用需要每次連接后,source gsql_env,執行查詢腳本前請確認gsql可執行;

      每個查詢會跑6次,一次收集執行計劃,兩次預熱,三次正式查詢,最終結果取后三次查詢的平均值;

      查詢腳本執行后會立即生成query_log_yymmdd_hhmmss名稱的目錄,其中

      exlain_log子目錄存放查詢計劃,

      pre_warm子目錄存放預熱執行結果,

      real_test子目錄存放正式查詢執行結果,

      query_result.csv文件,csv格式匯總所有查詢的執行結果,csv中結果實例如下圖

      7????? 附錄

      7.1????? 華為云OBS官方使用指導

      https://support.huaweicloud.com/browsertg-obs/obs_03_1000.html

      附件: 《GaussDB(DWS) 之TPCD-DS&TPC-H與查詢性能的那些事兒》.docx 2.25MB 下載次數:2次

      EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS怎么制作PPT視頻文件? WPS制作視頻文件的兩種方法
      下一篇:家具制造業生產管理流程(家具生產工序流程管理)
      相關文章
      国产精品成人亚洲| 亚洲国产精品自在自线观看| 亚洲午夜精品一级在线播放放| 亚洲欧好州第一的日产suv| 亚洲AV综合色区无码二区爱AV| 久久亚洲精品无码aⅴ大香| 亚洲国产精品一区二区久久| 亚洲丁香色婷婷综合欲色啪| 亚洲AV无码成人精品区在线观看| 亚洲国产一二三精品无码| 亚洲精品乱码久久久久久久久久久久 | 久久亚洲国产成人精品无码区| 亚洲精品一级无码鲁丝片| 亚洲国产成人久久综合区| 亚洲精品成人久久久| 亚洲精品美女久久久久99小说| 亚洲国产综合人成综合网站| 亚洲日韩精品无码专区网站| 亚洲视频在线一区二区| 久久亚洲中文字幕精品一区四| 国产亚洲精品看片在线观看| 久久久久亚洲精品天堂久久久久久| 国产日产亚洲系列最新| 亚洲人成网7777777国产| 亚洲AV成人一区二区三区AV| 久久亚洲私人国产精品vA| 亚洲国产精品成人综合久久久| 亚洲国产情侣一区二区三区| 男人天堂2018亚洲男人天堂| 亚洲av无码无线在线观看| 亚洲电影日韩精品| 亚洲午夜久久久影院伊人| 亚洲av无码片在线播放| 亚洲美女在线观看播放| 亚洲欧洲日本在线观看| 国产精品亚洲天堂| 亚洲夜夜欢A∨一区二区三区| 久久久久亚洲AV无码专区首| 亚洲日本在线观看网址| 国产精品亚洲专区在线观看| 在线亚洲精品视频|