導讀:Greenplum 與 Amazon Web Services 通過合作已經可以輕鬆地實現 Greenplum 的部署和持續運維。這個功能非常有必要,但還不夠。尤其是,我們已經投入資源使 Greenplum 實現真正的雲原生化。這意味著,我們通過易於使用、可擴展、經濟高效而又具有高性能的解決方案,獲得了在雲計算領域的優勢。
基於公有云的 Greenplum 目前在性能方面可與專用裸機安裝相提並論,但無需前期資本支出。它速度快、支持跨IaaS、屬於混合雲、開源且功能強大(而且在經濟效益方面很有吸引力)!
我們優化了基於公有云的 Greenplum 6,以更好地適用雲原生模式,與 AWS 的合作,就是非常好的例子。
Greenplum 針對雲原生進行了優化
基於 AWS 的 Greenplum 具備以下架構屬性:
- 可通過 AWS CloudFormation 實現自動部署
- 自我修復:如果任何虛擬機實例出現故障,系統會自動創建替換實例,然後執行端到端恢復過程。
- 快照備份:EBS 磁盤快照自動化功能讓您能夠以極快的速度執行數據庫備份。
- 獨立於計算,在線增加存儲空間。
- 按需災難恢復:將 EBS 磁盤快照複製到其他區域並在必要時僅調配一個災難恢復集群。
Greenplum 針對雲託管進行了優化
運維體驗如何?基於 AWS 的 Greenplum 非常適合公有云運維模型:
- 暫停/恢復:僅在需要集群時為其付費。
- 自動維護:自動執行常見數據庫管理維護命令
- 自動執行可選安裝:一個命令即可安裝各種可選組件。
- 自動升級:新版本發佈後,管理員會收到通知,並且可以選擇通過一個命令進行升級。
性能優化是一項長期持續的任務,最新版本的基於 AWS 的 Greenplum 在這一領域又向前邁進了一步。我們來更深入瞭解一下如何平衡性能和計算支出。
Greenplum 針對存儲進行了優化
吞吐量(而非IOPS)對 Greenplum 磁盤性能至關重要。吞吐量以 MB/s 為單位,可使用 Greenplum gpcheckperf 進行觀察。AWS 還發布了性能和成本指標。摘要信息如下:
對於 ST1 和 SC1 磁盤,我們還必須考慮基本吞吐量和突增吞吐量。隨著卷大小的增加,基本吞吐量也會提高。
GP2 和 IO1
我們通過評估發現,與 ST1 和 SC1 存儲相比,這些選項成本較高。另外,對於 Greenplum 等高吞吐量應用來說,這些不是最佳選擇。
ST1 和 SC1
若要實現最高突增速度,SC1 磁盤存儲空間至少要達到 3.125TB;對於ST1,至少要達到2TB。
如果您需要 8TB 數據,則可以使用2個 SC1 磁盤,每個 4TB,這樣可實現與1個 8TB 的 ST1 磁盤相同的突增吞吐量。不過,價格要比 SC1 磁盤便宜44%!採用我們的配置,您可以實現相同的突增性能,同時節省44%的資金。
Greenplum 針對計算進行了優化
我們研究了 AWS 中提供的多種實例類型,最終確定R5系列的CPU、內存和EBS磁盤性能組合最適合 Greenplum。
R5系列:深入研究
2018年6月,Amazon發佈了R5系列。這些實例是R4系列的升級版,速度更快且更經濟實惠。與其他實例類型一樣,EBS磁盤性能有相應的速度限制,如下表所示。
R5系列的主要功能特性:
- r5.xlarge、r5.2xlarge 和 r5.4xlarge 的磁盤吞吐量值相同。
- r5.8xlarge 的價格是 r5.4xlarge 的2倍,但磁盤吞吐量未達到2倍。
此圖顯示了各種 R5 實例類型的疊加方式。請注意,與 r5.xlarge 相比,r5.2xlarge 在 CPU、內存和成本改進方面提升了一倍。但是,磁盤性能沒有區別,因為是相同的。
換句話說,r5.12xlarge 的成本是 r5.4xlarge 的3倍,同時具備3倍CPU和3倍內存。
但是,r5.12xlarge 提供的磁盤性能僅為 r5.4xlarge 的2倍。
因為我們與 Greenplum 進行了 I/O 綁定,所以最好使用3個 r5.4xlarge 節點,而不是1個 r5.12xlarge 節點。採用 SC1 存儲,相同成本可實現更高的吞吐量。
總結
我們確定,與使用一個 ST1 磁盤相比,使用多個 SC1 磁盤能以更低的成本實現同樣的吞吐量。然後,我們發現,採用更小的實例類型,在成本一定的情況下,我們能夠從集群獲得更高的總吞吐量。基於 AWS 的 Greenplum 的當前配置實現了上述結果,並對分段實例採用 r5.4xlarge 實例類型,每個實例3個 SC1 磁盤。即使採用相對較小的磁盤,也能實現該實例類型的最大吞吐量,同時節省資金。最終,與之前 Marketplace 上的產品相比,我們節省了44%的數據存儲成本!
集群中的主節點通常不需要大量資源,因此可以使用容量較小但價格較低的 r5.xlarge。r5.2xlarge 和r5.4xlarge 實例類型也可用於主實例,但較小的實例類型應該足夠了。存儲採用一個可調整為很小容量的 SC1 磁盤,不僅節省資金,還能提供出色的性能。
進行下一步:部署基於 AWS 的 Greenplum
部署基於 AWS 的 Greenplum 比以往任何時候都更簡單。選擇“確定”即可查看 AWS Marketplace 中的 Pivotal Greenplum 自帶許可(BYOL)和 Pivotal Greenplum(按小時付費)產品。BYOL 還可享受90天的免費評估期!
此外還有單實例選項,非常適合開發和測試用例。
關於作者
Jon Roberts 是一位首席工程師,負責領導在 AWS、Microsoft Azure 和 Google Cloud Platform Marketplace 中部署 Greenplum 和 Postgres 的開發工作。在此之前(追溯到2010年),他一直擔任平臺工程和銷售工程職務。在加入 Pivotal 之前,他已成為 Greenplum 客戶三年。他擁有路易斯維爾大學的工商管理學士學位,非常優秀!
閱讀更多 Greenplum中文社區 的文章