999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

列式數(shù)據(jù)庫Ver tica的特性分析

2011-02-27 05:42:42唐亞男
電腦與電信 2011年5期
關(guān)鍵詞:排序數(shù)據(jù)庫優(yōu)化

唐亞男

(亞信聯(lián)創(chuàng)科技(中國)有限公司,北京 100086)

1.前言

與以往常見的行式關(guān)系型數(shù)據(jù)庫不同,Vertica是一種基于列存儲(Column-Oriented)的數(shù)據(jù)庫體系結(jié)構(gòu),這種存儲機(jī)構(gòu)更適合在數(shù)據(jù)倉庫存儲和商業(yè)智能方面發(fā)揮特長。

常見的RDBMS都是面向行(Row-Oriented Database)存儲的,在對某一列匯總計(jì)算的時(shí)候幾乎不可避免的要進(jìn)行額外的I/O尋址掃描,而面向列存儲的數(shù)據(jù)庫能夠連續(xù)進(jìn)行I/O操作,減少了I/O開銷,從而達(dá)到數(shù)量級上的性能提升。同時(shí),Vertica支持海量并行存儲(MPP)架構(gòu),實(shí)現(xiàn)了完全無共享,因此擴(kuò)展容易,可以利用廉價(jià)的硬件來獲取高的性能,具有很高的性價(jià)比。

2.Vertica數(shù)據(jù)庫的體系結(jié)構(gòu)

如圖1,展示的是單節(jié)點(diǎn)上的Vertica的基本體系結(jié)構(gòu)。

圖1 體系結(jié)構(gòu)

作為關(guān)系型數(shù)據(jù)庫,Vertica的查詢SQL也是在前端被解析和優(yōu)化的。但與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫有所不同,Vertica內(nèi)部是混合存儲的,包括兩種不同的存儲結(jié)構(gòu):寫優(yōu)化器(WOS)和讀優(yōu)化器(ROS)。

(1)寫優(yōu)化器WOS(W rite-Optim ized Store)

是位于主存儲器上的一個(gè)數(shù)據(jù)結(jié)構(gòu),用于有效的支持?jǐn)?shù)據(jù)插入和更新操作;數(shù)據(jù)的存放是無序的,非壓縮的。

(2)讀優(yōu)化器ROS(Read-Optimized Store)

是磁盤物理存儲,存放的是排序和壓縮后的數(shù)據(jù)庫大塊數(shù)據(jù),因此這里的查詢相比于WOS性能更好。

(3)Tuple Mover進(jìn)程

是Vertica內(nèi)部的一個(gè)進(jìn)程,定期的以大數(shù)據(jù)塊的形式把數(shù)據(jù)從WOS移到ROS,由于是對整個(gè)WOS操作,Tuple Mover一次能非常有效的排序很多記錄,最后批量把它們寫入磁盤。

在Vertica內(nèi)部,不論是WOS還是ROS都是按列存儲的。

舉個(gè)例子:

表Sales包含字段(order-id、product-id、sales-date、customerid、sales-price),Vertica會存儲至少五個(gè)不同的列(邏輯上展示給用戶的是一張表)。通過分開存儲這些列,Vertica能夠只返回用戶特定查詢的列。

在Vertica中,每一列可以存在于不同的Projections中,如可以給Sales表建立兩個(gè)Projection:其中sales-prices包含order-id、product-id、sales-date、sale-price四 列 , 另 一 個(gè)salescustomers包含了order-id、product-id、customer-id三列。每個(gè)projection都可以指定單獨(dú)的排序,例如:命名為salescustomers的projection可能會按custmoer_id排序存儲,這對于“統(tǒng)計(jì)某個(gè)客戶訂購了哪些產(chǎn)品”這類查詢就非常有效。借助于這種存儲方式,對每個(gè)查詢Sql,Vertica的Database Designer工具會自動使用最優(yōu)的projections,從而能很快地響應(yīng)用戶的請求。

當(dāng)然,這種多個(gè)projections冗余存儲的方式會占用更多的磁盤空間,對此,Vertica也給出了很好的解決方案。高效的列壓縮模式能夠最多把數(shù)據(jù)壓縮掉90%,不但大大減少了磁盤的使用,同時(shí)由于Vertica能夠直接處理壓縮數(shù)據(jù),這樣查詢性能和查詢時(shí)的CPU負(fù)載都大大降低了。

3.Vertica的關(guān)鍵特性分析

在數(shù)據(jù)倉庫領(lǐng)域,人們會更多的關(guān)注數(shù)據(jù)庫的查詢性能。Vertica的查詢響應(yīng)受到多個(gè)因素的影響。

舉個(gè)簡單的例子,如上提到的Sales表,如果要計(jì)算出商品的平均銷售價(jià)格,可以用:

