gp的分布、分區策略(概述)

對于大規模并行處理數據庫來說,一般由單master與多segment組成。
那么數據表的單行會被分配到一個或多個segment上,此時需要想一想分布策略

分布

在gp6中,共有三個策略:
哈希分布
隨機分布
復制分布

哈希分布

就是對分布鍵進行hash,這樣相同值的key始終散列到同一個segment上。如果選擇唯一的分布鍵,將確保較均勻的數據分布。
要使用這一策略,需要在創建表使用 “DISTRIBUTED BY(column,[…])” 子句。

隨機分布

將數據行按順序依次發送到各個segment,此時具有相同值的數據行不一定位于同一個segment上。隨機分布保證了數據的平均分布,但是性能顯然不如hash

復制分布

gp會將每行數據分配到每個segment上,此策略下,表數據將均勻分布,每個segment存儲同樣的數據行。
當在segment上執行用戶自定義函數且需要訪問表中所有行時,此時需要用到此策略。

接下講解分區概念
分布時對存儲的數據進行物理劃分,分區是邏輯劃分。
分區將大表從邏輯上劃分為多個子表,分區不會更改表數據在segment之間的物理分布。

分區

gp支持以下分區類型:
1、范圍分區:根據數字范圍,如日期或價格
2、列表分區:基于值列表的數據劃分,如銷售地區或者產品線
3、兩種類型的組合

對大表分區可以簡化數據庫維護以及提高查詢性能,例如通過對時間分區,可以將舊數據滾動移除出數據庫。
但是創建過多的分區可能會拖慢管理和維護的速度,如清理,恢復segment,擴展集群等情況。

除非優化器可以通過查詢謂詞修剪分區,否則分區將不會提高查詢性能。
依次掃描各個分區表的查詢會比只需掃描無分區的根表要慢。所以當查詢中很少使用分區裁剪的話,盡量避免對表分區。

參考

Greenplum數據分布和分區策略

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376970.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[ Java4Android ] Java基本概念

視頻來自:http://www.marschen.com/ 1.什么是環境變量 2.JDK里面有些什么? 3.什么是JRE? 什么是環境變量? 1.環境變量通常是指在操作系統當中,用來指定操作系統運行時需要的一些參數; 2.環境變量通常為一系列的鍵值對&…

_thread_in_vm_Java Thread類的靜態void sleep(long time_in_ms,int time_in_ns)方法,帶示例

_thread_in_vm線程類靜態無效睡眠(long time_in_ms,int time_in_ns) (Thread Class static void sleep(long time_in_ms, int time_in_ns)) This method is available in package java.lang.Thread.sleep(long time_in_ms, int time_in_ns). 軟件包java.lang.Thread…

大規模web服務開發技術(轉)

前段時間趁空把《大規模web服務開發技術》這本書看完了,今天用一下午時間重新翻了一遍,把其中的要點記了下來,權當復習和備忘。由于自己對數據壓縮、全文檢索等還算比較熟,所以筆記內容主要涉及前5章內容,后面的零星記…

IO多路復用的三種機制Select,Poll,Epoll

IO多路復用的本質是通過系統內核緩沖IO數據讓單個進程可以監視多個文件描述符,一旦某個進程描述符就緒(讀/寫就緒),就能夠通知程序進行相應的讀寫操作。 select poll epoll都是Linux提供的IO復用方式,它們本質上都是同步IO,因為它…

qt中按鈕貼圖

一.QT之QPushButton按鈕貼圖 二.QT之QToolButton按鈕貼圖 一.QT之QPushButton按鈕貼圖具體操作流程 1. Qt Designer中拖入一Tool Button 2. 選擇圖標的圖片放入工程目錄下,如放在Resources內 3. 雙擊工程的Resource Files下的qrc文件,如圖 4. 在彈出的窗…

Ubuntu手動編譯gVim7.3修復終端啟動時與ibus的沖突

個bug伴隨著Ubuntu/ibus的升級苦憋已久,癥狀為終端啟動gvim時卡死,gvim -f可以緩解此問題,但偶爾還是要發作,況且每次末尾托個&也不方便。其實新版gvim已經修復此bug,不過ubuntu安裝包一直沒更新,那我們…

Android Activity類講解(一)

--by CY[kotomifigmail.com] 1.protected void onCreate(Bundle savedInstanceState) { throw new RuntimeException("Stub!");   } 當創建一個Activity時,系統會自動調用onCreate方法來完成創建工作.該創建工作包括布…

Mysql的undo、redo、bin log分析

