• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的非結(jié)構(gòu)化數(shù)據(jù)管理在石油行業(yè)中的研究與實(shí)現(xiàn)

      2017-09-07 00:02:05張學(xué)偉

      張學(xué)偉

      摘要:隨著互聯(lián)網(wǎng)及大數(shù)據(jù)時(shí)代的到來(lái),新數(shù)據(jù)的產(chǎn)生以指數(shù)級(jí)的速度增長(zhǎng),而這大量的數(shù)據(jù)中,又以格式不確定的非結(jié)構(gòu)化數(shù)據(jù)為主。主流的關(guān)系型數(shù)據(jù)庫(kù)技術(shù)很難駕馭非結(jié)構(gòu)化數(shù)據(jù),本文提出基于Hadoop分布式框架的非結(jié)構(gòu)化數(shù)據(jù)管理體系。采用HBase數(shù)據(jù)庫(kù)技術(shù)處理多格式的大量小文件,利用Lucene檢索引擎設(shè)計(jì)全文檢索策略,并在此基礎(chǔ)上搭建分層體系架構(gòu)。

      關(guān)鍵詞:Hadoop;非結(jié)構(gòu)化數(shù)據(jù);Lucene

      中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)05-0054-01

      1 引言

      在油田開(kāi)發(fā)過(guò)程中,積累了大量的信息數(shù)據(jù),包括辦公文檔、地震數(shù)據(jù)、方案文檔及各種圖件等非結(jié)構(gòu)化的數(shù)據(jù)。將這些數(shù)據(jù)進(jìn)行妥善的存儲(chǔ)和管理,進(jìn)一步挖掘數(shù)據(jù)價(jià)值對(duì)油田的可持續(xù)發(fā)展有著重要意義。

      2 Hadoop環(huán)境下的文檔存儲(chǔ)技術(shù)

      2.1 數(shù)據(jù)庫(kù)技術(shù)對(duì)比分析

      以O(shè)racle為代表的傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)能夠?qū)Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行很好的管理,也可以通過(guò)二進(jìn)制大對(duì)象(BLOB)作為容器來(lái)存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)。Oracle在管理與檢索非結(jié)構(gòu)化數(shù)據(jù)時(shí),需要額外的處理能力和內(nèi)存才能獲得與文件系統(tǒng)存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)同樣的性能。

      由于對(duì)硬件性能的高要求,就使得許多針對(duì)非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)方案誕生,其中以開(kāi)源的Hadoop分布式計(jì)算框架為代表。

      Hadoop采用流式數(shù)據(jù)訪問(wèn)模式,并使用主/從架構(gòu)模式,通過(guò)多數(shù)據(jù)副本保存和分布式處理,保證了Hadoop能夠以可靠、高效、可伸縮的方式存儲(chǔ)處理數(shù)據(jù)。

      Hadoop是為存儲(chǔ)大文件設(shè)計(jì)的,在處理大量小文件時(shí),每個(gè)小文件都以對(duì)象的形式存儲(chǔ)在元數(shù)據(jù)節(jié)點(diǎn)內(nèi)存中,大量小文件會(huì)占用大量?jī)?nèi)存,這樣元數(shù)據(jù)節(jié)點(diǎn)的內(nèi)存容量會(huì)嚴(yán)重制約集群的擴(kuò)展;Hadoop以流式訪問(wèn)大量小文件時(shí),需要頻繁請(qǐng)求數(shù)據(jù)節(jié)點(diǎn)以獲取文件,嚴(yán)重影響元數(shù)據(jù)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的IO性能。

      HBase是Hadoop中帶有的分布式的、面向列的開(kāi)源數(shù)據(jù)庫(kù)。使用HBase存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),具有系統(tǒng)層小文件打包、全局命名空間等多種優(yōu)勢(shì)。

      2.2 Oracle和HBase效率比較

      仿照Oracle文檔存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)HBase表行鍵結(jié)構(gòu),其中以文檔代碼為行鍵,錄入時(shí)間為時(shí)間戳,列簇包括項(xiàng)目名稱(chēng)、文檔名稱(chēng)、最后更改時(shí)間、文檔內(nèi)容、用戶名稱(chēng)等,列簇字段可后期根據(jù)需要添加,保證了表格的擴(kuò)展性。

      使用Java語(yǔ)言接口分別連接Hbase數(shù)據(jù)庫(kù)及Oracle數(shù)據(jù)庫(kù),在相同實(shí)驗(yàn)環(huán)境下,對(duì)文檔上傳下載效率進(jìn)行測(cè)試。上傳20個(gè)共130M的文檔文件, Oracle耗時(shí)330秒,HBase耗時(shí)19秒;下載同樣大小文檔,Oracle耗時(shí)42秒,HBase耗時(shí)14秒。通過(guò)對(duì)比得知,使用HBase存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),文件吞吐效率明顯高于傳統(tǒng)數(shù)據(jù)庫(kù)。

      3 全文檢索引擎Lucene

      Lucene是一套開(kāi)源的全文搜索框架。非結(jié)構(gòu)化數(shù)據(jù)入庫(kù)前需要先對(duì)文檔進(jìn)行分詞處理,之后Lucene通過(guò)全文掃描,將解析出來(lái)的信息寫(xiě)入索引庫(kù),主要包括:文件名稱(chēng)、全文本內(nèi)容、文檔時(shí)間、文檔大小、文檔頁(yè)數(shù)等。當(dāng)用戶查詢時(shí),Lucene根據(jù)建立的索引內(nèi)容進(jìn)行查找,并將索引庫(kù)的匹配內(nèi)容返回,類(lèi)似于字典查字的使用過(guò)程。

      4 體系架構(gòu)搭建

      以HBase存儲(chǔ)為基礎(chǔ),結(jié)合Lucene全文檢索引擎設(shè)計(jì)基于Hadoop的非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)。同時(shí)為保證與企業(yè)現(xiàn)有的管理系統(tǒng)集成,采用三層架構(gòu),通過(guò)訪問(wèn)接口和功能模塊均能訪問(wèn)底層數(shù)據(jù)。架構(gòu)圖如下圖1所示。

      存儲(chǔ)層使用Oracle存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),Hbase存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),Lucene存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)索引。HBase的行操作遵從事務(wù)處理模式,確保庫(kù)中數(shù)據(jù)的完整性。同時(shí)提供雙機(jī)熱備解決方案,當(dāng)服務(wù)器宕機(jī)時(shí),其服務(wù)和數(shù)據(jù)可以迅速、完整、無(wú)縫的使用備份服務(wù)器運(yùn)行。

      接口層定義了標(biāo)準(zhǔn)數(shù)據(jù)處理接口,方便各模塊調(diào)用,并能為不同系統(tǒng)提供文件數(shù)據(jù)處理、目錄管理、組合查詢、訪問(wèn)控制、站內(nèi)消息等可復(fù)用功能。

      按照統(tǒng)一開(kāi)發(fā)標(biāo)準(zhǔn),設(shè)計(jì)可擴(kuò)展、可復(fù)用的模塊資源中心,提供包括文件上傳、下載、預(yù)覽、刪除等14個(gè)功能模塊,并且各模塊間松耦合,方便不用系統(tǒng)服務(wù)間調(diào)用。

      5 結(jié)語(yǔ)

      隨著油田信息化工作的不斷深入,企業(yè)對(duì)不同專(zhuān)業(yè)的綜合應(yīng)用要求也在不斷提高。本文在對(duì)比分析傳統(tǒng)數(shù)據(jù)庫(kù)與Hadoop分布式存儲(chǔ)系統(tǒng)的優(yōu)劣后,提出基于HBase和Lucene的完整數(shù)據(jù)管理體系,實(shí)現(xiàn)文件儲(chǔ)存管理、全庫(kù)智能檢索等核心功能。endprint

      平谷区| 临高县| 突泉县| 会泽县| 海南省| 化州市| 宁国市| 湘潭县| 平泉县| 五莲县| 昌都县| 邯郸市| 平潭县| 乡城县| 静乐县| 深圳市| 惠水县| 新晃| 临沧市| 绥德县| 高雄市| 兰坪| 满城县| 收藏| 观塘区| 房产| 柏乡县| 大余县| 南昌市| 无棣县| 庆安县| 乌拉特前旗| 咸宁市| 杭州市| 颍上县| 兴化市| 渑池县| 鹿邑县| 龙江县| 城固县| 莱西市|