真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫(kù)常用的壓縮算法有哪些-創(chuàng)新互聯(lián)

數(shù)據(jù)庫(kù)常用的壓縮算法有哪些,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

趙縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

數(shù)據(jù)庫(kù)常用的壓縮算法怎么解讀

最早的列式數(shù)據(jù)庫(kù)Sybase IQ 使用的是一種Decomposed 模型, 簡(jiǎn)單的將每一列分開(kāi),然后用rowid 來(lái)標(biāo)記每一行的位置。

后來(lái)的列式數(shù)據(jù)庫(kù)基本上都不用rowid 來(lái)標(biāo)記每一列的位置, 并且對(duì)于每一個(gè)Block 的數(shù)據(jù)一定是先計(jì)算那一列具有高選擇性(值最少),然后依次以選擇性來(lái)排序從而可以不使用rowid 標(biāo)記行的位置。

而由于排序之后相同的值在一起的機(jī)會(huì)更大,所以壓縮率也就比普通的簡(jiǎn)單列儲(chǔ)存(也即上面介紹的Decompose模型) 的壓縮率大很多倍。

常見(jiàn)的列式數(shù)據(jù)庫(kù)壓縮算法有如下幾種:

當(dāng) 數(shù)據(jù)排序之后相同的值肯定在一起,并且在同一個(gè)Block 里面一個(gè)值壓縮后只會(huì)出現(xiàn)一遍。 注意這里的排序并不是指按照值大小的排序,比如5>1 , B>A 這種,而是值將相同的值聚在一起,按出現(xiàn)的頻率進(jìn)行排序( 類(lèi)似group by 之后order by 每一個(gè)字段)。 比如:

WWWWWWWWWWWWWWBBBBBBBBBZZZZZA1

壓縮后就成為

W14B9Z5A1

按照出現(xiàn)的頻率進(jìn)行先后順序排序。 只要計(jì)算每一個(gè)數(shù)值出現(xiàn)的次數(shù)就可以計(jì)算出當(dāng)前數(shù)值的起始rowid 和次數(shù)了。 這比較有利于進(jìn)行in , not in , group 等sql 操作。

將每一個(gè)出現(xiàn)的值寫(xiě)在Block 的頭部, 然后用1 和 0 來(lái)表示有或者沒(méi)有。 這種算法要求每一個(gè)出現(xiàn)的值都必須具有非常高的選擇性并且不同值之間差別不能大到幾十倍的差距,而不像Run Length Encoding 只需要整體的選擇性比較高就可以了。

數(shù)據(jù)庫(kù)常用的壓縮算法怎么解讀

行式數(shù)據(jù)庫(kù)的BitMap Index 一般是一個(gè)整體的文件塊(如果是local partition 當(dāng)然也是local index)。 列式數(shù)據(jù)庫(kù)的組織形式都是按每一個(gè)block 每一個(gè)block 的方式組織,它的bitmap index 出現(xiàn)的值都是按當(dāng)前block 出現(xiàn)的所有值組織的。 某些列式數(shù)據(jù)庫(kù)會(huì)有一些變種: 比如在1和 0 之間還加入Run length encoding 繼續(xù)壓縮或者加入Null Compression, 用來(lái)排除空值比較多的情況。

Data Dictionary

行 式數(shù)據(jù)庫(kù)的一般都是選用的這種方式,將Block 常用的值放在block 頭部, 實(shí)際出現(xiàn)這個(gè)值的地方用標(biāo)記代替,行式數(shù)據(jù)庫(kù)里面一般會(huì)有一個(gè)壓縮級(jí)別的東西,壓縮級(jí)別越高壓縮時(shí)間越長(zhǎng),收益越小,解壓縮時(shí)間不變。 列式數(shù)據(jù)庫(kù)的Data Dictionary 壓縮也是在block 的頭部存放壓縮之前的實(shí)際值,但是與行式數(shù)據(jù)庫(kù)不同的是列式數(shù)據(jù)庫(kù)會(huì)存放所有值,不管這個(gè)值即使只出現(xiàn)了一次,這樣便于它在不可見(jiàn)索引和延遲物化方面可以 不解壓數(shù)據(jù)就能進(jìn)行普通操作。

Delta Compression

delta壓縮適合在那些數(shù)據(jù)前半部分相同的情況下使用,比如很大的整數(shù)和長(zhǎng)的有規(guī)律的字符串。 Delta 壓縮會(huì)記錄一個(gè)基礎(chǔ)值,然后在之后的每一個(gè)值只使用他們差別的部分,比如電話號(hào)碼,URL,地址,IP 之類(lèi)的。

LZO

LZO或者其他類(lèi)似的二進(jìn)制壓縮算法gzip,zip,rar,7zip。bzip等等在列數(shù)據(jù)庫(kù)里面也有使用,但是只適用于連讀取都非常少的歸檔數(shù)據(jù)(每次只讀非常少量的行數(shù))和大段的文本(網(wǎng)頁(yè)索引之類(lèi)的)。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。


新聞標(biāo)題:數(shù)據(jù)庫(kù)常用的壓縮算法有哪些-創(chuàng)新互聯(lián)
URL分享:http://weahome.cn/article/deeehs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部