目錄關于undo log關于redolog關于binlog一個事務的提交流程undo log :記錄數據被修改之前的樣子 redo log:記錄數據被修改之后的樣子 bin log:記錄整個操作。 關于undo log 關于undo log: 在執行一條涉及數據變更的sql時,在數據…

typedef 字符串_typedef在C中使用字符數組(定義別名來聲明字符串)的示例

typedef 字符串Here, we have to define an alias for a character array with a given number of maximum characters length to read strings? 在這里,我們必須為具有給定最大字符長度數的字符數組定義別名,以讀取字符串 ? In the below-…

最小堆實現代碼

參考算法導論、數據結構相關書籍&#xff0c;寫得最小堆實現的源代碼如下&#xff1a; 1 //2 //--最小堆實例3 //4 5 #include <iostream>6 #include <vector>7 #include <string>8 using namespace std;9 10 template<typename Comparable>11 class m…

非常好的在網頁中顯示pdf的方法

今天有一需求&#xff0c;要在網頁中顯示pdf&#xff0c;于是立馬開始搜索解決方案&#xff0c;無意中發現一個非常好的解決方法&#xff0c;詳見http://blogs.adobe.com/pdfdevjunkie/web_designers_guide。 其實就光看這個網站也足夠了&#xff0c;http://www.pdfobject.com/…

Redis字典實現、Hash鍵沖突以及漸進式rehash

本筆記參考《Redis設計與實現》 P24~ 37 目錄Redis字典實現哈希表節點結構哈希表結構字典哈希算法解決hash沖突rehash漸進式hashRedis字典實現 哈希表節點結構 typedef struct dictEntry {// 鍵void *key;// 值 : 可以是一個指針&#xff0c;或者是一個uint64/int64 的整數un…

Java線程類void setContextClassLoader(ClassLoader loader)方法,帶示例

線程類void setContextClassLoader(ClassLoader loader) (Thread Class void setContextClassLoader(ClassLoader loader)) This method is available in package java.lang.Thread.setContextClassLoader(ClassLoader loader). 軟件包java.lang.Thread.setContextClassLoader(…

JPA概要

本文最新版已更新至&#xff1a;http://thinkinside.tk/2012/12/30/JPA.html JPA定義了Java ORM及實體操作API的標準。本文摘錄了JPA的一些關鍵信息以備查閱。 如果有hibernate的基礎&#xff0c;通過本文也可以快速掌握JPA的基本概念及使用。 Table of Contents 1 JPA概述2 實…

如何配置能讓fiddler抓去https的請求?

1、打開fiddler&#xff0c;>>Tools>>Fiddler Options&#xff0c; 打開如圖所示的HTTPS配置項&#xff1a;點擊Export Rppt Certifica to Desktop :桌面上多了一個證書&#xff1a;下面就是將證書導入&#xff1a;點擊開始-運行&#xff0c;輸入&#xff1a;mmc,…

Redis對象的refcount與lru屬性(內存回收、對象共享、空轉時長)

本筆記參考《Redis設計與實現》 P84~P88 內存回收 Redis在對象系統中使用reference counting技術實現了內存回收機制。程序可以通過跟蹤對象的引用計數信息&#xff0c;在適當的時候自動釋放對象并進行內存回收。 typedef struct redisObject {// ...// 引用計數int refcoun…

【閑聊】Baidu Map,excellent !!!Diaoyv island is China 's

【釣魚島】釣魚島是中國的&#xff01;Diaoyu Islands are Chinas! 釣魚島は中國のアール! ————————————youngLaker轉載于:https://www.cnblogs.com/younglaker/archive/2012/12/31/2840190.html

08:vigenère密碼_密碼技術:Vigenére密碼,Playfair密碼,Hill密碼

08:vigenre密碼1)Vigenre密碼 (1) Vigenre Cipher) This technique is an example of Polyalphabetic Substitution technique which uses 26 Caesar ciphers make up the mono-alphabetic substitution rules which follow a count shifting mechanism from 0 to 25. That is,…

Redis的RDB文件與AOF文件

本筆記參考《Redis設計與實現》 P118 ~ P150 RDB文件 1、RDB文件用于保存和還原Redis服務器所有數據庫中的所有鍵值對數據 2、SAVE命令由服務器進程直接執行保存操作&#xff0c;該命令會阻塞服務器 3、BGSAVE命令由子進程執行保存操作&#xff0c;不會阻塞服務器 注意此時服…

eclipse擴容

eclipse擴容 -vmD:/jdk-6u17-windows-i586/jdk1.6.0_17/bin/javaw.exe-startupplugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar-nlen_US--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120913-144807-productorg.eclipse…