Greenplum企業應用實戰

2021-10-12 15:37:15 字數 1813 閱讀 7207

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

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

使用注意點:

1、資料分布方式包括:hash分布、隨機分布。hash分布:指定乙個或者多個分布鍵,distributed by;隨機分布:即平均分布,join時效能差,distributed randomly。

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

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

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 工具可以很方便地測試檔案系統的讀寫效能。

《Greenplum企業應用實戰》一導讀

為什麼寫作本書 阿里巴巴是國內最早使用greenplum作為資料倉儲計算中心的公司。從2009年到2012年greenplum都是阿里巴巴b2b最重要的資料計算中心,它替換掉了之前的oracle rac,有非常多的優點。greenplum的效能在資料量為tb級別時表現非常優秀,單機效能相比hadoo...

《Greenplum企業應用實戰》一2 4 小結

本章主要介紹了greenplum的安裝和部署,以及一些簡單的基本的資料庫操作及使用注意點,力求使讀者可以快速了解greenplum的特性,迅速上手,後續的章節會詳細介紹greenplum的一些高階特性以及管理和優化。與普通的postgresql資料庫的最大不同就是,greenplum是分布式資料庫,...

企業實戰 企業FTP搭建

提前關閉selinux 和firewalld防火牆 1.安裝vsftp軟體包 yum y install vsftpd 2.啟動vsftpd伺服器 systemctl restart vsftpd systemctl enable vsftpd 3.檢查服務是否正常啟動 ps ef grep vsf...