GBase新聞
GBASE金融應用指南9 | 性能調優
為幫助金融機構做好分布式分析型數據庫產品的選型,推廣在金融行業部署應用分布式分析型數據庫的成功經驗,GBASE南大通用在北京金融科技產業聯盟的指導下編寫《南大通用GBase 8a金融應用指南》。《指南》深入介紹了分布式分析型數據庫從選型規劃、開發設計規范、數據安全高可用,直至運維優化的部署全過程,并介紹了GBase 8a MPP Cluster在國家政策性銀行和國有大行的代表性部署案例。
GBASE南大通用將陸續推出系列文章,分享解讀《指南》內容,希望能夠對廣大金融用戶的數據庫選型提供借鑒幫助,助力科技金融的高效實施和高質量發展。本篇是系列文章的第9期,介紹數據庫系統的性能調優。
性能調優貫穿在項目的各個階段中,從規劃系統的邏輯架構就已經開始了優化之路,逐步經過系統邏輯架構設計->倉庫模型設計->數據模型設計->SQL開發->數據庫參數調整->業務調度,逐級優化,從宏觀到微觀,優化難度則由易到難,調整難度由難到易。
1、性能分析
通常項目設計和開發完成后,會進行正式上線前的測試和試用階段,在這個過程中通過集群監控工具可以觀察業務執行性能是否達標。如果存在性能不達標的業務sql,可通過查看不達標sql語句的執行計劃和trace日志來判斷可優化的關鍵點,根據這些關鍵點選擇參數優化、模型調優和SQL優化的方法來提升性能。
2、參數優化
GBase 8a產品提供了各服務的配置參數供用戶根據業務執行情況對集群靈活調優。觀察需要調優的業務sql特征,根據這些特征在下面列出的參數種類中選擇匹配的種類,在GBase 8a的《參數手冊》中瀏覽該類參數章節,選擇合適的參數調整測試,如:
SQL優化參數、SQL語法控制參數、內存相關參數、線程相關參數、資源管理相關參數、GBase 8a運行機制相關參數、數據傳輸相關參數等。
3、模型調優
需調優的sql在查詢計劃或者trace日志中表現出下列現象,則需進行模型調優:
? sql涉及的表數據量大且在集群各節點分布不均,出現數據傾斜
? 表關聯的中間結果集過大
模型調優包括
? 修改表類型(hash分布表、隨機分布表、復制表)
? hash分布表重新選擇hash分布列
? 基于列存的寬表設計和預處理優化,即將大表關聯提前進行預處理成寬表,原來的基于大表多表關聯的查詢轉化為基于預處理結果表的單表查詢
? 數據優化,數據排序入庫
? 數據壓縮優化,設置合適的壓縮模式
4、SQL優化
需調優的sql經檢查模型合理,可進一步進行SQL調優,一般在查詢計劃或者trace日志中出現下列現象,可進行SQL調優:
? 數據類型隱式轉換較多
? 表的關聯順序不合理
SQL調優包括:
? 表結構優化,如數據類型調整
? 索引優化
? SQL語句改寫優化