王海波
摘 要:列存儲(chǔ)數(shù)據(jù)庫具有廣泛的應(yīng)用價(jià)值,不僅能夠進(jìn)行數(shù)據(jù)的批量處理,還能夠進(jìn)行即時(shí)查詢。由于列存儲(chǔ)數(shù)據(jù)庫能夠滿足人們對(duì)海量數(shù)據(jù)的存儲(chǔ)要求,使數(shù)據(jù)在線分析變得得心應(yīng)手,因此,研究列存儲(chǔ)數(shù)據(jù)庫關(guān)鍵技術(shù)十分重要。通過列存儲(chǔ)數(shù)據(jù)庫發(fā)展現(xiàn)狀、概述、特點(diǎn)以及應(yīng)用等知識(shí)內(nèi)容的研究,能夠促進(jìn)列存儲(chǔ)數(shù)據(jù)庫關(guān)鍵技術(shù)的發(fā)展。
關(guān)鍵詞:列存儲(chǔ) 數(shù)據(jù)庫 關(guān)鍵技術(shù) 分析
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2016)12(c)-0106-02
當(dāng)前,互聯(lián)網(wǎng)技術(shù)發(fā)展迅速,我們已經(jīng)進(jìn)入了大數(shù)據(jù)時(shí)代,同時(shí)對(duì)列存儲(chǔ)數(shù)據(jù)庫提出了更高的要求,推動(dòng)了數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展,使其滿足企業(yè)和政府對(duì)數(shù)據(jù)的需求,同時(shí),提供數(shù)據(jù)技術(shù)支持,加大對(duì)列存儲(chǔ)數(shù)據(jù)庫的技術(shù)研究,使其發(fā)揮出了重要的作用。該文的主要任務(wù)是對(duì)列存儲(chǔ)數(shù)據(jù)庫的相關(guān)內(nèi)容進(jìn)行整理,通過簡(jiǎn)單介紹列存儲(chǔ)數(shù)據(jù)庫的原理、概念、現(xiàn)狀、特點(diǎn)等內(nèi)容,為列存儲(chǔ)數(shù)據(jù)庫的發(fā)展提供重要依據(jù)。
1 列存儲(chǔ)數(shù)據(jù)庫概述
列存儲(chǔ)數(shù)據(jù)庫的數(shù)據(jù)儲(chǔ)存方式是以列存儲(chǔ)架構(gòu)為主,用戶能夠根據(jù)自己的需求,靈活地選擇查詢條件,進(jìn)行批量存儲(chǔ)與處理,提高工作效率,方便查詢。不僅如此,還能夠根據(jù)查詢條件,自動(dòng)形成統(tǒng)計(jì)報(bào)表,滿足不同用戶的需求[1]。列存儲(chǔ)思想在20世紀(jì)70年代中期被提出,到20世紀(jì)80年代開始展開研究,經(jīng)過近些年的研究發(fā)展,列存儲(chǔ)數(shù)據(jù)庫技術(shù)日益成熟,在大數(shù)據(jù)時(shí)代發(fā)揮了重要的作用。列存儲(chǔ)數(shù)據(jù)庫關(guān)鍵技術(shù)主要包括3種,分別是物化數(shù)據(jù)技術(shù)、數(shù)據(jù)壓縮技術(shù)以及成組迭代技術(shù),通過此3種技術(shù)的研究發(fā)展,促進(jìn)了列存儲(chǔ)數(shù)據(jù)庫的進(jìn)步,使其被廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)。列存儲(chǔ)數(shù)據(jù)庫能夠存儲(chǔ)不同文件,并經(jīng)過壓縮算法,壓縮文件數(shù)據(jù),減少磁盤的占用與開銷,盡可能在有效空間內(nèi)存儲(chǔ)更多文件,實(shí)現(xiàn)大量的、有效的數(shù)據(jù)存儲(chǔ),創(chuàng)造出更多的價(jià)值,使其符合用戶日益增長(zhǎng)的物質(zhì)要求,為數(shù)據(jù)存儲(chǔ)與處理打下良好的基礎(chǔ),實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的不斷進(jìn)步發(fā)展。
2 列存儲(chǔ)數(shù)據(jù)庫的特點(diǎn)
列存儲(chǔ)數(shù)據(jù)庫在企業(yè)智能商務(wù)、數(shù)據(jù)倉庫等領(lǐng)域應(yīng)用越來越廣泛,主要由于其具有顯著的優(yōu)勢(shì),符合時(shí)代發(fā)展潮流,能夠滿足用戶需求,由此可見,列存儲(chǔ)數(shù)據(jù)庫具有不可比擬的優(yōu)勢(shì),其特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面,下面進(jìn)行詳細(xì)的闡述。第一,列存儲(chǔ)數(shù)據(jù)庫設(shè)置了不可見索引,取消了傳統(tǒng)索引方式,不可見索引是一種有效的索引方式,能夠以列為單位按照選擇性進(jìn)行排序,將數(shù)據(jù)的特征字段作為索引,設(shè)置個(gè)性化自定義索引設(shè)置,滿足用戶的不同索引要求[2]。第二,壓縮算法,壓縮算法是列存儲(chǔ)數(shù)據(jù)庫的顯著特點(diǎn),通過壓縮算法,能夠?qū)崿F(xiàn)數(shù)據(jù)文件的合理壓縮,節(jié)約磁盤存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)的大批量存儲(chǔ)。由于列存儲(chǔ)數(shù)據(jù)庫中每一列數(shù)據(jù)都是分開存儲(chǔ)的,因而,根據(jù)數(shù)據(jù)特性,可以采用不同的壓縮算法來提高壓縮效率,提高壓縮效果,使列存儲(chǔ)數(shù)據(jù)庫發(fā)揮出重要的作用。第三,數(shù)據(jù)迭代,通過數(shù)據(jù)迭代調(diào)用,可以有效利用多核處理器提高運(yùn)行效果,有效處理數(shù)據(jù),提高數(shù)據(jù)處理的執(zhí)行效率。第四,延遲物化,列存儲(chǔ)數(shù)據(jù)庫在執(zhí)行過程中不需要解壓數(shù)據(jù),只是采用指針形式處理數(shù)據(jù),保證數(shù)據(jù)的完整輸出,在數(shù)據(jù)輸出之后,再進(jìn)行數(shù)據(jù)解壓,降低數(shù)據(jù)處理的復(fù)雜度,保證數(shù)據(jù)處理的方便、快捷,提高數(shù)據(jù)處理效率[3]。第五,存儲(chǔ)空間利用效率較高,列存儲(chǔ)數(shù)據(jù)庫與其他數(shù)據(jù)庫相比而言,數(shù)據(jù)完全是密集存儲(chǔ)的,具有較高的壓縮率,具有特定的壓縮算法,不需要為數(shù)據(jù)的更新預(yù)留空間,能夠?qū)崿F(xiàn)存儲(chǔ)空間的高效利用??傊?,列存儲(chǔ)數(shù)據(jù)庫具有顯著的特點(diǎn)與優(yōu)勢(shì),通過研究列存儲(chǔ)數(shù)據(jù)庫關(guān)鍵技術(shù),能夠提高列存儲(chǔ)數(shù)據(jù)庫的存儲(chǔ)能力。
3 列存儲(chǔ)數(shù)據(jù)庫的優(yōu)勢(shì)
列存儲(chǔ)數(shù)據(jù)庫具有較好的應(yīng)用前景,其發(fā)展較為樂觀,當(dāng)前的發(fā)展現(xiàn)狀較好,具有顯著的技術(shù)優(yōu)勢(shì)和數(shù)據(jù)管理方法的優(yōu)勢(shì),其技術(shù)優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn):第一,列存儲(chǔ)數(shù)據(jù)庫作為一種關(guān)系型數(shù)據(jù)庫,用戶的操作處理都是一個(gè)一個(gè)的表以及記錄,存儲(chǔ)技術(shù)新穎,通過壓縮算法技術(shù)的應(yīng)用能夠降低存儲(chǔ)成本,創(chuàng)造巨大的價(jià)值。第二,列存儲(chǔ)數(shù)據(jù)庫在查詢方面具有顯著技術(shù)優(yōu)勢(shì),能夠?qū)?shù)據(jù)壓縮在一起,以便在讀取時(shí)獲得更多數(shù)據(jù),提高數(shù)據(jù)處理速度,提高工作效率,實(shí)現(xiàn)快速查詢,不僅如此,還能夠方便、快捷地修改、添加記錄,提高列存儲(chǔ)數(shù)據(jù)庫的存儲(chǔ)效果。數(shù)據(jù)管理方面的優(yōu)勢(shì)則主要體現(xiàn)在以下幾點(diǎn):第一,列存儲(chǔ)數(shù)據(jù)庫能夠解決存儲(chǔ)空間占用大、數(shù)據(jù)更新需要空間等問題,采取稀疏索引,通過將連續(xù)記錄分成組的方式建立索引項(xiàng),便于管理與查詢,提高管理效果[4]。第二,列存儲(chǔ)數(shù)據(jù)庫的索引所占用的存儲(chǔ)空間小,維護(hù)費(fèi)用低,建立索引的代價(jià)小,還便于存儲(chǔ)查詢,解決了數(shù)據(jù)庫管理員繁重的管理工作,提高數(shù)據(jù)庫管理員的工作效率,以便有效進(jìn)行管理。
4 列存儲(chǔ)數(shù)據(jù)庫關(guān)鍵技術(shù)分析
4.1 成組迭代
對(duì)數(shù)據(jù)進(jìn)行逐條代理,對(duì)每一個(gè)數(shù)據(jù)進(jìn)行記錄,抽取數(shù)據(jù)的對(duì)應(yīng)屬性,是一種較為傳統(tǒng)的迭代方式,數(shù)據(jù)處理效率較低、復(fù)雜、繁瑣,無法有效進(jìn)行數(shù)據(jù)處理,為解決此問題,提出了成組迭代方式,即運(yùn)用函數(shù)方式進(jìn)行迭代處理,一次性將數(shù)據(jù)全部進(jìn)行處理,抽取出其對(duì)應(yīng)屬性放入緩存區(qū),如此一來,不僅可以提高數(shù)據(jù)處理效率,還實(shí)現(xiàn)了資源的節(jié)約,方便存儲(chǔ),因而,成組迭代是一種有效的處理方式,合理利用成組迭代十分重要[5]。成組迭代技術(shù)應(yīng)用的關(guān)鍵主要體現(xiàn)在以下幾點(diǎn):第一,在數(shù)據(jù)庫中列被設(shè)置為固定的寬度,以保證數(shù)值相對(duì)應(yīng),將數(shù)據(jù)以數(shù)組進(jìn)行操作,實(shí)現(xiàn)單記錄處理代價(jià)的最小化,提高CPU的吞吐量,成組迭代具有重要的作用,在未來具有廣闊的發(fā)展空間。第二,列存儲(chǔ)壓縮性較高,能夠?qū)?shù)據(jù)進(jìn)行有效壓縮,通過64個(gè)字節(jié)進(jìn)行高速緩存,實(shí)現(xiàn)成組迭代,有效壓縮。成組迭代作為一種關(guān)鍵技術(shù),在列存儲(chǔ)數(shù)據(jù)庫應(yīng)用發(fā)展中發(fā)揮了重要的作用,是不可缺少的關(guān)鍵技術(shù)之一。
4.2 數(shù)據(jù)壓縮技術(shù)
數(shù)據(jù)壓縮技術(shù)是列存儲(chǔ)數(shù)據(jù)庫中的核心技術(shù),在數(shù)據(jù)系統(tǒng)中,合理利用數(shù)據(jù)壓縮算法,減少CPU開銷以及數(shù)據(jù)存儲(chǔ)空間,節(jié)約成本,增加命中率,很顯然,數(shù)據(jù)壓縮技術(shù)是一個(gè)關(guān)鍵技術(shù),能夠在較大程度上實(shí)現(xiàn)系統(tǒng)性能優(yōu)化,增加壓縮優(yōu)越性,使其適合于數(shù)據(jù)壓縮。列存儲(chǔ)數(shù)據(jù)庫中每一個(gè)存儲(chǔ)塊存在同一屬性數(shù)值,且這些屬性數(shù)值具有一定相似性,針對(duì)相似性進(jìn)行有針對(duì)性的壓縮,具有較好的數(shù)據(jù)壓縮效果,使數(shù)據(jù)查詢方便,利用率較高,提高列存儲(chǔ)數(shù)據(jù)庫的存儲(chǔ)能力。數(shù)據(jù)壓縮技術(shù)的壓縮方式主要有以下幾種:第一,空值壓縮,空值壓縮方法較多,版本較多,但是其核心思想是一致的,其核心思想是通過特殊符號(hào)、NULL次數(shù)以及連續(xù)出現(xiàn)的零替換null數(shù)據(jù),一般情況下,此算法在null次數(shù)頻繁出現(xiàn)的情況下,能夠達(dá)到理想的效果。例如,在社區(qū)網(wǎng)站系統(tǒng)中,有許多沒有評(píng)論、沒有被引用的文章,與這些引用評(píng)論相對(duì)應(yīng)的就被視為null,null就是空值,這些空值雖然沒有字節(jié),但是同樣會(huì)占用存儲(chǔ)空間,占據(jù)系統(tǒng)存儲(chǔ)資源,影響系統(tǒng)查詢功能,以此方式實(shí)現(xiàn)系統(tǒng)的高度運(yùn)行。第二,游程編碼,游程編碼是一種輕量級(jí)的壓縮算法,能夠?qū)⒍鄠€(gè)連續(xù)的數(shù)據(jù)通過同一個(gè)單元表示,此算法適用于有序數(shù)據(jù)流,使數(shù)據(jù)流的重復(fù)率較高。游程編碼的原理較為簡(jiǎn)單,對(duì)壓縮數(shù)據(jù)依賴性較強(qiáng),只適用于一般數(shù)據(jù)庫的一般情況,不能進(jìn)行通用,使得數(shù)據(jù)中存在數(shù)據(jù)屬性的干擾,影響數(shù)據(jù)連續(xù)性概率。第三,字典編碼,字典編碼是一種應(yīng)用最為廣泛的無損編碼,是一種常用的編碼方式,通過采用簡(jiǎn)短的編碼,替換壓縮數(shù)據(jù)中常出現(xiàn)的字符串,在此基礎(chǔ)上壓縮數(shù)據(jù),能夠有效進(jìn)行編碼。字典編碼的原理如下,首先,輸入字符及字符串,使輸入的數(shù)據(jù)與字典中的字符串相匹配,此時(shí),壓縮器會(huì)輸出相應(yīng)的匹配位置標(biāo)識(shí),出現(xiàn)相對(duì)應(yīng)的代碼,在此之后,系統(tǒng)會(huì)對(duì)匹配位置中的編碼字?jǐn)?shù)較小的輸入流位數(shù)進(jìn)行對(duì)應(yīng),以達(dá)到壓縮效果。
4.3 物化技術(shù)
物化技術(shù)也是列存儲(chǔ)數(shù)據(jù)庫的關(guān)鍵技術(shù)之一,通過應(yīng)用物化技術(shù),可以將信息按照列存儲(chǔ)到不同方位,并進(jìn)行相對(duì)應(yīng)的存儲(chǔ),提高存儲(chǔ)能力,有效進(jìn)行管理。在列存儲(chǔ)數(shù)據(jù)庫系統(tǒng)中,可以同時(shí)讀取多個(gè)列表,有效進(jìn)行數(shù)據(jù)查詢。有效應(yīng)用物化技術(shù)需要做到以下幾點(diǎn):第一,選擇列重構(gòu)成行的方式進(jìn)行查詢數(shù)據(jù)操作,以便在實(shí)際操作中讀取到多個(gè)屬性列表,同時(shí),將實(shí)際訪問數(shù)據(jù)庫的屬性設(shè)置為單位,有效進(jìn)行操作,提高列存儲(chǔ)數(shù)據(jù)庫的存儲(chǔ)、查詢能力。第二,加大科研力度,增加資金投入,對(duì)物化技術(shù)展開進(jìn)一步的研究,物化技術(shù)的有效應(yīng)用離不開物化技術(shù)的發(fā)展,促進(jìn)物化技術(shù)發(fā)展,是實(shí)現(xiàn)物化技術(shù)有效應(yīng)用的基本前提,通過加大技術(shù)投入與資金投入,能夠?yàn)槲锘夹g(shù)的發(fā)展創(chuàng)造有利的條件。
5 結(jié)語
綜上所述,列存儲(chǔ)數(shù)據(jù)庫是一個(gè)大容量、方便、快捷的數(shù)據(jù)庫類型,不僅便于查詢,還能夠批量處理數(shù)據(jù)信息,滿足人們的高層次需求,與其他數(shù)據(jù)庫類型相比,具有不可比擬的優(yōu)勢(shì),值得應(yīng)用推廣,因此,加大對(duì)列存儲(chǔ)數(shù)據(jù)庫技術(shù)的研究力度,解決傳統(tǒng)數(shù)據(jù)庫存在的問題具有重要意義。
參考文獻(xiàn)
[1] 于利勝,張延松,王珊,等.基于行存儲(chǔ)模型的模擬列存儲(chǔ)策略研究[J].計(jì)算機(jī)研究與發(fā)展,2010(5):878-885.
[2] 王振璽,樂嘉錦,王梅,等.列存儲(chǔ)數(shù)據(jù)區(qū)級(jí)壓縮模式與壓縮策略選擇方法[J].計(jì)算機(jī)學(xué)報(bào),2010(8):1523-1530.
[3] 葉飛,宋光鵬,馬發(fā)勇,等.調(diào)度自動(dòng)化系統(tǒng)監(jiān)視與管理的研究與實(shí)現(xiàn)[J].中國(guó)電力教育,2011(9):90-91.
[4] 嚴(yán)秋玲,孫莉,王梅,等.列存儲(chǔ)數(shù)據(jù)倉庫中啟發(fā)式查詢優(yōu)化機(jī)制[J].計(jì)算機(jī)學(xué)報(bào),2011(10):2018-2026.
[5] 林子雨,楊冬青,王騰蛟,等.基于關(guān)系數(shù)據(jù)庫的關(guān)鍵詞查詢[J].軟件學(xué)報(bào),2010(10):2454-2476.