亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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),這種存儲機構(gòu)更適合在數(shù)據(jù)倉庫存儲和商業(yè)智能方面發(fā)揮特長。

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

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

        如圖1,展示的是單節(jié)點上的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)

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

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

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

        (3)Tuple Mover進程

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

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

        舉個例子:

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

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

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

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

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

        舉個簡單的例子,如上提到的Sales表,如果要計算出商品的平均銷售價格,可以用:

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

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

        3.1 列定向(Column-orientation)

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

        3.2 壓縮機制(Aggressive Compression)

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

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

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

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

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

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

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

        3.6 其他管理特征

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

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

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

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

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

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

        4.結(jié)語

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

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

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

        [3]石菲.列式數(shù)據(jù)庫持續(xù)突破[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è)計與優(yōu)化思考
        排序不等式
        民用建筑防煙排煙設(shè)計優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        恐怖排序
        節(jié)日排序
        刻舟求劍
        兒童繪本(2018年5期)2018-04-12 16:45:32
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        国产熟女内射oooo| 国产精品第一区亚洲精品| av成人一区二区三区| 中文字幕中文有码在线| 精品国产v无码大片在线观看| 一区二区三区放荡人妻| 日韩人妻大奶子生活片| 午夜人妻久久久久久久久| 精品国产一区二区三区av片| 香蕉网站在线| 日产精品一区二区在线| 人妻少妇中文字幕久久| 老司机亚洲精品影院| 国产a级午夜毛片| 偷柏自拍亚洲综合在线| 亚洲精品视频在线一区二区| 麻豆成人精品国产免费| jjzz日本护士| 午夜宅男成人影院香蕉狠狠爱| 欧美v国产v亚洲v日韩九九| 久久av高潮av无码av喷吹| 伊人婷婷色香五月综合缴激情| 97女厕偷拍一区二区三区| 国产精品免费无遮挡无码永久视频| 亚洲av无码专区在线电影| 亚洲香蕉毛片久久网站老妇人| 视频国产自拍在线观看| 国产美女做爰免费视频| 好爽…又高潮了毛片免费看| 在线观看中文字幕一区二区三区| 国产日产在线视频一区| 337p西西人体大胆瓣开下部| 中文字幕在线观看国产双飞高清| 国产成人一区二区三区| 无码专区亚洲综合另类| 一个人看的www免费视频中文| 亚洲国产一区二区三区视频在线 | 亚洲一区二区三区内裤视| 人妻无码aⅴ不卡中文字幕| 久久99中文字幕久久| 日本黄色影院一区二区免费看|