付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、介紹本文介紹了Pivotal Greenplum數(shù)據(jù)庫(kù)(以下簡(jiǎn)稱Greenplum數(shù)據(jù)庫(kù),簡(jiǎn)稱GPDB)的最佳實(shí)踐。最佳實(shí)踐是指能夠持續(xù)產(chǎn)生比其他方法更好的結(jié)果的方法或技術(shù)。它來自實(shí)戰(zhàn)經(jīng)驗(yàn),并且已經(jīng)證明,遵循這些方法可以獲得可靠的預(yù)期效果。本最佳實(shí)踐旨在通過利用所有可能的知識(shí)和技術(shù),為正確使用GPDB提供有效的參考。本文不是教您如何使用Greenplum數(shù)據(jù)庫(kù)的功能,而是幫助您理解在設(shè)計(jì)、實(shí)現(xiàn)和使用Greenplum數(shù)據(jù)庫(kù)時(shí)應(yīng)該遵循的最佳實(shí)踐。關(guān)于如何使用和實(shí)現(xiàn)特定的Greenplum數(shù)據(jù)庫(kù)功能,請(qǐng)參閱Greenplum數(shù)據(jù)庫(kù)幫助文檔(位于http:/pdb . docs . pivotal
2、. io和Sandbox上)和的實(shí)踐指南。本文的目的不是涵蓋整個(gè)產(chǎn)品或產(chǎn)品特性,而是概述GPDB實(shí)踐中最重要的因素。本文不涵蓋依賴于GPDB特定特性的邊緣用例,GPDB需要精通數(shù)據(jù)庫(kù)特性和您的環(huán)境,包括SQL訪問、查詢執(zhí)行、并發(fā)性、負(fù)載和其他因素。掌握這些最佳實(shí)踐知識(shí)將提高GPDB集群在維護(hù)、支持、性能和可擴(kuò)展性方面的成功率。第一章最佳實(shí)踐概述本節(jié)概述了Greenplum數(shù)據(jù)庫(kù)最佳實(shí)踐中涉及的概念和要點(diǎn)。數(shù)據(jù)模型GPDB是一個(gè)基于大規(guī)模并行處理和無共享架構(gòu)的分析數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)的數(shù)據(jù)模式與高度標(biāo)準(zhǔn)化的事務(wù)性SMP數(shù)據(jù)庫(kù)明顯不同。通過使用非標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)模式
3、,如帶有大事實(shí)表和小維度表的星型或雪花型模式,GPDB在處理MPP分析業(yè)務(wù)時(shí)表現(xiàn)良好??绫磉B接時(shí),字段使用相同的數(shù)據(jù)類型。有關(guān)詳細(xì)信息,請(qǐng)參見數(shù)據(jù)庫(kù)模式設(shè)計(jì)(后續(xù)章節(jié))堆存儲(chǔ)和附加優(yōu)化存儲(chǔ)如果表和分區(qū)表需要迭代批處理或頻繁的單次更新、刪除或插入操作,則使用堆存儲(chǔ)。如果表和分區(qū)表需要同時(shí)執(zhí)行更新、刪除或插入操作,請(qǐng)使用堆存儲(chǔ)。如果表和分區(qū)表在數(shù)據(jù)初始加載后沒有頻繁更新,并且數(shù)據(jù)僅在批處理模式下插入,則使用AO存儲(chǔ)。不要對(duì)AO表執(zhí)行一次插入、更新或刪除操作。不要對(duì)AO表執(zhí)行并發(fā)批處理更新或刪除操作,而是執(zhí)行并發(fā)批處理插入操作。有關(guān)詳細(xì)信息,請(qǐng)參見堆存儲(chǔ)和AO存儲(chǔ)(后續(xù)章節(jié))行存儲(chǔ)和列存儲(chǔ)如果需要頻
4、繁更新或插入數(shù)據(jù),則使用行存儲(chǔ)。如果您需要同時(shí)訪問一個(gè)表的多個(gè)字段,請(qǐng)使用行存儲(chǔ)。對(duì)于一般或混合服務(wù),建議使用行存儲(chǔ)。如果查詢?cè)L問的字段數(shù)量很少,或者只對(duì)少量字段執(zhí)行聚合操作,則使用列存儲(chǔ)。如果經(jīng)常只修改表中的一個(gè)字段,而不修改其他字段,則使用列存儲(chǔ)。詳見行存儲(chǔ)和列存儲(chǔ)(后續(xù)章節(jié))壓縮對(duì)大型AO表和分區(qū)表使用壓縮來提高系統(tǒng)輸入/輸出.在字段級(jí)別配置壓縮。考慮壓縮比和壓縮性能之間的平衡。詳見壓縮(后續(xù)章節(jié))分布為所有表定義分布策略:要么定義分布鍵,要么使用隨機(jī)分布。不要使用默認(rèn)分布。優(yōu)先選擇能夠均勻分布數(shù)據(jù)的單個(gè)字段作為分布關(guān)鍵字。不要選擇在WHERE子句中經(jīng)常使用的字段作為分發(fā)密鑰。不要使用日
5、期或時(shí)間字段作為分發(fā)密鑰。分發(fā)密鑰和分區(qū)密鑰不要使用相同的字段。對(duì)于經(jīng)常執(zhí)行JOIN操作的大型表,應(yīng)該優(yōu)先使用關(guān)聯(lián)字段作為分發(fā)密鑰,并且應(yīng)該盡可能多地進(jìn)行本地關(guān)聯(lián)以提高性能。檢查數(shù)據(jù)是在初始加載后還是在每次增量加載后均勻分布。盡可能避免數(shù)據(jù)傾斜。詳情見發(fā)行版(后續(xù)章節(jié))內(nèi)存管理將vm.overcommit_memory設(shè)置為2不要為操作系統(tǒng)頁(yè)面設(shè)置太大的值使用gp_vmem_protect_limit設(shè)置單個(gè)節(jié)點(diǎn)數(shù)據(jù)庫(kù)可以為所有查詢分配的最大內(nèi)存。不要將gp_vmem_protect_limit設(shè)置得太高,也不要超過系統(tǒng)的物理內(nèi)存。gp_vmem_protect_limit的建議值計(jì)算公式為:
6、(交換(ram * VM . over-commit _ ratio)* 0.9/每臺(tái)服務(wù)器的段數(shù)使用語(yǔ)句mem控制節(jié)點(diǎn)數(shù)據(jù)庫(kù)為單個(gè)查詢分配的內(nèi)存量。使用資源隊(duì)列設(shè)置當(dāng)前最大查詢數(shù)(ACTIVE _ STATEMENTS)和允許的內(nèi)存大小(MEMORY_LIMIT)。不要使用默認(rèn)的資源隊(duì)列,為所有用戶分配資源隊(duì)列。根據(jù)負(fù)載和時(shí)間段,設(shè)置與隊(duì)列實(shí)際需求相匹配的優(yōu)先級(jí)。確保資源隊(duì)列的內(nèi)存配額不超過gp_vmem_protect_limit。動(dòng)態(tài)更新資源隊(duì)列配置以滿足日常工作的需要。有關(guān)詳細(xì)信息,請(qǐng)參見內(nèi)存和負(fù)載管理(后續(xù)章節(jié))分區(qū)只為大表設(shè)置分區(qū),不為小表設(shè)置分區(qū)。只有根據(jù)查詢條件可以實(shí)現(xiàn)分區(qū)裁剪
7、時(shí),才使用分區(qū)表。建議優(yōu)先使用范圍分區(qū),否則使用列表分區(qū)。根據(jù)查詢特征合理設(shè)置分區(qū)。不要使用與分區(qū)密鑰和分發(fā)密鑰相同的字段。不要使用默認(rèn)分區(qū)。避免使用多級(jí)分區(qū);嘗試創(chuàng)建盡可能少的分區(qū),每個(gè)分區(qū)都有更多的數(shù)據(jù)。通過查詢計(jì)劃的解釋結(jié)果,驗(yàn)證了查詢對(duì)分區(qū)表執(zhí)行選擇性掃描(分區(qū)裁剪)。對(duì)于帶列存儲(chǔ)的表,不要?jiǎng)?chuàng)建太多的分區(qū),否則會(huì)有太多的物理文件:物理文件=段*列*分區(qū)。詳見分區(qū)(后續(xù)章節(jié))指數(shù)一般來說,GPDB中的索引是不必要的。對(duì)于具有高基數(shù)的列存儲(chǔ)表,如果需要遍歷并且查詢選擇性高,則創(chuàng)建單列索引。不要索引經(jīng)常更新的列。在加載大量數(shù)據(jù)之前刪除索引,并在加載后重新創(chuàng)建索引。b樹索引是首選。不要為需要頻
8、繁更新的字段創(chuàng)建位圖索引。不要為唯一字段、基數(shù)非常高或非常低的字段創(chuàng)建位圖索引。不要為事務(wù)性工作負(fù)載創(chuàng)建位圖索引。一般來說,不要索引分區(qū)表。如果需要索引,請(qǐng)選擇不同于分區(qū)鍵的字段。詳見索引(后續(xù)章節(jié))資源排隊(duì)使用資源隊(duì)列管理集群負(fù)載。為所有角色定義適當(dāng)?shù)馁Y源隊(duì)列。使用ACTIVE_STATEMENTS參數(shù)來限制隊(duì)列成員可以并發(fā)運(yùn)行的查詢總數(shù)。使用MEMORY_LIMIT參數(shù)來限制隊(duì)列中的查詢可以使用的內(nèi)存總量。不要將所有隊(duì)列都設(shè)置為中等,這不能管理負(fù)載。根據(jù)負(fù)載和時(shí)間段。有關(guān)詳細(xì)信息,請(qǐng)參見配置資源隊(duì)列(后續(xù)章節(jié))監(jiān)控和維護(hù)根據(jù)Greenplum數(shù)據(jù)庫(kù)管理員指南執(zhí)行本書中推薦的監(jiān)控和管理任務(wù)。
9、建議在安裝Greenplum數(shù)據(jù)庫(kù)之前運(yùn)行g(shù)pcheckperf,并在安裝后定期運(yùn)行它。保存輸出結(jié)果并比較一段時(shí)間內(nèi)的系統(tǒng)性能。使用所有可用工具了解系統(tǒng)在不同負(fù)載下的性能。檢查任何異常事件并確定原因。通過定期運(yùn)行解釋計(jì)劃來監(jiān)控系統(tǒng)的查詢活動(dòng),以確保查詢處于最佳運(yùn)行狀態(tài)。檢查查詢計(jì)劃以確定是否使用了索引,以及分區(qū)是否按預(yù)期進(jìn)行了裁剪。了解系統(tǒng)日志文件的位置和內(nèi)容,并定期監(jiān)控日志文件,而不是在出現(xiàn)問題時(shí)查看它。有關(guān)詳細(xì)信息,請(qǐng)參見系統(tǒng)監(jiān)控和維護(hù)以及監(jiān)控GPDB日志文件。(后續(xù)章節(jié))分析不要對(duì)整個(gè)數(shù)據(jù)庫(kù)運(yùn)行ANALYZE,而只對(duì)所需的表運(yùn)行。建議在加載數(shù)據(jù)后立即運(yùn)行ANALYZE。如果插入、更新和刪
10、除等操作修改了大量數(shù)據(jù),建議運(yùn)行分析。建議在創(chuàng)建索引操作后運(yùn)行分析。如果分析一個(gè)大型表需要很長(zhǎng)時(shí)間,那么只對(duì)具有連接字段、WHERE、SORT、GROUP BY或HAVING語(yǔ)句的字段運(yùn)行ANALYZE。請(qǐng)參見使用ANALYZE更新統(tǒng)計(jì)信息。(后續(xù)章節(jié))真空批量更新和刪除操作后,建議使用真空。不建議使用真空充滿。建議使用CTAS(創(chuàng)建表格.操作,然后重命名表名并刪除原始表。定期對(duì)系統(tǒng)表進(jìn)行真空操作,以避免系統(tǒng)表膨脹,并對(duì)系統(tǒng)表進(jìn)行真空完全操作。禁止殺死系統(tǒng)表的真空任務(wù)。不建議使用真空分析儀。詳見消除系統(tǒng)表超編。(后續(xù)章節(jié))負(fù)荷使用gpfdist加載和導(dǎo)出數(shù)據(jù)。隨著段數(shù)據(jù)庫(kù)數(shù)量的增加,并行性也隨
11、之增加。嘗試將數(shù)據(jù)平均分布到多個(gè)ETL節(jié)點(diǎn)。將非常大的數(shù)據(jù)文件切割成相同大小的塊,并將其放在盡可能多的文件系統(tǒng)中。一個(gè)文件系統(tǒng)運(yùn)行兩個(gè)gpfdist實(shí)例。在盡可能多的網(wǎng)絡(luò)接口上運(yùn)行g(shù)pfdsit。使用gp_external_max_segs控制訪問每個(gè)gpfdist服務(wù)器的段數(shù)據(jù)庫(kù)的數(shù)量。gp_external_max_segs的值和gpfdist進(jìn)程的數(shù)量建議為偶數(shù)。數(shù)據(jù)加載前刪除索引;加載后重建索引。加載數(shù)據(jù)后運(yùn)行分析操作。在數(shù)據(jù)加載過程中,將gp_autostats_mode設(shè)置為NONE以取消統(tǒng)計(jì)信息的自動(dòng)收集。如果數(shù)據(jù)加載失敗,請(qǐng)使用真空回收空間。有關(guān)詳細(xì)信息,請(qǐng)參見加載數(shù)據(jù)。(后續(xù)
12、章節(jié))gptransfer為了獲得更好的性能,建議使用gptransfer將數(shù)據(jù)遷移到相同大小或更大的集群。避免使用- full或- schema-only選項(xiàng)。建議使用其他方法將數(shù)據(jù)庫(kù)模式復(fù)制到目標(biāo)數(shù)據(jù)庫(kù),然后遷移數(shù)據(jù)。遷移數(shù)據(jù)前刪除索引,遷移后重建索引。使用SQL COPY命令將小表遷移到目標(biāo)數(shù)據(jù)庫(kù)。使用gptransfer大規(guī)模遷移大型表。在正式遷移生產(chǎn)環(huán)境之前,測(cè)試并運(yùn)行g(shù)ptransfer。使用批量和子批量選項(xiàng)進(jìn)行實(shí)驗(yàn),以獲得最大并行度。如有必要,反復(fù)運(yùn)行幾次gptransfer,以確定每次要遷移的表的批次。僅使用完全限定的表名。如果表名包含點(diǎn)、空格、單引號(hào)和雙引號(hào),可能會(huì)導(dǎo)致問題。
13、如果在遷移后使用- validation選項(xiàng)來驗(yàn)證數(shù)據(jù),則需要同時(shí)使用-x選項(xiàng)來對(duì)源表進(jìn)行獨(dú)占鎖定。確保在目標(biāo)數(shù)據(jù)庫(kù)上創(chuàng)建了適當(dāng)?shù)慕巧?、功能和資源隊(duì)列。Gptransfer -t不遷移這些對(duì)象。將postgres.conf和pg_hba.conf從源數(shù)據(jù)庫(kù)復(fù)制到目標(biāo)數(shù)據(jù)庫(kù)群集。使用gppkg在目標(biāo)數(shù)據(jù)庫(kù)上安裝所需的擴(kuò)展。有關(guān)詳細(xì)信息,請(qǐng)參見使用gptransfer遷移數(shù)據(jù)(后續(xù)章節(jié))安全正確保護(hù)gpadmin帳戶,僅在必要時(shí)允許系統(tǒng)管理員訪問它。管理員只能在執(zhí)行系統(tǒng)維護(hù)任務(wù)(如升級(jí)或容量擴(kuò)展)時(shí)以gpadmin身份登錄Greenplum群集。限制具有超級(jí)用戶角色屬性的用戶數(shù)量。在GPDB中,超
14、級(jí)用戶角色會(huì)跳過所有訪問檢查和資源隊(duì)列限制。只有系統(tǒng)管理員擁有數(shù)據(jù)庫(kù)超級(jí)用戶權(quán)限。請(qǐng)參考Greenplum數(shù)據(jù)庫(kù)管理員指南中的“修改角色屬性”。嚴(yán)禁數(shù)據(jù)庫(kù)用戶以gpadmin身份登錄并以gpadmin身份執(zhí)行ETL或生產(chǎn)任務(wù)。為每個(gè)有登錄要求的用戶分配不同的角色??紤]為每個(gè)應(yīng)用程序或網(wǎng)絡(luò)服務(wù)分配不同的角色。使用用戶組管理訪問權(quán)限。保護(hù)ROOT的密碼。對(duì)操作系統(tǒng)密碼實(shí)施強(qiáng)密碼策略。確保操作系統(tǒng)的重要文件得到保護(hù)。詳情參見安全。(后續(xù)章節(jié))加密加密和解密數(shù)據(jù)會(huì)影響性能,只有需要加密的數(shù)據(jù)才會(huì)被加密。在生產(chǎn)系統(tǒng)中實(shí)施任何加密解決方案之前,應(yīng)該進(jìn)行性能測(cè)試。GPDB生產(chǎn)系統(tǒng)使用的服務(wù)器證書應(yīng)該由證書簽
15、名機(jī)構(gòu)(CA)簽名,以便客戶端可以驗(yàn)證服務(wù)器。如果所有客戶端都是本地的,則可以使用本地ca。如果客戶端和GPDB之間的連接通過不安全的鏈接,則使用SSL加密。使用相同密鑰進(jìn)行加密和解密的對(duì)稱加密比非對(duì)稱加密具有更好的性能。如果密鑰可以安全共享,建議使用對(duì)稱加密。使用pgcrypto包中的函數(shù)加密磁盤上的數(shù)據(jù)。數(shù)據(jù)的加密和解密由數(shù)據(jù)庫(kù)進(jìn)程完成。為了避免傳輸明文數(shù)據(jù),需要使用SSL來加密客戶端和數(shù)據(jù)庫(kù)之間的連接。在加載和導(dǎo)出數(shù)據(jù)時(shí),gpfdists協(xié)議用于保護(hù)ETL數(shù)據(jù)安全。有關(guān)詳細(xì)信息,請(qǐng)參見加密數(shù)據(jù)和數(shù)據(jù)庫(kù)連接。(后續(xù)章節(jié))高度可用使用8到24個(gè)磁盤的硬件磁盤陣列存儲(chǔ)解決方案。使用RAID1、
16、5或6,以便磁盤陣列能夠承受磁盤故障。為磁盤陣列配備熱備盤,以便在檢測(cè)到磁盤故障時(shí)自動(dòng)開始重建。磁盤陣列卷鏡像用于防止整個(gè)磁盤陣列在重建過程中出現(xiàn)故障和性能下降。定期監(jiān)控磁盤利用率,并在需要時(shí)添加額外空間。定期監(jiān)控段數(shù)據(jù)庫(kù)的傾向,以確保所有段數(shù)據(jù)庫(kù)上的數(shù)據(jù)分布均勻,存儲(chǔ)空間消耗均勻。配置備用主服務(wù)器,它將在主服務(wù)器出現(xiàn)故障時(shí)接管。規(guī)劃當(dāng)主服務(wù)器出現(xiàn)故障時(shí),如何切換客戶端以連接到新的主服務(wù)器實(shí)例,例如,通過更新主服務(wù)器在域名系統(tǒng)中的地址。建立監(jiān)控系統(tǒng)。當(dāng)主服務(wù)器出現(xiàn)故障時(shí),您可以通過系統(tǒng)監(jiān)控應(yīng)用程序或電子郵件發(fā)送通知。將主段數(shù)據(jù)庫(kù)及其鏡像分配給不同的主機(jī),以防止主機(jī)故障。建立監(jiān)控系統(tǒng)。當(dāng)主段數(shù)據(jù)庫(kù)出現(xiàn)故障時(shí),您可以通過系統(tǒng)監(jiān)控應(yīng)用程序或電子郵件發(fā)送通知。使用gprecoverseg工具及時(shí)恢復(fù)故障部分,使系統(tǒng)恢復(fù)到最佳平衡狀態(tài)。在主服務(wù)器上配置并運(yùn)行g(shù)psnmpd,向網(wǎng)絡(luò)監(jiān)視器發(fā)送SNMP通知。在$ master _ data _ directory/PostgreSQL . conf配置文件中設(shè)置電子郵件通知,以便Greenplum系統(tǒng)可以在檢測(cè)到嚴(yán)重問題時(shí)通過電子郵件通知管理員??紤]到雙集群配置,它提供了額外的冗余和查詢處理能力。除非Greenplum數(shù)據(jù)庫(kù)的數(shù)據(jù)可以很容易地從數(shù)據(jù)源中恢復(fù),否則應(yīng)該定期備份。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 耳石癥的家庭護(hù)理要點(diǎn)
- 2025-2026學(xué)年廣東深圳紅嶺中學(xué)九年級(jí)(上)期中考化學(xué)試題含答案
- 中介員工管理與制度
- 2025九年級(jí)歷史上冊(cè)第六單元資本主義制度的初步確立第19課法國(guó)大革命和拿破侖帝國(guó)習(xí)題課件新人教版
- 2025至2030中國(guó)跨境電商市場(chǎng)運(yùn)營(yíng)分析及未來潛力與商業(yè)模式研究報(bào)告
- 中小學(xué)消防培訓(xùn)課件
- 2025至2030城市建設(shè)規(guī)劃產(chǎn)業(yè)人口流動(dòng)與基礎(chǔ)設(shè)施需求預(yù)測(cè)報(bào)告
- 中國(guó)經(jīng)濟(jì)學(xué)研究的文化屬性
- 2026年鹽城市公安局大豐分局公開招聘警務(wù)輔助人員9人備考題庫(kù)(情報(bào)指揮中心、巡特警大隊(duì))有答案詳解
- 工業(yè)軟件云化轉(zhuǎn)型趨勢(shì)評(píng)估及垂直行業(yè)解決方案與訂閱制商業(yè)模式研究
- 不同時(shí)代的流行音樂
- 醫(yī)療衛(wèi)生機(jī)構(gòu)6S常態(tài)化管理打分表
- 幾種常用潛流人工濕地剖面圖
- vpap iv st說明總體操作界面
- 2023人事年度工作計(jì)劃七篇
- LY/T 1692-2007轉(zhuǎn)基因森林植物及其產(chǎn)品安全性評(píng)價(jià)技術(shù)規(guī)程
- GB/T 20145-2006燈和燈系統(tǒng)的光生物安全性
- 長(zhǎng)興中學(xué)提前招生試卷
- 安全事故案例-圖片課件
- 螺紋的基礎(chǔ)知識(shí)
- 蜂窩煤成型機(jī)課程設(shè)計(jì)說明書
評(píng)論
0/150
提交評(píng)論