海量數據處理利器greenplum——初識

来源:http://www.cnblogs.com/skyme/archive/2016/08/17/5779885.html
-Advertisement-
Play Games

簡介及適用場景 如果想在數據倉庫中快速查詢結果,可以使用greenplum。 Greenplum資料庫也簡稱GPDB。它擁有豐富的特性: 第一,完善的標準支持:GPDB完全支持ANSI SQL 2008標準和SQL OLAP 2003 擴展;從應用編程介面上講,它支持ODBC和JDBC。完善的標準支... ...


簡介及適用場景

如果想在數據倉庫中快速查詢結果,可以使用greenplum。

Greenplum資料庫也簡稱GPDB。它擁有豐富的特性:

第一,完善的標準支持:GPDB完全支持ANSI SQL 2008標準和SQL OLAP 2003 擴展;從應用編程介面上講,它支持ODBC和JDBC。完善的標準支持使得系統開發、維護和管理都大為方便。而現在的 NoSQL,NewSQL和Hadoop 對 SQL 的支持都不完善,不同的系統需要單獨開發和管理,且移植性不好。

第二,支持分散式事務,支持ACID。保證數據的強一致性。

第三,做為分散式資料庫,擁有良好的線性擴展能力。在國內外用戶生產環境中,具有上百個物理節點的GPDB集群都有很多案例。

第四,GPDB是企業級資料庫產品,全球有上千個集群在不同客戶的生產環境運行。這些集群為全球很多大的金融、政府、物流、零售等公司的關鍵業務提供服務。

第五,GPDB是Greenplum(現在的Pivotal)公司十多年研發投入的結果。GPDB基於PostgreSQL 8.2,PostgreSQL 8.2有大約80萬行源代碼,而GPDB現在有130萬行源碼。相比PostgreSQL 8.2,增加了約50萬行的源代碼。

第六,Greenplum有很多合作伙伴,GPDB有完善的生態系統,可以與很多企業級產品集成,譬如SAS,Cognos,Informatic,Tableau等;也可以很多種開源軟體集成,譬如Pentaho,Talend 等。

greenplum起源

Greenplum最早是在10多年前(大約在2002年)出現的,基本上和Hadoop是同一時期(Hadoop 約是2004年前後,早期的Nutch可追溯到2002年)。當時的背景是:

  • 互聯網行業經過之前近10年的由慢到快的發展,累積了大量信息和數據,數據在爆髮式增長,這些海量數據急需新的計算方式,需要一場計算方式的革命;
  • 傳統的主機計算模式在海量數據面前,除了造價昂貴外,在技術上也難於滿足數據計算性能指標,傳統主機的Scale-up模式遇到了瓶頸,SMP(對稱多處理)架構難於擴展,並且在CPU計算和IO吞吐上不能滿足海量數據的計算需求;
  • 分散式存儲和分散式計算理論剛剛被提出來,Google的兩篇著名論文發表後引起業界的關註,一篇是關於GFS分散式文件系統,另外一篇是關於MapReduce 並行計算框架的理論,分散式計算模式在互聯網行業特別是收索引擎和分詞檢索等方面獲得了巨大成功。

下圖就是GFS的架構

image

總體架構

greenplum的總體架構如下:

image

  資料庫由Master Severs和Segment Severs通過Interconnect互聯組成。

Master主機負責:建立與客戶端的連接和管理;SQL的解析並形成執行計劃;執行計劃向Segment的分發收集Segment的執行結果;Master不存儲業務數據,只存儲數據字典。 

Segment主機負責:業務數據的存儲和存取;用戶查詢SQL的執行。

  greenplum使用mpp架構。

image

    基本體系架構

image

master節點,可以做成高可用的架構

image

master node高可用,類似於hadoop的namenode和second namenode,實現主備的高可用。

image

segments節點

image

並行管理

對於數據的裝載和性能監控。

image

並行備份和恢復。

image

數據訪問流程,數據分佈到不同顏色的節點上

image

查詢流程分為查詢創建和查詢分發,計算後將結果返回。

image

對於存儲,將存儲的內容分佈到各個結點上。

image

對於數據的分佈,分為hash分佈和隨機分佈兩種。

image

均勻分佈的情況:

image

總結

GPDB從開始設計的時候就被定義成數據倉庫,如果是olap的應用,可以嘗試使用GPDB。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是延遲載入? 延遲載入是指當應用程式想要從資料庫獲取對象時(在沒有設置lazy屬性值為false),Hibernate只是從資料庫獲取符合條件的對象的OId從而生成代理對象,並沒有載入出對象 訪問該對象的屬性時才會載入出相應的值。簡答來說就是儘可能的減少查詢的數據量。 如何配置延遲載入 在Hib... ...
  • 原文轉自 http://www.cnblogs.com/ldms/p/4565547.html Yii 有很多 extension 可以使用,在查看了 Yii 官網上提供的與 OAuth 相關的擴展後,發現了幾個 OAuth2 的客戶端擴展,但是並沒有找到可以作為 OAuth2 Server 的擴展 ...
  • 網站業務規模和訪問量的逐步發展,原本由單台伺服器、單個功能變數名稱的迷你網站架構已經無法滿足發展需要。 此時我們可能會購買更多伺服器,並且啟用多個二級子功能變數名稱以頻道化的方式,根據業務功能將網站分佈部署在獨立的伺服器上;或通過負載均衡技術 (如:DNS輪詢、Radware、F5、LVS等)讓多個頻道共用一組服務 ...
  • Hello World! ...
  • Java NIO:NIO概述 在上一篇博文中講述了幾種IO模型,現在我們開始進入Java NIO編程主題。NIO是Java 4裡面提供的新的API,目的是用來解決傳統IO的問題。本文下麵分別從Java NIO的幾個基礎概念介紹起。 以下是本文的目錄大綱: 一.NIO中的幾個基礎概念 二.Channe ...
  • 題意:給定s1,s1兩副撲克,順序從下到上。依次將s2,s1的撲克一張一張混合。例如s1,ABC; s2,DEF. 則第一次混合後為DAEBFC. 然後令前半段為s1, 後半段為s2. 如果可以變換成所給出的字元串,輸出變換次數即可;否則,輸出-1。 這題數據太水了,我是這樣判斷無法變換成題目所給出 ...
  • 引子 雲計算越來越流行的今天,單一機器處理能力已經不能滿足我們的需求,不得不採用大量的服務集群。服務集群對外提供服務的過程中,有很多的配置需要隨時更新,服務間需要協調工作,這些信息如何推送到各個節點?並且保證信息的一致性和可靠性? 眾所周知,分散式協調服務很難正確無誤的實現,它們很容易在競爭條件和死 ...
  • 1. Dubbo是什麼? Dubbo是一個分散式服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務調用的東東, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...