1. 程式人生 > >GreenPlum 開源,大規模並行查詢平臺

GreenPlum 開源,大規模並行查詢平臺

本博文主要介紹 GreenPlum 特點,核心元件以及底層架構

簡介

世界上第一個開源,大規模並行資料平臺。
GreenPlum 資料庫是一個高階的,功能齊全的開源資料平臺。它提供了PB級資料量上強大而快速的分析能力。GreenPlum 資料庫是專為大資料分析業務設計。在大資料量上提供高效能的查詢分析效能。

特點

底層基於PostgreSQL,但是GreenPlum資料庫增加了大量並行分析的創新設計。
(1)大規模並行處理架構
GreenPlum 資料庫架構提供了橫向擴充套件,無共享體系結構的資料和查詢並行化設計。
(2)PB規模資料載入
高效能載入使用MPP技術。載入速度隨著增加節點而增加,每個機架每小時10TB以上
(3)創新的查詢優化器

GreenPlum 資料庫提供的查詢優化器是業界首個針對大資料工作負載而設計的基於成本的查詢優化器。可以將互動式和批處理模式應用到PB級別的大型資料集上,但是不會降低查詢效能和吞吐量
(4)多型資料儲存和執行
表或者分割槽儲存,執行和壓縮設定可以按照資料訪問方式進行配置。使用者為每個表或者分割槽選擇面向行或者列的儲存和處理。
(5)高階的機器學習
由Apache MADlib提供,這是一個可擴充套件的資料庫內分析庫,通過使用者定義的函式擴充套件了Greenplum 資料庫的SQL功能
(6)外部資料訪問
通過外部表語法訪問和查詢所有資料, 支援傳統的內部部署和下一代公共資料湖。

GreenPlum資料庫是一個大規模並行處理(MPP)資料庫伺服器。其架構設計專門應用於管理大型分析資料倉庫和商業BI工作。

核心概念

(1)MPP, Greenplum and Postgresql MPP(也稱為無共享體系架構)是指具有兩個或者更多處理器的系統,它們協作執行操作,每個處理器都有各自的處理器,作業系統和磁碟。GreenPlum使用這種高效能系統架構來分配多TB資料倉庫的負載,並且可以並行使用系統資源來處理查詢操作。
GreenPlum資料庫基於PostgreSQL開源技術。基本上是有幾個PostgreSQL資料庫例項組合在一起作為一個數據庫管理系統。它基於PostgreSQL8.2.15,在大多數情況下,在SQL支援程度,功能和配置選項以及終端使用者功能方面和PostgreSQL相似。資料庫使用者與普通PostgreSQL資料庫管理系統互動和與GreenPlum資料庫互動方式一致。
GreenPlum資料庫底層的PostgreSQL內部已被修改或者補充來支援GreenPlum資料庫的並行結構。例如,系統目錄,優化器,查詢執行器以及書屋管理器元件已被修改和增強,以便能夠跨所有並行PostgreSQL資料庫例項來同時執行查詢操作。GreenPlum互聯(網路層)支援不同PostgreSQL資料庫例項之間的通訊,因為互聯層的存在,系統可以作為一個邏輯資料庫對外提供服務。
GreenPlum資料庫還包括一些專為BI工作提供的優化設計,例如,GreenPlum添加了並行資料載入(外部表),資源管理,查詢優化和儲存增強,然而這些設計在標準的PostgreSQL資料庫中並不存在。
(2)GreenPlum Architecture
GreenPlum資料庫通過在多臺伺服器或者主機上分發資料和處理工作負載來儲存和處理大量資料。GreenPlum由一組基於PostgreSQL8.2資料庫例項協同工作對外提供單個數據庫映象。Master是GreenPlum資料庫系統的入口,客戶端連線Master資料庫例項來提交SQL語句。Master節點協調系統中其他的資料庫例項(稱為段)來儲存和處理資料。
(3)GreenPlum Master GreenPlum 資料庫主節點是整個資料庫系統的入口,接受客戶端的連線和SQL查詢,並將工作分配給別的資料庫例項(這裡指段資料庫)

客戶端通過Master訪問GreenPlum資料庫系統和連線PostgreSQL資料庫一樣。可以使用客戶端程式(psql)或者應用程式程式設計介面(API)連線到資料庫,比如如JDBC或者ODBC。
Master節點儲存整個資料庫系統的系統目錄。系統目錄包含有關Greenp資料庫系統本身的元資料的系統表。Master節點不包含任何使用者資料,資料只儲存在段節點上。Master節點負責對客戶端連線進行身份驗證,處理接受的SQL命令,在段節點之間均衡負載,協調每個段節點返回的結果資料,並將最終結果呈現給客戶端程式。
(4)GreenPlum Segments GreenPlum 資料庫段例項是獨立的PostgreSQL資料庫,每個資料庫儲存一部分資料並執行大部分查詢處理。

當用戶通過GreenPlum主伺服器連線到資料庫併發出查詢時,每個段資料庫會建立程序並處理基於自己本身資料集上的查詢工作。

