天天看點

Greenplum企業應用實戰

  • 第一章 greenplum簡介
  • 第二章 greenplum 快速入門
  • 第三章 Greenplum 實戰
  • 第四章 資料字典詳解
  • 第五章 執行計劃詳解
  • 第六章 Greenplum 進階應用
  • 第七章 Greenplum 架構介紹
  • 第八章 Greenplum 線上環境部署
  • 第九章 資料庫管理

很好的分析參考案例:GreenPlum簡單性能測試與分析

名詞解釋MPP:MPP 是将任務并行的分散到多個伺服器和節點上,在每個節點上計算完成後,将各自部分的結果彙總在一起得到最終的結果。

使用注意點:

1、資料分布方式包括:Hash分布、随機分布。Hash分布:指定一個或者多個分布鍵,Distributed by;随機分布:即平均分布,join時性能差,Distributed randomly。

     表的分片規則選取一定要慎重,盡可能選擇唯一且常用語 Join 的列作為 Distributed Key。

2、支援資料并發加載,gpfdist就是并發加載的工具。一般用來導入文本資料。例:先編寫gpload.yaml,然後gpload -f gpload.yaml。

3、Appendonly :壓縮表必須是Appendonly表,是隻能不斷追加的表,不能進行更新和删除。

                             Appendonly表還有一種特殊的形式,就是列存儲。列存儲尤其适合在寬表中部分字段進行篩選的場景。

Greenplum企業應用實戰

4、gp 資料庫的性能由一組 Segment 服務中最慢的 Segment 決定,是以要確定基本的運作 gp 資料的硬體與作業系統在同一性能級别,同樣建議在 gp 資料系統中的所有 Segment 機器有一樣的資源與配置。

5、gp 資料庫推薦使用标準的千兆以太網交換機來做 Interconnect。

6、跨庫關聯:

gp 資料庫将表資料分散至所有 Segment 執行個體,當需要進行表關聯分析時,由于各個表的 Distributed Key 不同,相同值的行資料可能分布在不同伺服器的不同 Segment 執行個體,是以不可避免需要在不同 Segment 間移動資料才能完成 Join 操作。跨庫關聯也正是分布式資料庫的難點之一。gp 資料庫是如何解決這個問題的:

(1)Join 操作的兩個表的 Distributed Key 即 Join Key

   由于 Join Key 即為兩個表的 Distributed Key,故兩個表關聯的行本身就在本地資料庫(即同一個 Segment 執行個體),直接關聯即可。在這種情況下,性能也是最佳的。

(2)Join 操作的兩個表中的一個 Distributed Key 與 Join Key 相同

   由于其中一個表的 Join Key 和 Distributed Key 不一緻,故兩個表關聯的行不在同一個資料庫中,便無法完成 Join 操作。在這種情況下就不可避免地需要資料跨節點移動,将關聯的行組織在同一個 Segment執行個體,最終完成 Join 操作。gp 可以選擇兩種方式将關       聯的行組織在同一個 Segment 中,其中一個方式是将 Join Key 和 Distributed Key 不一緻的表按照關聯字段重分布(Redistribute Motion),另一種方式是可以将 Join Key 和 Distributed Key 不一緻的表在每個 Segment 廣播(Broadcast Motion),也就是每個      Segment 都複制一份全量

(3)Join 操作的兩個表的 Distributed Key 和 Join Key 都不同

   由于兩個表的 Join Key 和 Distributed Key 都不一緻,故兩個表關聯的行不在同一個資料庫中,便無法完成 Join 操作。同樣在這種情況下,一種方式将兩個表都按照關聯字段重分布(Redistribute Motion),另一種方式可以将其中一個表在每個 Segment 廣播(Broadcase Motion),也就是每個 Segment 都複制一份全量

7、叢集裝好之後可以檢測一下叢集的性能,gpcheckperf  利用 gp 自帶的 gpcheckperf 工具可以很友善地測試檔案系統的讀寫性能。