天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

關(guān)系型數(shù)據(jù)庫中的壓縮技術(shù)

  計算機存儲的容量限制仍然日益成為IT系統(tǒng)的瓶頸。其主要原因有兩個:第一,信息革命導致人們產(chǎn)生了比過去多得多的數(shù)據(jù)。巨大的數(shù)據(jù)庫系統(tǒng)每時每刻都在產(chǎn)生海量的新數(shù)據(jù)。第二,隨著計算機存儲能力的增長,人們傾向于永久性保存所有的數(shù)據(jù)。例如,在信息革命早期,證券交易系統(tǒng)往往只保存近一段時間的交易細節(jié)數(shù)據(jù)。如今,人們傾向于保存所有能夠被保存的數(shù)據(jù):每一次交易,每一通電話,網(wǎng)站的每一次點擊,交換機中的每一回通信等。

  在這種趨勢下,計算機存儲承擔著越來越沉重的壓力。尤其是在企業(yè)級應用中,為了保存海量數(shù)據(jù)而在存儲上投入的成本,往往已經(jīng)到了令人吃驚的地步。

  在數(shù)據(jù)庫中使用壓縮技術(shù),是為了解決(或者至少緩解)這種壓力所做出的努力之一。這種技術(shù)的定義十分簡單:對存儲在數(shù)據(jù)庫中的數(shù)據(jù)進行壓縮,從而減少占用的磁盤空間,同時又盡量不影響數(shù)據(jù)庫的其他操作。

  很容易想象這一技術(shù)產(chǎn)生的后果。被壓縮后的數(shù)據(jù)能夠顯著地減少占用的磁盤空間,從而降低整個系統(tǒng)的存儲成本。然而對數(shù)據(jù)進行壓縮和解壓縮,需要更多的CPU時間。在對速度要求十分苛刻的數(shù)據(jù)庫系統(tǒng)中,這種CPU時間的額外支出,是否會導致效率的嚴重降低呢?

  讓我們?nèi)娴貙徱晧嚎s技術(shù)引起的得失。在CPU時間上,會有額外的支出。但是,由于壓縮后的數(shù)據(jù)占用的磁盤空間減少了,這意味著系統(tǒng)用于I/O的時間也會相應的減少。眾所周知,數(shù)據(jù)庫系統(tǒng)最大的瓶頸在于I/O,I/O速度的增長卻遠遠跟不上CPU按照摩爾定律的增長。因此,從CPU時間上支出的成本,可以在I/O速度的提高上補償回來,而且還可能有盈余。壓縮后的數(shù)據(jù)庫,不但會占用更少的磁盤空間,甚至還可能有更快的速度。

  然而在實際項目中,還要考慮到多種因素的權(quán)衡,情況可能會非常復雜。幸運的是,主流的幾種關(guān)系數(shù)據(jù)庫在實踐中都已經(jīng)正式支持壓縮技術(shù)。目前,數(shù)據(jù)庫壓縮技術(shù)主要仍然被應用于數(shù)據(jù)密集型的OLAP,而不是運算密集型的OLTP,但這并不意味著它不能被應用于OLTP。

  壓縮方式

  目前,幾乎所有的關(guān)系型數(shù)據(jù)庫中應用的壓縮方式,都是基于字典的壓縮方式?;驹硎?,將數(shù)據(jù)中重復出現(xiàn)的信息抽取出來,并用比較簡短的符號予以代替,從而達到壓縮的效果。舉例來說,如果數(shù)據(jù)中重復出現(xiàn)了“Personal Computer”這個字符串,那么它就會被識別為一個模式(Pattern),然后所有這個字符串出現(xiàn)的地方都會被一個對應的符號(Symbol)代替,比如數(shù)字1。所有的模式和對應的符號都會被存儲在字典里面(Dictionary),字典被用于壓縮和解壓縮(也就是對Pattern和Symbol進行相互替換)。當然,真實的應用比這要復雜得多。但是,理解了字典壓縮的原理以后,我們已經(jīng)可以從不同的角度對不同的壓縮技術(shù)進行區(qū)分。

  1. 按建立字典的方式區(qū)分:手工建立字典和自動建立字典。手工建立字典,意味著數(shù)據(jù)庫不能自動搜索數(shù)據(jù)中的重復數(shù)據(jù),必須人工輸入所有的模式才能建立字典。這種方式出現(xiàn)在數(shù)據(jù)庫壓縮技術(shù)的早期,目前已經(jīng)基本被淘汰。自動建立字典則意味著數(shù)據(jù)庫會自動搜索模式而無需人工干預。
  2. 按字典應用的范圍區(qū)分:表級別的字典和塊級別的字典。表級別的字典意味著在整個表的范圍內(nèi)搜索模式并建立一個唯一的字典,而塊級別的字典則在每一個塊上建立單獨的字典。其中,塊是關(guān)系型數(shù)據(jù)庫中的一個術(shù)語,是存儲的最小單位。
  3. 存儲的方式區(qū)分:列壓縮和行壓縮。這涉及列存儲和行存儲的概念。行存儲表示數(shù)據(jù)庫中包含不同字段的同一行被連續(xù)存放。列存儲則表示包含不同行的同一字段數(shù)據(jù)被連續(xù)存放。同一字段的數(shù)據(jù)出現(xiàn)重復的可能性較大,這意味著基于列的壓縮可能有更高的效率,但這和傳統(tǒng)關(guān)系型數(shù)據(jù)庫的存儲方式相悖。由于二者互有利弊,數(shù)據(jù)庫廠商往往通過一些技巧來避免其缺陷,使之適應實際使用,甚至混合使用這兩種壓縮方式。

  壓縮相關(guān)的操作

  雖然關(guān)系型數(shù)據(jù)庫使用的壓縮算法本身不太復雜,但是由于壓縮技術(shù)改變了數(shù)據(jù)存儲的底層結(jié)構(gòu),因此涉及數(shù)據(jù)庫操作的方方面面。下面是一些主要的相關(guān)操作:

  1. 數(shù)據(jù)查詢。當接收到查詢請求時,數(shù)據(jù)庫系統(tǒng)從磁盤中讀取已被壓縮的數(shù)據(jù),必須先經(jīng)過一個解壓的過程,將數(shù)據(jù)還原為未壓縮的形式,再返回給查詢請求。
  2. 數(shù)據(jù)更新。當進行Insert和Update操作時,數(shù)據(jù)需要經(jīng)過壓縮之后才被存儲。理論上來說,Delete操作只需要簡單地刪除數(shù)據(jù),而無需進行壓縮或解壓縮。但是事實上,在某些自適應的壓縮技術(shù)中,對已有數(shù)據(jù)的更新到達某一閾值時,會導致字典的自動更新(因為字典已經(jīng)不能再適應當前的數(shù)據(jù))。這意味著,IUD操作都有可能導致字典的重新創(chuàng)建(或刪除)。
  3. 數(shù)據(jù)裝載。這和插入數(shù)據(jù)的過程類似,數(shù)據(jù)將會先被壓縮然后被存儲。在某些情況下(例如,當DB2的Automatic Dictionary Creation技術(shù)被啟用時),裝載數(shù)據(jù)時還可能同時創(chuàng)建字典。
  4. 表整理。在整理表時,根據(jù)當前表被標識為壓縮或未壓縮,將會對數(shù)據(jù)進行相應的壓縮或者解壓縮處理。表整理是對整個表進行充分壓縮的有效手段。
  5. 壓縮率評估。數(shù)據(jù)庫一般會提供一個操作,在未被壓縮(或未被完全壓縮)的數(shù)據(jù)表上進行評估,預測能達到多高的壓縮率。
  6. 索引(Index)壓縮。索引壓縮的算法與關(guān)系型數(shù)據(jù)壓縮不太一樣,本文不進行深入討論。
  7. 大對象(LOB)壓縮。大對象不使用關(guān)系型數(shù)據(jù)的行存儲或列存儲方式,因此也不適用上述的算法。
  8. 日志(Log)。日志中需要保存和壓縮操作相關(guān)的信息,以保證數(shù)據(jù)的一致性。
  9. 備份與恢復。在備份與恢復操作時,需要進行相應的數(shù)據(jù)壓縮和解壓縮處理。

  壓縮相關(guān)的命令

  雖然壓縮涉及非常復雜的數(shù)據(jù)庫內(nèi)部機制,但理論上來說,壓縮后的數(shù)據(jù)庫對于使用者是透明的,所有的壓縮和解壓縮過程都隱藏在數(shù)據(jù)庫內(nèi)部。因此,在絕大部分情況下,使用者不需要進行額外的操作,甚至不需要知道數(shù)據(jù)庫是否已經(jīng)被壓縮過。

  當然,仍然有一些與特定的壓縮相關(guān)的數(shù)據(jù)庫命令。下面以DB2 V9.7為例,作一簡單討論。

  當創(chuàng)建一個表的時候,可指定該表使用壓縮。語法如下:

  CREATETABLE CUSTOMER (
 
  ) COMPRESS YES;