使用者定義的表格及其索引分佈在GreenPlum資料庫系統的可用段中。每個段都包含資料的一個特定部分。段資料服務程序在相應的段節點例項中執行,使用者通過Master與GreenPlum資料庫系統進行互動。

段資料庫服務執行在段主機上。一個段主機通常執行2-8個GreenPlum段,具體取決於CPU核心,RAM,儲存和網路介面以及工作負載。段主機最好是相同的配置。將資料和工作負載均勻的分發到大量同等能力的段上,使得它們可以同時開始工作並同時完成工作,可以使得GreenPlum資料庫系統的效能達到最佳狀態。
(5)GreenPlum Interconnect GreenPlum Interconnect是GreenPlum資料庫體系結構的網路層。
互聯是指段和網路基礎設施之間通訊依賴的程序間通訊,GreenPlum互聯使用標準的萬兆乙太網交換結構。

預設情況下,互聯使用UDP協議通過網路傳送訊息。GreenPlum提供的資料庫校驗超過了UDP預設提供的,這就意味著可靠性等同於TCP,效能和擴充套件性超過了TCP。如果互聯使用TCP,GreenPlum資料庫系統只能最大支援1000個分段例項。使用UDP作為互聯目前預設的協議,這樣段例項的數量不受限制。
(6)Pivotal查詢優化器 和其他查詢優化器不同的是,Pivotal查詢優化器為GreenPlum提供了比較高階的查詢優化框架。具體表現在以下幾個方面:
 模組化
Pivotal查詢優化器使用並不侷限於單個關係型資料庫中。目前在GreenPlum資料庫和Pivotal的HAWQ中都有使用,Pivotal的查詢優化器可以作為獨立的元件執行,在對應新的後端系統以及將優化器作為服務部署而言極具靈活性。這也使得我們可以繞過資料庫棧其他元件對優化器進行精確測試。
 可擴充套件性
Pivotal的查詢優化器被設計為獨立元件的集合,可以分別替換,配置和擴充套件。這顯著降低了新增新功能的開發成本,而且可以快速採用新興技術。在查詢優化器內部,查詢元素的表示和查詢優化的方式是分開的,這使得優化程式可以平等的對待所有元素,這樣可以避免在多優化任務中因為優化步驟的強制順序帶來的問題。

 效能
Pivotal查詢優化器利用多喝跳讀程式,可以將優化任務分配給多個核執行來加速優化過程。
這允許查詢優化器同時應用所有可能的優化,從而產生更多可以選擇的計劃以及更廣的優化查詢的範圍。比如,當Pivotal查詢優化器和TPC-H Query21一起使用的時候,它可以在250ms內產生12億個可能的計劃。這在大資料分析中尤為重要,極大提升了大資料處理的效能,不理想的優化選擇可能會導致一個查詢永遠被執行下去。

相關推薦

GreenPlum 開源大規模並行查詢平臺

本博文主要介紹 GreenPlum 特點,核心元件以及底層架構 簡介 世界上第一個開源,大規模並行資料平臺。 GreenPlum 資料庫是一個高階的,功能齊全的開源資料平臺。它提供了PB級資料量上強

oracle 常用函式Parallel並行查詢--工作備忘2016/1/18

在執行DML(insert,update,delete)語句時,可以用到以下三個隱式遊標(遊標是維護查詢結果的記憶體中的一個區域,執行DML時開啟,完成時關閉,用sql%isopen檢查是否開啟): sql%rowcount用於記錄修改的條數,就如你在sqlplu

處理海量數據的模式MapReduce大規模數據集的並行運算

海量數據 mapreduce MapReduce是一種處理海量數據的並行編程模式,用於大規模數據集(通常大於1TB)的並行運算。“Map(映射)”、“Reduce(化簡)”的概念和主要思想,都是從函數式編程語言和矢量編程語言借鑒。適合非結構化和結構化的海量數據的搜索、挖掘、分析與機器智能學習等。Map

《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式和過程(第三部分並行查詢及管道函式)

  1. PARALLEL_ENABLE子句(啟用並行查詢以提高效能) 首次接觸,學習一下: PARALLEL_ENABLE lets you designate a function to support parallel query capabilities. This

中國首個!百度雲宣佈邊緣計算開源釋出智慧邊緣開源平臺OpenEdge

12月6日,在2018 ABC Inspire企業智慧大會上,百度雲正式釋出百度智慧邊緣(Baidu IntelliEdge,BIE)開源版本OpenEdge,為中國第一個宣佈邊緣計算開源。 12月6日,百度副總裁、百度雲總經理尹世明現場釋出中國首個開源邊緣計算

多多客開源微信開放平臺的小程式SaaS 系統基於doodoo.jsvue.js

多多客作為青否原班人馬打造的小程式第三方平臺,結合5年商城系統、近2年小程式SaaS平臺研發及運營經驗,將重點發力小程式個性化和各類營銷玩法,聯合服務商、開發者、經營專家,共建服務生態,服務百萬商家。 多多(doodoo)小程式開源版 多多客免費開源的小程式SaaS系統,koa.js + v

