盤點 Greenplum 數據庫的十大特點,你知道嗎?
01 開放源代碼
Greenplum數據庫于2015年由Pivotal公司開源,遵循Apache Licence 2.0協議,官方網站為:
http://greenplum.org
代碼托管在GitHub上,鏈接為:
https://github.com/greenplum-db/gpdb
開放源碼一方面可以為數據庫用戶和開發人員提供Greenplum數據庫源碼級的實現參考,另一方面可以吸引更多的數據庫開發者參與到Greenplum社區維護中。
02 高擴展性
Greenplum數據庫采用大規模無共享架構,將多臺服務器組裝成強大的計算平臺,實現高效的海量并行運算。Greenplum數據庫可以支持1000個以上的集群,管理的數據規模從TB級到PB級,可以滿足多數企業的數據處理需求。
03 高查詢性能
Greenplum的高性能不僅來自高效的并行處理框架,還有查詢引擎的優化。Greenplum數據庫除了支持基于PostgreSQL的查詢優化之外,還專門開發了一個新的查詢優化器ORCA。
ORCA是一款自頂向下的基于Cascades框架的查詢優化器,目前已經成為企業版Greenplum數據庫的默認優化器。相比基于PostgreSQL的查詢優化器,ORCA查詢優化器能使部分查詢的性能提升10~1000倍。
04 高可用
Greenplum提供多級容錯機制,確保整個系統的高可用性。Master節點通過Standby Master節點進行備份,每個數據節點的Primary Segment實例分別配置一個Mirror Segment實例作為備份,同時確保同一組Primary Segment實例和Mirror Segment實例不在同一物理機上,從而降低因為宕機而導致數據丟失的風險。
05 高效資源管理
Greenplum提供了高效的資源管理機制,根據用戶的業務邏輯將資源合理地分配給查詢任務,避免查詢任務因查詢資源不足而得不到響應。
Greenplum資源管理主要包括對并發查詢數量的限制,查詢執行時內存、CPU資源使用的限制等。Greenplum數據庫提供了資源隊列(Resource Queue)和資源組(Resource Group)兩種資源管理方式,一般使用場景下采用默認配置即可。
06 多態存儲
用戶可以根據數據熱度或者訪問模式的不同使用不同的存儲方式,以獲得更好的查詢性能。用戶可以為一張表按照一定的規則(比如日期、月份)創建分區表,一張表的各個子分區表可以使用不同的物理存儲方式。
支持的存儲方式包括:
- 行存儲,數據以行的形式存儲在數據頁里,適合頻繁更新的查詢;
- 列存儲,數據以列的形式存儲在數據頁里,適合OLAP分析型查詢;
- 外部表,數據保存在其他文件系中,如HDFS、S3,數據庫只保留元數據信息。
07 生態完整
Greenplum數據庫擁有完善的SQL標準支持,包括SQL92、SQL99、SQL2003以及OLAP擴展,是對SQL標準支持最好的開源商用數據庫系統之一。同時,由于Greenplum數據庫基于PostgreSQL,因此也繼承了PostgreSQL對于JDBC、ODBC、C、Python API等接口的支持。
08 高效數據加載
Greenplum還有一個非常神奇的功能——GPload并行加載數據,即允許數據從多個文件系統通過多個主機上的多個網卡加載數據,從而達到非常高的數據傳輸率。筆者曾經在3個節點的集群上并行加載50GB、2億行記錄的數據,僅用時90s。
此外,Greenplum數據庫可以讀取和寫入多種類型的外部數據源,包括文本文件、XML文件、S3平臺文件、Gemfire、Web服務器以及Hadoop生態系統中的HDFS、Hive、HBase、Kafka、Spark等,同時支持數據壓縮以及字符集間的自動轉換。
09 高級數據分析功能
Greenplum數據庫支持各種過程化編程語言,包括PL/PostgreSQL、PL/R、PL/Python、PL/Java、PL/Perl等語言擴展。在高級數據分析方面,通過Greenplum數據庫的MADlib擴展模塊,用戶可以很方便地利用MPP架構完成大規模并行分析。
10 良好的監控管理和運維體驗
Greenplum數據庫提供基于Web的可視化工具—Greenplum Command Center(簡稱GPCC)。GPCC可以監控Greenplum數據庫系統的性能、集群健康狀態、查詢執行及系統資源使用情況,如圖2-4所示。
▲圖2-4 Greenplum數據庫資源監控中心界面
關于作者:王春波,資深架構師和數據倉庫專家,現任上海啟高信息科技有限公司大數據架構師,Apache Doris和openGauss貢獻者,Greenplum中文社區參與者。具有十多年的數據倉庫、數據集市、數據中臺項目實戰經驗,對大數據主流技術架構、產品選型與解決方案有深入研究,尤其擅長用優雅的SQL實現復雜的邏輯。
本文摘編自《高效使用Greenplum:入門、進階與數據中臺》,經出版方授權發布。(ISBN:9787111696490)