03.06 「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

導讀: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 還發布了性能和成本指標。摘要信息如下:

「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

us-east-1 的定價

對於 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磁盤性能有相應的速度限制,如下表所示。

「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

R5系列的主要功能特性:

  • r5.xlarge、r5.2xlarge 和 r5.4xlarge 的磁盤吞吐量值相同。
  • r5.8xlarge 的價格是 r5.4xlarge 的2倍,但磁盤吞吐量未達到2倍。

此圖顯示了各種 R5 實例類型的疊加方式。請注意,與 r5.xlarge 相比,r5.2xlarge 在 CPU、內存和成本改進方面提升了一倍。但是,磁盤性能沒有區別,因為是相同的。

「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

換句話說,r5.12xlarge 的成本是 r5.4xlarge 的3倍,同時具備3倍CPU和3倍內存。

但是,r5.12xlarge 提供的磁盤性能僅為 r5.4xlarge 的2倍。

「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

因為我們與 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天的免費評估期!

此外還有單實例選項,非常適合開發和測試用例。




關於作者

「GP上雲」基於 AWS 的 Greenplum 6:針對雲進行了優化

Jon Roberts 是一位首席工程師,負責領導在 AWS、Microsoft Azure 和 Google Cloud Platform Marketplace 中部署 Greenplum 和 Postgres 的開發工作。在此之前(追溯到2010年),他一直擔任平臺工程和銷售工程職務。在加入 Pivotal 之前,他已成為 Greenplum 客戶三年。他擁有路易斯維爾大學的工商管理學士學位,非常優秀!


分享到:


相關文章: