經過測試,得到了優化表前后的加載時間、存儲占用情況和查詢執行時間,并記錄了結果,針對結果進行對比分析。
下表顯示了本次實踐所用集群的示例結果。您的結果會有所不同,但應顯示出相似的提升。
基準 優化前 優化后 改變 百分比 加載時間(11張表)
341584ms
257241ms
-84343ms
-24.7%
占用存儲
-
-
Store_Sales
42GB
14GB
-28GB
-66.7%
Date_Dim
11MB
27MB
16MB
145.5%
Store
232kB
4352kB
4120kB
1775.9%
Item
110MB
259MB
149MB
1354.5%
Time_Dim
11MB
14MB
13MB
118.2%
Promotion
256kB
3200kB
2944kB
1150%
Customer_Demographics
171MB
11MB
-160MB
-93.6
Customer_Address
170MB
27MB
-143MB
-84.1%
Household_Demographics
504kB
1280kB
704kB
139.7%
Customer
441MB
111MB
-330MB
-74.8%
Income_Band
88kB
896kB
808kB
918.2%
總存儲空間
42GB
15GB
-27GB
-64.3%
查詢執行時間
-
-
查詢1
14552.05ms
1783.353ms
-12768.697ms
-87.7%
查詢2
27952.36ms
14247.803ms
-13704.557ms
-49.0%
查詢3
17721.15ms
11441.659ms
-6279.491ms
-35.4%
總執行時間
60225.56ms
27472.815ms
-32752.745ms
-54.4%
調優后表的評估
- 加載時間減少了24.7%。
分布方式對加載的影響明顯,Hash分布方式提升加載效率,Replication分布方式會降低加載效率。在CPU和I/O均充足的情況下,壓縮級別對加載效率影響不大。通常,列存表的加載效率比行存要高。
- 存儲占用減少了64.3%。
壓縮級別、列存和Hash分布均能夠節省存儲空間。Replication表會明顯加大存儲占用,但是可以減小網絡開銷。通過對小表采用Replication方式,是使用小量空間換取性能的正向做法。
- 查詢性能(速度)提升了54.4%,即查詢時間減少了54.4%。
查詢性能方面的提升源于對存儲方式、分布方式和分布列的優化。在多字段表,統計分析類查詢場景下,列存可以提升查詢性能。對于Hash分布表,在讀/寫數據時可以利用各個節點的IO資源,提升表的讀/寫速度。
重寫查詢和配置工作負載管理
(WLM) 通常可進一步提升查詢性能。
基于調優表實踐的具體步驟,您可以進一步應用“2 調優表實踐”中的優秀實踐方法來改進表的分配,以達到您所期望的數據加載、存儲和查詢方面的效果。
清除資源
在完成本次實踐之后,應遵循中的步驟刪除集群。
如果希望保留集群,但撤銷SS表使用的存儲空間,請執行以下命令。
DROP TABLE store_sales;
DROP TABLE date_dim;
DROP TABLE store;
DROP TABLE item;
DROP TABLE time_dim;
DROP TABLE promotion;
DROP TABLE customer_demographics;
DROP TABLE customer_address;
DROP TABLE household_demographics;
DROP TABLE customer;
DROP TABLE income_band;