欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法

文檔序號(hào):9350080閱讀:614來(lái)源:國(guó)知局
一種面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)軟件領(lǐng)域,尤其涉及一種面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法。
【背景技術(shù)】
[0002]我們平常用到的商業(yè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),其主要目標(biāo)是保證數(shù)據(jù)存取的ACID特征,為各類商務(wù)及事務(wù)應(yīng)用提供強(qiáng)大的數(shù)據(jù)管理與存取服務(wù)。但它們的數(shù)據(jù)服務(wù)的實(shí)時(shí)性難以得到保障,其根本原因在于:
傳統(tǒng)數(shù)據(jù)庫(kù)都是磁盤數(shù)據(jù)庫(kù),數(shù)據(jù)的主拷貝在硬盤上,用戶需要訪問(wèn)數(shù)據(jù)時(shí),DBMS將數(shù)據(jù)裝入主存,即對(duì)數(shù)據(jù)的管理是“基于磁盤的緩存技術(shù)”。而磁盤相對(duì)于主存是極其低速的存儲(chǔ)介質(zhì),且磁盤存取速度還和存取數(shù)據(jù)的物理位置和當(dāng)前磁盤磁頭位置有關(guān)。另外,管理緩存(cache)或緩沖(buffer),無(wú)論是在操作系統(tǒng)層還是DBMS層,都需要付出較大的代價(jià)。即使將磁盤數(shù)據(jù)全部緩存到內(nèi)存,其管理代價(jià)依然很大,無(wú)法滿足大多數(shù)應(yīng)用場(chǎng)景實(shí)時(shí)性的要求。
[0003]在內(nèi)存數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)的全部或活動(dòng)事務(wù)存取的數(shù)據(jù)放于內(nèi)存中,這樣事務(wù)對(duì)盤的訪問(wèn)完全取消了。由于整個(gè)數(shù)據(jù)庫(kù)放于內(nèi)存,數(shù)據(jù)庫(kù)則不再作為大量存儲(chǔ)文件看待而作為內(nèi)存中可尋址的大量數(shù)據(jù),不同于磁盤數(shù)據(jù)庫(kù)中的緩存或緩沖區(qū)方式,它完全打破了傳統(tǒng)磁盤數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)宗旨,帶來(lái)了其自身新的設(shè)計(jì)問(wèn)題。如:傳統(tǒng)磁盤數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)組織、訪問(wèn)方法、查詢處理算法的設(shè)計(jì)都針對(duì)減少磁盤訪問(wèn)次數(shù)與有效利用盤存儲(chǔ)空間,甚至犧牲CPU時(shí)間來(lái)減少I/O次數(shù)(如查詢處理有大量中間數(shù)據(jù)),而內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì)則主要考慮如何有效地利用CPU的時(shí)間和內(nèi)存空間。對(duì)傳統(tǒng)磁盤數(shù)據(jù)庫(kù)系統(tǒng)相當(dāng)有效的數(shù)據(jù)組織、訪問(wèn)方法、查詢處理算法,對(duì)于內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)可能并不有效,相反,一些認(rèn)為對(duì)傳統(tǒng)磁盤數(shù)據(jù)庫(kù)系統(tǒng)無(wú)用的辦法,反而成為可行的。
[0004]分布式內(nèi)存數(shù)據(jù)庫(kù),就是將數(shù)據(jù)分散存儲(chǔ)在多個(gè)獨(dú)立的數(shù)據(jù)節(jié)點(diǎn)上,并且以內(nèi)存作為存儲(chǔ)數(shù)據(jù)的主要介質(zhì),使用戶能夠?qū)崿F(xiàn)高性能,高并發(fā),高可伸縮及海量數(shù)據(jù)查詢而提供的新型數(shù)據(jù)庫(kù)的解決方案。內(nèi)存數(shù)據(jù)庫(kù)在最近幾年迅速發(fā)展,并在應(yīng)用中得到越來(lái)越廣泛的實(shí)踐。
[0005]分布式內(nèi)存數(shù)據(jù)庫(kù)相對(duì)于原有的傳統(tǒng)磁盤型數(shù)據(jù)庫(kù),由于不使用硬盤作為存儲(chǔ)數(shù)據(jù)的第一介質(zhì),因此減少了磁盤1/0,利用內(nèi)存的高速訪問(wèn)性實(shí)現(xiàn)了數(shù)據(jù)的高速訪問(wèn)。但是,由于內(nèi)存是很寶貴的資源,分布式內(nèi)存數(shù)據(jù)庫(kù)在生產(chǎn)業(yè)務(wù)中主要扮演的是計(jì)算平臺(tái)的角色,并不作為存儲(chǔ)數(shù)據(jù)的主數(shù)據(jù)庫(kù),其數(shù)據(jù)主要還是存儲(chǔ)在傳統(tǒng)磁盤數(shù)據(jù)庫(kù)中。如何將存儲(chǔ)在傳統(tǒng)磁盤數(shù)據(jù)庫(kù)中的海量結(jié)構(gòu)化數(shù)據(jù)快速導(dǎo)入到內(nèi)存中是分布式內(nèi)存數(shù)據(jù)庫(kù)首先要解決的問(wèn)題。
[0006]傳統(tǒng)磁盤型數(shù)據(jù)庫(kù)多采用行式存儲(chǔ)的方式,行式存儲(chǔ)是將各行放入連續(xù)的物理位置,這很像傳統(tǒng)的記錄和文件系統(tǒng)。然后由數(shù)據(jù)庫(kù)引擎根據(jù)每個(gè)查詢提取需要的列。行式存儲(chǔ)將數(shù)據(jù)組織成許多行,這樣就能在一個(gè)操作中找到所有的列。這種做法的缺點(diǎn)是必須每次處理一整行,而不是只處理自己需要的列。這種存儲(chǔ)方式比較適合OLTP (OnlineTransact1n Processing,聯(lián)機(jī)事務(wù)處理系統(tǒng),即以數(shù)據(jù)讀寫為主)場(chǎng)景,而不適合OLAP(Online Analytical Processing,聯(lián)機(jī)分析處理,即以數(shù)據(jù)分析為主)場(chǎng)景。OLAP的特點(diǎn)是多讀少寫,往往讀的數(shù)據(jù)量比較大,并且讀某個(gè)具體字段的幾率會(huì)遠(yuǎn)遠(yuǎn)大于讀整行數(shù)據(jù)的幾率。所以按行存儲(chǔ)不適合這種應(yīng)用場(chǎng)景。而列式存儲(chǔ)是結(jié)構(gòu)化數(shù)據(jù)中的每列按單列數(shù)據(jù)形式組織,并在建立各列之間的關(guān)系后存儲(chǔ)在介質(zhì)上。優(yōu)點(diǎn)是針對(duì)某個(gè)列中的值進(jìn)行簡(jiǎn)單查詢只需要獲得對(duì)應(yīng)列的數(shù)據(jù),不必讀入同一個(gè)記錄相關(guān)列的所有數(shù)據(jù),其讀入速度快,需要的內(nèi)部存儲(chǔ)資源相對(duì)少。這表示對(duì)某個(gè)列中特定值的搜索可以直接進(jìn)入該列的存儲(chǔ)區(qū),而不需要掃描整行的數(shù)據(jù)。這樣也使得數(shù)據(jù)壓縮變得更容易,因?yàn)橐粋€(gè)列中的數(shù)據(jù)通常具有相同的數(shù)據(jù)類型。所以列式存儲(chǔ)模型比較適合內(nèi)存數(shù)據(jù)庫(kù)的需求。
[0007]由于基于列的訪問(wèn)存在的缺點(diǎn)是載入速度通常比較慢,因?yàn)樵磾?shù)據(jù)在外部數(shù)據(jù)源中是以行或者記錄的形式表示的。將海量行式數(shù)據(jù)轉(zhuǎn)換成列式數(shù)據(jù)通常速度較慢,所以很多內(nèi)存數(shù)據(jù)庫(kù)都是針對(duì)更新數(shù)據(jù)進(jìn)行分析和計(jì)算,而不是基于全量數(shù)據(jù)的分析和計(jì)算。而基于全量數(shù)據(jù)分析計(jì)算的分布式內(nèi)存數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景,就需要設(shè)計(jì)一套高速、高效的數(shù)據(jù)導(dǎo)入方案,將原有存儲(chǔ)在行式數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化的行式數(shù)據(jù)轉(zhuǎn)換為適合內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)的壓縮后的列式數(shù)據(jù),來(lái)提高內(nèi)存數(shù)據(jù)庫(kù)的訪問(wèn)效率和存儲(chǔ)效率。
[0008]綜上所述,本申請(qǐng)發(fā)明人在實(shí)現(xiàn)本申請(qǐng)實(shí)施例中發(fā)明技術(shù)方案的過(guò)程中,發(fā)現(xiàn)上述技術(shù)至少存在如下技術(shù)問(wèn)題:
1.當(dāng)數(shù)據(jù)量較大時(shí),串行導(dǎo)入數(shù)據(jù)顯然是一種低效的數(shù)據(jù)導(dǎo)入方式,需要采用多路并行導(dǎo)入的方式,將原來(lái)存儲(chǔ)在持久化層的海量數(shù)據(jù)導(dǎo)入到分布式內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)中。
[0009]2.在現(xiàn)有技術(shù)中,由于列式數(shù)據(jù)庫(kù)與行式數(shù)據(jù)庫(kù)結(jié)構(gòu)上的差異,導(dǎo)致將行式存儲(chǔ)的數(shù)據(jù)轉(zhuǎn)換為列式數(shù)據(jù)時(shí)需要進(jìn)行大量的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換工作,因此在數(shù)據(jù)量很大的時(shí)候,數(shù)據(jù)轉(zhuǎn)換的工作量會(huì)很大,導(dǎo)入速度較慢、導(dǎo)入效率較低,因此,結(jié)合問(wèn)題1,需要設(shè)計(jì)一種高速、高效的并行數(shù)據(jù)導(dǎo)入方案,將海量行式數(shù)據(jù)轉(zhuǎn)換成列式數(shù)據(jù),然后并行導(dǎo)入到系統(tǒng)中。