微軟借力.NET開源跨平臺支援佈局物聯網平臺開發

     今天科技類最大的新聞,莫過於微軟宣佈.NET開發框架開源計劃。.NET 開源,整合 Clang 和 LLVM 並且自帶 Android 模擬器,這意味著 Visual Studio 這個當下最好沒有之一的 IDE 正式支援編寫 Android 和 iOS 程式 -- Visual Studio 和

TigerGraph開源十大圖資料庫演算法庫 ——基於GSQL的圖靈完備的演算法執行演算法查詢與執行GSQL查詢動作一致

日前,全球速度最快的企業級圖分析平臺TigerGraph宣佈,正式開源 TigerGraph GSQL 圖資料庫演算法庫,釋出三大類共十大核心演算法。 通過開放這些演算法庫,將為使用者提供圖分析的演算法模板和示範,讓使用者以更加簡單易用的方式支援更廣泛場景的業務分析。 目前,使用者可以從gi

Greenplum開源就今天就現在 Postgres2015全國使用者大會將於11月20至21日在北京麗亭華苑酒店召開。本次大會嘉賓陣容強大國內頂級PostgreSQL資料庫專家將悉數到場並特

        Pivotal公司於今年2月份宣佈GPDB將開源,今天這一令人振奮的訊息終於成為現實,其程式碼目前已經能在github上下載到:https://github.com/greenplum-db/gpdb         Greenplum 資料庫(GPDB)

基於SpringBoot的開源免費微信管家平臺Jeewx-Boot 1.0.3 版本釋出

專案介紹 JeewxBoot 是一款基於SpringBoot的免費微信開發平臺。支援微信公眾號、小程式官網、微信抽獎活動。Jee

D. Powerful array 離線+莫隊算法 給定n個數m次查詢;每次查詢[l,r]的權值; 權值計算方法:區間某個數x的個數cnt那麽貢獻為cnt*cnt*x; 所有貢獻和即為該區間的值;

code ++ 計算方法 equal ati contains tdi ces sum D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input st

OCR車牌識別SDK特點雲脈SaaS平臺可API接入

雲脈車牌識別技術是指能夠檢測到受監控路面的車輛並自動提取車輛牌照信息(含漢字字符、英文字母、阿拉伯數字及號牌顏色)進行處理的技術。是現代智能交通系統中的重要組成部分之一,應用十分廣泛。 OCR車牌識別SDK特點: 1.識別速度快,平均識別時間少於3秒(測試機型:三星

樹狀數組基本模版(區間更新單點查詢)

pre color pan style 列數 strong syn def spa 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1.將某區間每一個數數加上x 2.求出某一個數的和 輸入輸出格式 輸入格式: 第一行包含兩個整數N、M,分別表示該數列數字的個數和操作

關於centOS 7的服務啟動端口查詢防火墻管理

man 需要 ces mic 圖形界面 mil centos7.2 mct 相同 端口的查詢與開啟 CentOS 7 默認沒有使用iptables,所以通過編輯iptables的配置文件來開啟80端口是不可以的CentOS 7 采用了 firewalld 防火墻 如要查詢是

開源日誌分析系統ELK平臺搭建部署

logstash 日誌分析系統 elk 開源日誌分析系統ELK平臺搭建部署 一、前言日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日誌可以了解服務器的負荷,性能安全性,從而及時采取措施糾正錯誤。通常

ELK服務搭建(開源實時日誌分析ELK平臺部署)(低版本—簡單部署)

搜索引擎 應用程序 官方網站 服務器 安全性 elk 開源實時日誌分析ELK平臺部署日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日誌可以了解服務器的負荷,性能安全性,從而及時采取措施糾正

條件高級查詢

upd 之間 多列 lec 去重 高級 line eight order by 條件修改: update 表名 set 列名 = 值 where 列名 =值 條件刪除: delete from 表名 where 列名 = />=/<=/>/</!=

Java鏈接HBASE數據庫創建一個表刪除一張表修改表輸出插入修改數據刪除數據獲取顯示表信息過濾查詢分頁查詢地理hash

can charat nfa true 目錄結構 dfa byte sin extra 準備工作 1、創建Java的Maven項目 創建好的目錄結構如下: 另外註意junit的版本,最好不要太高,最開始筆者使用的junit4.12的,發現運行的時候會報錯。最後把Junit

SQL Server 並行操作優化避免並行操作被抑制而影響SQL的執行效率

情況 無法 ima rom 謝謝 tro 開啟 導致 edate 為什麽我也要說SQL Server的並行: 這幾天園子裏寫關於SQL Server並行的文章很多,不管怎麽樣,都讓人對並行操作有了更深刻的認識。 我想說的是:盡管並行操作可能(並不是一定)存

開源實時日誌分析ELK平臺部署

jruby 最新版 tput home 賬號 stdin $2 sum 頁面 ELK架構圖: 1. JDK環境-------------------1.1 下載最新JDK,解壓到/usr/local/java目錄。1.2 設置環境變量打開/etc/profile,添加下面