版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、列式存儲簡介,列存儲技術(shù)的背景,列存儲和行存儲的比較選擇,列存儲原理,列存儲存在的問題,80年代初期興起的科學(xué)與統(tǒng)計分析數(shù)據(jù)庫,針對的是數(shù)據(jù)量很大,元組包含的字段多,但是查詢處理只涉及少數(shù)字段的應(yīng)用,沒有必要一次取出一整行的數(shù)據(jù)。但是在那個年代事務(wù)型應(yīng)用(即操作型處理)的需求遠高于分析型應(yīng)用的需求,使得行存儲數(shù)據(jù)庫系統(tǒng)長期控制著數(shù)據(jù)庫市場。90年代初提出并興起的三項決策支持新技術(shù),即數(shù)據(jù)眾庫(DW)、聯(lián)機分析處理(OLAP)和數(shù)據(jù)挖掘(DM)使列存儲技術(shù)引起人們的關(guān)注。這三項技術(shù)的結(jié)合創(chuàng)立了決策支持研究的新方向,也使信息系統(tǒng)的研究從以操作密集型的OLTP為中心轉(zhuǎn)變?yōu)橐設(shè)LAP和數(shù)據(jù)挖掘等數(shù)據(jù)密
2、集型應(yīng)用為中心。在數(shù)據(jù)密集型應(yīng)用中,主要的工作是進行復(fù)雜的查詢,這類查詢通常只用到表中少數(shù)幾個列,但是涉及的數(shù)據(jù)量非常大。列存儲對這種查詢的性能具有顯著的優(yōu)勢,1、列存儲的背景,主流的數(shù)據(jù)庫管理系統(tǒng)如Oracle、DB2、SQLServer、Sybase都提供了對數(shù)據(jù)倉庫的支持,這些系統(tǒng)最初都是基于行存儲設(shè)計的。數(shù)據(jù)庫按行存儲它們管理的數(shù)據(jù),在查詢處理過程中,每次讀入內(nèi)存的是若干完整的行數(shù)據(jù)。這種方式適合于寫優(yōu)先的聯(lián)機事務(wù)處理,因為事務(wù)處理通常對整行數(shù)據(jù)進行讀寫操作。對大數(shù)據(jù)集的分析查詢,通常只用到一個邏輯表的少數(shù)幾個列,如果按行的方式存儲數(shù)據(jù),查詢處理時會讀取整行數(shù)據(jù),隨之帶來大量無關(guān)數(shù)據(jù),
3、浪費I/O帶寬,I/O效率低,進而影響了查詢處理速度。在列存儲系統(tǒng)中,用戶觀點的邏輯表的數(shù)據(jù)按列的方式進行存儲,每一列的數(shù)據(jù)連續(xù)存儲在磁盤上。對按列存儲的數(shù)據(jù)進行查詢處理時,只讀取與査詢相關(guān)的列數(shù)據(jù),可以避免對無關(guān)列數(shù)據(jù)的讀取,2、列存儲原理,列存儲是關(guān)系數(shù)據(jù)的另一種物理存儲方式,不同于行存儲,其基本 原則是將邏輯表進行垂直劃分,然后逐列存儲數(shù)據(jù),使得查詢處理時 能只讀取與查詢相關(guān)的列,避免讀取無關(guān)列,提高數(shù)據(jù)I/O效率,從而 提高查詢處理的速度。 數(shù)據(jù)庫以行、列的二維表的形式存儲數(shù)據(jù),以一維字符串方式在 存儲器(硬盤)上存儲,例如以下的一個表,這個簡單的表包括員工代碼(EmpId), 姓名字
4、段(Lastname and Firstname)及工資(Salary).這個表存儲在電腦的內(nèi)存(RAM)和存儲器(硬盤)中。雖然內(nèi)存和硬盤在機制上不同,但是操作系統(tǒng)是以同樣的方式存儲的。數(shù)據(jù)庫必須把這個二維表存儲在一系列一維的“字節(jié)”中,由操作系統(tǒng)寫到內(nèi)存或硬盤中。行式數(shù)據(jù)庫把一行中的數(shù)據(jù)值串在一起存儲起來,然后再存儲下一行的數(shù)據(jù),以此類推,列式數(shù)據(jù)庫把一列中的數(shù)據(jù)值串在一起存儲起 來,然后再存儲下一列的數(shù)據(jù),以此類推。寫入 時,一行記錄被拆分為多列,每一列數(shù)據(jù)追加到對應(yīng)列的末尾處,現(xiàn)在考慮這樣一個例子,假設(shè)在一張客戶信息表中我們要得到所有生日在七月份的客戶的名字和電子郵件地址。在一個典型的
5、OLTP數(shù)據(jù)庫引擎中,查詢優(yōu)化器將根據(jù)返回行的百分比(比如在本例中,假設(shè)各月的生日都基本平均,則返回行數(shù)的百分比為1/12)來決定是否值得在該列上使用索引。因此,典型的數(shù)據(jù)庫引擎對該查詢可能會做全表的掃描。為了對掃描的成本做一估算,我們假設(shè)每個客戶的行記錄為3200個字節(jié),共有1000萬個條記錄。因此,表掃描必須從硬盤中讀取320億個字節(jié)的數(shù)據(jù)。 列存儲方式可以只讀取查詢所需的列。在本例中,有三個相關(guān)的列:客戶全名、電子郵件地址和出生日期。假設(shè)全名為25個字節(jié),電子郵件地址為25個字節(jié),出生日期為4個字節(jié)(日期以二進制做內(nèi)部編碼)。那么只需要讀取5.4億個字節(jié)的數(shù)據(jù)大約減少了59倍,此外,傳統(tǒng)
6、的數(shù)據(jù)庫引擎不能以一種通用的方式進行數(shù)據(jù)壓縮,主 要是由于存在以下三個問題: 1.按行存儲的數(shù)據(jù)存儲方式不利于壓縮。這是因為數(shù)據(jù)(大多為二進 制數(shù)據(jù))在以這種方式存儲時重復(fù)并不多。我們發(fā)現(xiàn),按行存儲的數(shù) 據(jù),最多能有5-10%的壓縮比例。 2.對于許多的2K 和4K 的二進制數(shù)據(jù)的頁來說,為壓縮和解壓縮而增 加的開銷太大。 3.在OLTP 環(huán)境中,大量讀取和更新混雜在一起。每一次更新要進行 壓縮操作,而讀取只需解壓縮操作,大多數(shù)的數(shù)據(jù)壓縮算法在壓縮時 比解壓縮時慢4 倍。這一開銷將明顯降低OLTP數(shù)據(jù)庫引擎的事務(wù)處 理效率而使得數(shù)據(jù)壓縮的代價昂貴到幾乎不能忍受,在數(shù)據(jù)倉庫應(yīng)用中,數(shù)據(jù)壓縮可以用
7、小得多的代價換取更大好處。其中包括減少對于存儲量的要求;增大數(shù)據(jù)吞吐量,這相當(dāng)于減少查詢響應(yīng)時間。 由于列式存儲數(shù)據(jù)按列存儲,相鄰的字段值具有相同的數(shù)據(jù)類型,其二進制值的范圍通常也要小得多,所以壓縮更容易,壓縮比更高。如Sybase公司的列式數(shù)據(jù)庫產(chǎn)品Sybase IQ 對列存儲的數(shù)據(jù)通常能得到大于50%的壓縮。更大的壓縮比例使得列式數(shù)據(jù)庫在獲得優(yōu)良的查詢性能的同時,減少了對存儲空間的需求,3、列存儲面臨的問題,由于每個屬性存儲為獨立的數(shù)據(jù)列 ,查詢中所涉及到的多個屬性列之間要進行較多的連接操作 ,當(dāng)選擇操作的選擇率較低時 ,大量中間結(jié)果的屬性列之間的連接操作極大地影響了系統(tǒng)的性能。 在同一個
8、企業(yè)應(yīng)用中面向 OLTP 和 OLAP 應(yīng)用同時部署行存儲和列存儲兩種數(shù)據(jù)庫系統(tǒng)無疑增大了部署和維護開銷 , 對于絕大部分企業(yè)都是無法承受的。,4、列存儲 or 行存儲,因為硬盤尋址時間相較于計算機上其他部件的運行速度來說 不是一般的慢,所以常用相同工作負載下的硬盤訪問性能來較 行數(shù)據(jù)庫和列數(shù)據(jù)庫。通常,順序讀取數(shù)據(jù)要比隨機訪問更快 而且,硬盤尋址時間的提升比起CPU速度的進步要慢得多。在使 用硬盤作為存儲媒介的系統(tǒng)上這種情況很可能還會持續(xù)一段時 間。下面簡單羅列了一些選擇行數(shù)據(jù)庫還是列數(shù)據(jù)庫的權(quán)衡依 據(jù)。當(dāng)然,如果能夠把數(shù)據(jù)全放在內(nèi)存中,那么使用內(nèi)存數(shù)據(jù) 庫性能會更好。 不能籠統(tǒng)地說列存儲優(yōu)
9、于行存儲,只是兩者適用的場合不同 而已,1、在只需要根據(jù)某幾列來聚合數(shù)據(jù)的時候按列的數(shù)據(jù)組織方式更有 效。因為這樣只需要讀取一部分數(shù)據(jù),要比讀取全部數(shù)據(jù)更快. 2、當(dāng)只需要修改某一列值的時候按列的數(shù)據(jù)組織方式更有效。因為 可以直接找到某列數(shù)據(jù)并修改,而與行中的其他列無關(guān)。 3、當(dāng)需要某行的多列數(shù)據(jù)的時候按行的數(shù)據(jù)組織方式更有效。當(dāng)行 中數(shù)據(jù)不是太多的情況下一次硬盤尋址就可以獲得該行的所有數(shù)據(jù)。 4、在新增行數(shù)據(jù)的時候,如果各列都有值,那么按行的數(shù)據(jù)組織方式 會更有效,因為只需要一次硬盤尋址就可以寫入整行的全部數(shù)據(jù). 在實際應(yīng)用中,面向行的數(shù)據(jù)存儲架構(gòu)更適用于OLTP-頻繁交互事務(wù)的場景。面向列的數(shù)據(jù)存儲架構(gòu)更適用于OLAP-(如數(shù)據(jù)倉庫)這樣在海量數(shù)據(jù)(可能達到TB規(guī)模)中進行有限復(fù)雜查詢的場景,列存儲與行存儲的選擇,采用列式存儲的數(shù)據(jù)庫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國印刷制版膠片行業(yè)市場評估分析及投資發(fā)展盈利預(yù)測報告
- 2025年中國債券行業(yè)市場深度分析及發(fā)展前景預(yù)測報告
- 2025年煮呢機包布項目投資可行性研究分析報告
- 2025年中國四星級酒店行業(yè)市場深度調(diào)研分析及投資前景研究預(yù)測報告
- 二零二五版親子教育講座與培訓(xùn)協(xié)議4篇
- 2025年插芯付鎖雙栓行業(yè)深度研究分析報告
- 二零二五年度有機大米采購與加工合作協(xié)議3篇
- 2025年中國汽車沖壓件市場競爭態(tài)勢及行業(yè)投資潛力預(yù)測報告
- 2025年度城市公共設(shè)施木質(zhì)欄桿安裝與更換合同4篇
- 2025年度別墅窗簾定制與智能家居系統(tǒng)集成合同4篇
- (二統(tǒng))大理州2025屆高中畢業(yè)生第二次復(fù)習(xí)統(tǒng)一檢測 物理試卷(含答案)
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- 2024人教版高中英語語境記單詞【語境記單詞】新人教版 選擇性必修第2冊
- 能源管理總結(jié)報告
- 充電樁巡查記錄表
- 阻燃材料的阻燃機理建模
- CJT 511-2017 鑄鐵檢查井蓋
- 配電工作組配電網(wǎng)集中型饋線自動化技術(shù)規(guī)范編制說明
- 2024高考物理全國乙卷押題含解析
- 介入科圍手術(shù)期護理
- 青光眼術(shù)后護理課件
評論
0/150
提交評論