SELECT date,AVG(sales-price)FROM sales GROUPBY sales-date這樣的語句來實(shí)現(xiàn)。對于這樣的典型查詢語句,系統(tǒng)的主要開銷在磁盤訪問(disk I/O)和CPU處理兩個(gè)方面(分布式的情況下還需考慮網(wǎng)絡(luò)I/O),通常情況下disk I/O和CPU計(jì)算是同時(shí)進(jìn)行的,這樣我們不難得出結(jié)論:如果disk I/O用了D秒,CPU處理用了C秒,則整個(gè)查詢的響應(yīng)時(shí)間是D和C兩者中的最大值。

理解了以上一般SQL語句的處理過程,我們就可以進(jìn)一步的分析一下Vertica數(shù)據(jù)庫在查詢方面的優(yōu)勢在哪里。

3.1 列定向(Column-orientation)

由于大多數(shù)的查詢都是要從磁盤讀取數(shù)據(jù),因此可以說disk I/O在很大程度上決定了一個(gè)查詢的最終響應(yīng)時(shí)間。從上面的示例可以看出,Vertica只需要讀取sales-date,sales-price兩列,而行式存儲的數(shù)據(jù)庫則要讀取全部的5列,列式數(shù)據(jù)庫的優(yōu)勢不言而喻。

3.2 壓縮機(jī)制(Aggressive Compression)

在數(shù)據(jù)存儲方面,Vertica利用內(nèi)部的特定算法對數(shù)據(jù)進(jìn)行壓縮處理。這樣的機(jī)制會大大減少disk I/O的時(shí)間(D),同時(shí)由于Vertica對掃描和聚合等操作也在內(nèi)部進(jìn)行了優(yōu)化,可以直接處理壓縮后的數(shù)據(jù),這樣CPU的工作負(fù)載(C)也減少了。如上例中的AVG聚合函數(shù),Vertica是不需要將壓縮數(shù)據(jù)先做類似解壓這種處理的,因此查詢性能得到優(yōu)化。

3.3 讀優(yōu)化存儲(Read-Optim ized Storage)

Vertica的數(shù)據(jù)庫存儲容器ROSContainer專門為讀操作進(jìn)行了優(yōu)化設(shè)計(jì),且其中的數(shù)據(jù)是經(jīng)過了排序和壓縮處理的,即每個(gè)磁盤頁上不會有空白空間,而傳統(tǒng)的數(shù)據(jù)庫一般會在每頁上預(yù)留空間以便日后的insert操作來使用。

3.4 多種排序方式的冗余存儲

為了高可用性和備份恢復(fù)的需要,Vertica會按照不同的排序方式對數(shù)據(jù)做冗余存儲,這不但避免了大量的日志操作,也為查詢帶來了便利。Vertica的查詢優(yōu)化器會自動選擇最優(yōu)的排序方式來完成特定的查詢。

3.5 并行無共享設(shè)計(jì)

Vertica支持完全無共享海量并行存儲(MPP)架構(gòu),隨著硬件Server的增加,多個(gè)CPU并行處理,性能也可以得到線性的擴(kuò)展,這樣用戶使用廉價(jià)的硬件就可以獲得較高的性能改善。

3.6 其他管理特征

除了有優(yōu)越的性能以外,Vertica在數(shù)據(jù)庫管理方面也進(jìn)行了非常人性化的設(shè)計(jì)。

Vertica Database Designer是一個(gè)界面化的日常管理工具,并且能為用戶作出詳盡的DB層物理設(shè)計(jì)方案,大大減少了日后的性能調(diào)優(yōu)方面的開銷。

Vertica通過K-Safety值的設(shè)置,完成了數(shù)據(jù)庫的備份恢復(fù)機(jī)制,并保證了高可用性。

對于數(shù)據(jù)庫中的每個(gè)表每個(gè)列,Vertica都會在至少K+1個(gè)節(jié)點(diǎn)上存儲,如果有K個(gè)節(jié)點(diǎn)宕機(jī),依然能夠保證Vertica DB是完整可用的;當(dāng)損壞的節(jié)點(diǎn)恢復(fù)時(shí),Vertica自動完成節(jié)點(diǎn)間的熱交換,把其他節(jié)點(diǎn)上的正確數(shù)據(jù)恢復(fù)過來。通過這種機(jī)制也保證了Vertcia庫的節(jié)點(diǎn)數(shù)目可以自由伸縮而不會影響到數(shù)據(jù)庫的操作。

Vertica通過兩種技術(shù)來實(shí)現(xiàn)在線的持續(xù)數(shù)據(jù)裝載而不會影響到數(shù)據(jù)庫的訪問。