【發(fā)明內(nèi)容】

[0010]本發(fā)明提供了一種面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法,解決了現(xiàn)有的數(shù)據(jù)導(dǎo)入方法存在導(dǎo)入速度較慢、導(dǎo)入效率較低,降低了內(nèi)存數(shù)據(jù)庫(kù)的訪問(wèn)效率和存儲(chǔ)效率的技術(shù)問(wèn)題,實(shí)現(xiàn)了將存儲(chǔ)在磁盤型數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)快速導(dǎo)入到分布式內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)中,且能夠根據(jù)用戶需求進(jìn)行個(gè)性化服務(wù),并提供增量數(shù)據(jù)更新功能,提高了列式數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入效率的技術(shù)效果。
[0011]為解決上述技術(shù)問(wèn)題,本申請(qǐng)?zhí)峁┝艘环N面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法,將存儲(chǔ)在磁盤型數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù)快速導(dǎo)入到分布式內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)中,該導(dǎo)入方法首先能夠根據(jù)用戶需求,支持按照用戶需求導(dǎo)入數(shù)據(jù),并根據(jù)用戶需求提供增量數(shù)據(jù)更新功能,并且針對(duì)列數(shù)據(jù)載入速度比較慢的問(wèn)題,設(shè)計(jì)一種多路并行數(shù)據(jù)快速導(dǎo)入的解決方案,提高列式數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入效率。
[0012]本發(fā)明所述的面向結(jié)構(gòu)化列式數(shù)據(jù)的分布式并行數(shù)據(jù)導(dǎo)入方法,包括如下步驟: 步驟1:數(shù)據(jù)庫(kù)讀取組件根據(jù)數(shù)據(jù)導(dǎo)入規(guī)則,生成導(dǎo)入任務(wù); 步驟2:根據(jù)所需讀取數(shù)據(jù)表數(shù)據(jù)規(guī)模,對(duì)數(shù)據(jù)庫(kù)讀取任務(wù)進(jìn)行切分成多個(gè)子任務(wù),每個(gè)子任務(wù)讀取部分?jǐn)?shù)據(jù)表(子表),并建立子任務(wù)隊(duì)列管理子任務(wù);
步驟3:子任務(wù)讀取子表完畢后,將讀取的原始數(shù)據(jù)封裝好發(fā)送給數(shù)據(jù)導(dǎo)入子系統(tǒng);步驟4:數(shù)據(jù)導(dǎo)入子系統(tǒng)根據(jù)原始數(shù)據(jù)創(chuàng)建數(shù)據(jù)底層索引和數(shù)據(jù)分布索引,然后將建立好的數(shù)據(jù)底層索引和數(shù)據(jù)分布索引導(dǎo)入到分布式內(nèi)存數(shù)據(jù)庫(kù)引擎中,并維護(hù)導(dǎo)入狀態(tài)。
[0013]優(yōu)選的,所述步驟I獲取導(dǎo)入規(guī)則,根據(jù)數(shù)據(jù)導(dǎo)入規(guī)則,創(chuàng)建數(shù)據(jù)導(dǎo)入任務(wù),維護(hù)數(shù)據(jù)導(dǎo)入任務(wù)狀態(tài)。
[0014]優(yōu)選的,所述步驟2中,數(shù)據(jù)庫(kù)讀取組件讀取數(shù)據(jù)庫(kù)元信息,獲取待讀取的數(shù)據(jù)表規(guī)模,計(jì)算出每個(gè)子任務(wù)應(yīng)該讀取的子表規(guī)模,并生成子任務(wù)隊(duì)列。
[0015]具體的,所述步驟2中創(chuàng)建數(shù)據(jù)庫(kù)讀取子任
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
瓦房店市| 策勒县| 孝昌县| 白河县| 阜城县| 永兴县| 梓潼县| 韩城市| 佛教| 通化市| 吉安市| 阳高县| 天等县| 华宁县| 连平县| 富平县| 会昌县| 六安市| 高邑县| 镇康县| 崇州市| 渑池县| 房产| 孙吴县| 丹江口市| 三都| 闵行区| 扬州市| 青田县| 贵港市| 潍坊市| 临西县| 理塘县| 江山市| 宿松县| 拜泉县| 双峰县| 双峰县| 左云县| 开阳县| 龙游县|