it知識庫關(guān)系型數(shù)據(jù)庫中的壓縮技術(shù),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 性欧美videosex18嫩 | 免费乱理伦片在线观看八戒 | 国产人妖一区二区 | 亚洲免费无码av线观看 | 色即是空 BT | 性高跟鞋xxxxhd | 蜜柚视频在线观看全集免费观看 | 日日噜噜噜夜夜爽爽狠狠图片 | 97无码人妻精品1国产精东影业 | 亚洲AV久久无码高潮喷水 | 久久精品18 | 97在线国内自拍视频 | 欧美成a人片免费看久久 | 国产亚洲精品在线视频 | 色老板美国在线观看 | 老色69久久九九精品高潮 | 香蕉久久一区二区三区啪啪 | 69xx欧美| 国产精品97久久AV色婷婷综合 | 无罩看奶禁18 | 亚洲欧美免费无码专区 | 国产精品爽爽久久久久久蜜桃 | 日日干夜夜爱 | 99久久伊人一区二区yy5099 | 扒开美女的内衣亲吻漫画 | 欧美日韩中文字幕综合图区 | 久久99r66热这里只有精品 | 亚洲欧美综合视频 | 毛片在线网址 | 开心久久激情 | 扒开美女下面粉嫩粉嫩冒白浆 | 狠狠色欧美亚洲狠狠色www | 秋霞鲁丝片Av无码 | 秋霞电影网午夜一级鲁丝片 | 九九这里有精品 | 好男人的视频在线观看 | 国产亚洲精品免费视频 | 国产真实女人一级毛片 | 国产无遮挡无码视频在线观看不卡 | 亚洲精品乱码久久久久久直播 | 俄罗斯乌克兰战争原因 |