首先,Vertica通常運(yùn)行在快照隔離(Snapshot Isolation)模式下,該模式下查詢讀取的是最近的一致的數(shù)據(jù)庫快照,這個(gè)快照是不能被并發(fā)的update或delete操作更改的,因此查詢操作也不需要占用鎖,這種方式保證了數(shù)據(jù)裝載(insert)和其他查詢能互不干擾。另外,Vertica可以把數(shù)據(jù)直接裝載到WOS結(jié)構(gòu)中,WOS中的數(shù)據(jù)是不排序或索引的,所以裝載速度會很快,然后再由Tuple Mover進(jìn)程在后臺把數(shù)據(jù)移入ROS中,由于TupleMover的操作是大塊讀取(bulk-load)的,所以性能也很好。

4.結(jié)語

綜上所述,Vertica在設(shè)計(jì)上充分考慮和利用了列式存儲的優(yōu)越性,使數(shù)據(jù)庫的整體性能、易用性及可靠性方面都達(dá)到了較高的水平,同時(shí)Vertica提供了大量的管理監(jiān)控工具及APIs接口等,給使用者帶來了方便,因此這幾年的發(fā)展速度也很快,值得我們關(guān)注。

[1]程瑩.云計(jì)算時(shí)代的數(shù)據(jù)庫研究[J],電信技術(shù),2011,(01).

[2]尹東方.列式存儲在知識發(fā)現(xiàn)系統(tǒng)中的應(yīng)用與實(shí)現(xiàn)[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2010,(07).

[3]石菲.列式數(shù)據(jù)庫持續(xù)突破[J].中國計(jì)算機(jī)用戶,2009,(09).

[4]Pedro Furtado.Model and procedure for performance and availability-w ise parallel warehouses,Distributed and Parallel Databases,2009,(02).

[5]Zack Jourdan;R.Kelly Rainer;Thomas E.Marshall.Business Intelligence:An Analysis of the Literature,Information Systems Management,2008,(03).

[6]Willian H.Inmon.Building the Data Warehouse,4 edition,Wiley Education,2005:327-389.

猜你喜歡
排序數(shù)據(jù)庫優(yōu)化
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
排序不等式
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
恐怖排序
節(jié)日排序
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 狂欢视频在线观看不卡| 亚洲第一页在线观看| 国产亚洲一区二区三区在线| 青青热久麻豆精品视频在线观看| 国产精品视频观看裸模| 黄色网在线| 亚洲一区二区日韩欧美gif| 亚洲国产精品无码久久一线| 日韩精品专区免费无码aⅴ| 国产杨幂丝袜av在线播放| 久久亚洲美女精品国产精品| 无码有码中文字幕| 国产又色又刺激高潮免费看| 成人亚洲天堂| 无码免费试看| 超碰91免费人妻| 好吊妞欧美视频免费| 国产一区二区三区精品久久呦| 久久黄色毛片| 99国产在线视频| 国产aaaaa一级毛片| 亚洲区第一页| 欧美亚洲一二三区| 自拍偷拍欧美日韩| 国产九九精品视频| 精品国产亚洲人成在线| 亚洲欧美在线综合一区二区三区 | 欧美成人二区| 欧美性猛交一区二区三区| 国产免费人成视频网| 中文字幕 91| 亚洲精品久综合蜜| 伊在人亚洲香蕉精品播放| 久久青草免费91观看| 波多野结衣中文字幕一区二区| 欲色天天综合网| 日韩精品一区二区三区视频免费看| 成年片色大黄全免费网站久久| av无码一区二区三区在线| 人妻中文字幕无码久久一区| 国产av剧情无码精品色午夜| 青青热久免费精品视频6| 国产成人亚洲毛片| 成人综合久久综合| 免费A级毛片无码免费视频| 91亚洲国产视频| 1024你懂的国产精品| 特级毛片免费视频| 亚洲日本在线免费观看| 最新国产午夜精品视频成人| 国产亚洲高清在线精品99| 中文字幕永久在线看| 一级看片免费视频| 亚洲一道AV无码午夜福利| 无码AV日韩一二三区| 无码精品一区二区久久久| 久久semm亚洲国产| 国产午夜精品一区二区三| 国产免费精彩视频| 亚洲天堂视频在线播放| 在线观看国产黄色| 五月天综合婷婷| 新SSS无码手机在线观看| www.91在线播放| 亚洲成网站| 国产精品30p| 91精品国产麻豆国产自产在线| 好吊色国产欧美日韩免费观看| 国产一区二区三区免费| 国产成人你懂的在线观看| 亚洲天堂成人| 精品国产成人三级在线观看| 欧美一区二区丝袜高跟鞋| 成人精品视频一区二区在线| 色网站在线免费观看| 久久99久久无码毛片一区二区| 亚洲精品在线91| 一本久道久综合久久鬼色| 亚洲综合经典在线一区二区| 中文字幕第4页| 国产拍在线| 国产区精品高清在线观看|