本文內容爲博主閱讀《Greenplum企業應用實戰》的讀書筆記,對書中主要知識點進行了歸納和梳理。有興趣的同學可以買一本原書讀一讀。如果認爲文中內容涉嫌侵權,請及時聯繫博主刪除文章。
OLTP 與 OLAP
數據庫系統分爲兩種。
- OLTP 面向前臺應用,重吞吐和高併發
- OLAP 對大數據集進行統計分析,重計算
Greenplum屬於OLAP
OLTP
OLTP 聯機事務處理 On-Line Transaction Processing 系統也稱爲生產系統,事件驅動、面向應用。
基本特點:
- 數據在系統中產生
- 基於交易 Transaction-Based 的處理系統
- 每次交易牽涉的數據量小
- 對響應事件要求高
- 用戶數量龐大,以操作人員爲主
- 數據庫的各種操作主要基於索引進行
OLAP
OLAP 聯機分析處理 On-Line Analytical Processing基於數據倉庫的信息分析處理過程,是數據倉庫的用戶接口部分。OLAP系統是庫啊部門的、面向主題的
基本特點:
- 本身不產生數據,基礎數據來源於生產系統中的操作數據 OperationalData
- 基於查詢的分析系統
- 複雜查詢經常使用多表連接、權標掃描,牽涉的數據量龐大
- 響應時間與具體查詢有很大關係
- 用戶數量相對較小,用戶主要是業務人員與管理人員
- 由於業務問題不固定,數據庫的各種操作不能完全基於索引進行
PostgreSQL與Greenplum的關係
PostgreSQL
PostgreSQL是 對象-關係型數據庫管理系統 ORDBMS
Greenplum
本質上講,Greenplum是一個關係型數據庫集羣,它實際上是由數個獨立的數據庫服務組合成的邏輯數據庫。與Oracle RAC的Shared-Everything架構不同,Greenplum採用Shared-Nothing架構,整個集羣由很多個數據節點 Segment Host 和控制節點 Master Host 組成,每個數據節點上可以運行多個數據庫。
Shared-Nothing是一個分佈式的架構,每個節點相對獨立。在典型的Shared-Nothing中,每一個節點上所有的資源都是獨立的,==每個節點都只有全部數據的一部分==,也只能使用本節點的資源。
在Greenplum中,需要存儲的數據在進入數據庫時,將先進行數據分佈的處理工作,將一個表中的數據平均分不到每個節點上,並未每個表指定一個分發列 distribute Column,之後便根據Hash來分佈數據。
Greenplum的特性及應用場景
特性
1. 支持海量數據存儲和處理
2. 高性價比
3. 支持Just In Time BI(BI實時分析)
Greenplum通過準實時、實時的數據加載方式,實現數據倉庫的實時更新,進而實現動態數據倉庫 ADW
4.系統易用性
5. 支持線程擴展 Greenplum採用MPP並行處理結構
6.較好的併發支持及高可用性支持
7.支持MapReduce
8.數據庫內部壓縮
應用場景
在TB級的數據倉庫的OLAP應用中Greenplum在易用性和性能方面有着很大的優勢