小雪你好紧好烫好爽_k频道导航入口国产精品_91成人爽a毛片一区二区_羞羞漫画入口在线观看

    歡迎進(jìn)入上海陽合供應(yīng)鏈管理有限公司!
  •  13472705338 

  • “視聽+云倉儲(chǔ)+精準(zhǔn)扶貧”電商模式的脫貧經(jīng)驗(yàn)探討
  • 倉儲(chǔ)型物流企業(yè)的經(jīng)營模式創(chuàng)新
  • 現(xiàn)代倉儲(chǔ)管理中條形碼技術(shù)的運(yùn)用
  • 基于IOS平臺(tái)的小型倉儲(chǔ)管理系統(tǒng)設(shè)計(jì)
  • 用6S管理注入倉儲(chǔ)管理系統(tǒng)內(nèi)涵推升倉儲(chǔ)運(yùn)營水準(zhǔn)
  • 基于第三方物流的倉儲(chǔ)成本控制研究
  • 物流公司倉儲(chǔ)管理案例分析
  • 第三方物流企業(yè)倉儲(chǔ)貨位系統(tǒng)優(yōu)化分析
  • 鄭州航空物流倉儲(chǔ)合理化研究
  • 新形勢下深化完善國有糧食倉儲(chǔ)企業(yè)內(nèi)控機(jī)制的實(shí)踐與思考
  • 企業(yè)智能倉儲(chǔ)作業(yè)流程分析——以徐州新沂百世云倉公司為例
  • 醫(yī)藥物流邁向云倉多倉聯(lián)動(dòng)
  • RFID技術(shù)在銅仁地區(qū)煙草倉儲(chǔ)物流管理系統(tǒng)中的應(yīng)用
  • 淺談糧情測控遠(yuǎn)程監(jiān)管系統(tǒng)在倉儲(chǔ)管理中的應(yīng)用
  • 淺談石油物資倉儲(chǔ)管理部門入庫驗(yàn)收管理
  • 多層倉儲(chǔ)式數(shù)據(jù)中心建筑設(shè)計(jì)研究
  • 煙葉倉儲(chǔ)害蟲綜合治理研究進(jìn)展
  • 無線智能倉儲(chǔ)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  • 靜電粉末與殺蟲劑混用對倉儲(chǔ)甲蟲的殺蟲效果及谷物品質(zhì)的影響
  • 關(guān)于云計(jì)算技術(shù)物聯(lián)網(wǎng)倉儲(chǔ)管理系統(tǒng)設(shè)計(jì)
  • 當(dāng)前位置:首頁 >>   新聞資訊新聞資訊

    云數(shù)據(jù)倉庫高性能查詢技術(shù)研究

      信息來源:   發(fā)布時(shí)間:2021-07-28  點(diǎn)擊數(shù):

    0 前言

    在過去的3年中, 隨著用戶規(guī)模的快速增加和移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)的高速發(fā)展, 每天用戶和服務(wù)產(chǎn)生的數(shù)據(jù)規(guī)模已達(dá)PB級, 電信運(yùn)營商面臨著數(shù)據(jù)爆炸式增長的巨大壓力, 可存儲(chǔ)并對海量數(shù)據(jù)進(jìn)行分析的Hadoop開源系統(tǒng)[1]已成為主流電信運(yùn)營商、互聯(lián)網(wǎng)公司的研究和應(yīng)用熱點(diǎn)。然而, Hadoop開源系統(tǒng)并不能完全滿足電信運(yùn)營商的全部需求 (如交互式查詢、基于索引的分析優(yōu)化、多租戶支持等) 。為解決這些問題, 設(shè)計(jì)并研發(fā)了Huge Table數(shù)據(jù)倉庫。與Hadoop開源系統(tǒng)相比, Huge Table能支持密集索引、稀疏索引和塊索引, 從而加快了查詢和分析的速度。查詢過程中, Huge Table首先會(huì)使用索引。如果沒有索引, 系統(tǒng)則會(huì)為用戶提供針對小數(shù)據(jù)量的順序掃描方式和大數(shù)據(jù)量的Map Reduce方式進(jìn)行查詢。在實(shí)際的應(yīng)用測試評估中, Huge Table的索引和存儲(chǔ)引擎極大地提高了查詢性能, 滿足了現(xiàn)網(wǎng)服務(wù)系統(tǒng)的性能需求。

    1 Huge Ta ble簡介

    自2009年發(fā)放3G牌照后, 我國現(xiàn)已擁有了上億的移動(dòng)互聯(lián)網(wǎng)用戶, 他們每天通過手機(jī)對互聯(lián)網(wǎng)的訪問產(chǎn)生了高達(dá)數(shù)十TB的訪問記錄。這顯然是傳統(tǒng)關(guān)系數(shù)據(jù)庫所無法支持的。除存儲(chǔ)容量外, 海量數(shù)據(jù)帶來的更大挑戰(zhàn)是如何加載、查詢和分析數(shù)據(jù)。由于商業(yè)數(shù)據(jù)庫要對數(shù)據(jù)進(jìn)行排序和建立索引, 所以這是很難加載海量數(shù)據(jù)的。為解決海量數(shù)據(jù)的加載問題, 在數(shù)據(jù)庫中引入了分庫和分區(qū)的技術(shù)措施, 而分庫和分區(qū)則導(dǎo)致了海量數(shù)據(jù)查詢和分析性能的大幅下降。舉例來說, 盡管對建有索引的列進(jìn)行查詢, 其響應(yīng)時(shí)間也往往都在10 s級。另外, 雖然建立在視圖基礎(chǔ)上的商業(yè)數(shù)據(jù)倉庫針對常用查詢也可獲得很好的查詢性能, 但這些定制化的數(shù)據(jù)倉庫卻很難進(jìn)行水平擴(kuò)展。當(dāng)需要增加節(jié)點(diǎn)時(shí)就必須停服, 且節(jié)點(diǎn)的增加并不能使性能得到線性的增長。總之, 電信運(yùn)營商希望能夠提供一種海量存儲(chǔ)、高可用、高擴(kuò)展、支持結(jié)構(gòu)化查詢語言 (SQL) 和快速響應(yīng)的數(shù)據(jù)倉庫。

    據(jù)此云計(jì)算應(yīng)運(yùn)而生:Google發(fā)布了一系列云計(jì)算技術(shù), 如Google文件系統(tǒng) (GFS) [2]和Map Reduce[3];Apache基于GFS和Map Reduce開發(fā)了開源軟件Hadoop分布式文件系統(tǒng) (HDFS) [4]。鑒于HDFS具有優(yōu)越的高可用性和高擴(kuò)展性, 因此被廣泛地應(yīng)用到網(wǎng)絡(luò)企業(yè)中, 比如Facebook用其部署了超過2 000個(gè)節(jié)點(diǎn)的HDFS集群、研發(fā)了Hive[5], 以支持將SQL語句轉(zhuǎn)換為Map Reduce程序。因此, 傳統(tǒng)的基于數(shù)據(jù)庫的企業(yè)應(yīng)用可運(yùn)行在HDFS上, 并能獲得云計(jì)算的相關(guān)特性。

    但對電信運(yùn)營商來說, HDFS和Hive并不能滿足其全部需求 (特別是在多表嵌套查詢處理方面) 。對于一個(gè)常見的查詢, 如“select a.a1, b.b1, c.c1 from a, b, c where a.employid=b.employid and a.msisdn=c.msisdn”, 系統(tǒng)會(huì)啟動(dòng)多輪Map Reduce迭代計(jì)算, 每輪Map Reduce需通過掃描所有的數(shù)據(jù)記錄來獲得結(jié)果。測試過程中, GB級別的表查詢時(shí)間都需數(shù)個(gè)小時(shí), 而傳統(tǒng)數(shù)據(jù)倉庫同樣查詢的響應(yīng)時(shí)間只為分鐘級別, 所以開源系統(tǒng)基于索引的分析性能已成了電信運(yùn)營商進(jìn)行部署的最大障礙。

    通過分析HDFS、Hive和Hbase, 我們提出的一種面向電信運(yùn)營商的Huge Table能滿足電信運(yùn)營商的所有需求, 比如功能、性能、擴(kuò)展性和可管理性等;提出的基于存儲(chǔ)引擎的索引模塊和針對海量數(shù)據(jù)的查詢策略, 可創(chuàng)建密集索引、稀疏索引和塊索引。利用密集索引可準(zhǔn)實(shí)時(shí)地查詢每一條數(shù)據(jù)記錄, 利用稀疏索引可存儲(chǔ)數(shù)據(jù)記錄的塊信息, 利用塊索引可記錄每個(gè)塊里面所包含的索引記錄的區(qū)間信息。對于Huge Table來說, 密集索引、稀疏索引和塊索引對大部分查詢都能起到加速作用。在查詢過程中, Huge Table首先利用相關(guān)列的索引信息進(jìn)行查詢。對于沒有索引的列, 用戶可利用Huge Table本身提供的查詢機(jī)制優(yōu)化查詢性能。這些查詢機(jī)制主要包括針對小數(shù)據(jù)量的順序掃描方式及針對大數(shù)據(jù)量的并行Map Reduce查詢機(jī)制。

    Huge Table的優(yōu)化主要包括以下幾個(gè)方面。

    a) 密集索引。

    索引項(xiàng)和記錄項(xiàng)是一一對應(yīng)的。數(shù)據(jù)是按照索引順序進(jìn)行排列的, 可充分提高查詢性能。

    b) 稀疏索引。

    只記錄索引的塊信息, 可在提供查詢性能的同時(shí)提高加載性能。可快速定位保存記錄的數(shù)據(jù)塊, 并在塊內(nèi)查詢數(shù)據(jù)信息。

    c) 塊索引。

    只記錄數(shù)據(jù)塊內(nèi)的數(shù)據(jù)區(qū)間信息, 在提供查詢性能的同時(shí)提高加載性能。通過查詢數(shù)據(jù)區(qū)間確定是否包含數(shù)據(jù)記錄, 并通過散列函數(shù)確定該數(shù)據(jù)區(qū)間是否包含該記錄。

    d) 查詢優(yōu)化機(jī)制。

    分別提供索引查詢接口。針對小數(shù)據(jù)量和大數(shù)據(jù)量分別提供順序掃描接口和Map Reduce查詢接口。

    2 相關(guān)工作

    Google文件系統(tǒng)是一種分布式、大規(guī)模可擴(kuò)展、面向密集數(shù)據(jù)存取應(yīng)用的文件系統(tǒng)。該系統(tǒng)具有很強(qiáng)的容錯(cuò)能力, 并能在高并發(fā)場景下提供很高的聚合訪問性能。GFS在Google有很廣泛的應(yīng)用, 并涵蓋了眾多產(chǎn)品線及研究項(xiàng)目。當(dāng)前, Google內(nèi)部規(guī)模最大的GFS集群甚至包括有上千個(gè)物理節(jié)點(diǎn), 可提供上百TB存儲(chǔ)能力, 可供數(shù)百個(gè)客戶端并發(fā)訪問。

    MR是一種用于處理海量數(shù)據(jù)的并行編程模型框架, Map函數(shù)用于對輸入的鍵值對進(jìn)行處理并生成中間結(jié)果鍵值對, Reduce匯總具有相同鍵的所有值并輸出匯總計(jì)算結(jié)果。該模型編寫程序能自動(dòng)并行地運(yùn)行在大規(guī)模部署的通用商業(yè)計(jì)算節(jié)點(diǎn)上。MR運(yùn)行環(huán)境會(huì)自動(dòng)完成很多并行化工作 (如分區(qū)輸入數(shù)據(jù)、調(diào)度運(yùn)算任務(wù)、處理運(yùn)行錯(cuò)誤等) , 這大大降低了并行程序的開發(fā)門檻, 能讓更多的沒有相關(guān)經(jīng)驗(yàn)的用戶方便地利用大規(guī)模分布式系統(tǒng)的資源。

    Big Table是一種用于結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)、具有強(qiáng)大可擴(kuò)展能力的分布式系統(tǒng), 通常規(guī)模可達(dá)上千個(gè)節(jié)點(diǎn)、存儲(chǔ)容量可達(dá)PB級。目前, Google網(wǎng)頁索引、Google地球、Google金融等產(chǎn)品都在使用Big Table。

    GFS、MR和BigTable在Google的成功, 催生了一系列開源軟件, 例如:Hadoop實(shí)現(xiàn)了GFS/MR功能, HBase實(shí)現(xiàn)了BigTable功能, 而Hive則能將SQL語句翻譯成Map Reduce程序, 可使更多的傳統(tǒng)數(shù)據(jù)庫用戶方便地利用云計(jì)算平臺(tái)完成他們所熟悉的SQL任務(wù)。

    此外, Flume[6]和Zookeeper[7]也是非常重要的開源軟件。它們可分別用于數(shù)據(jù)/日志加載和數(shù)據(jù)節(jié)點(diǎn)狀態(tài)管理/分布式鎖。

    3 Huge Ta ble架構(gòu)

    HugeTable是一種結(jié)構(gòu)化的海量數(shù)據(jù)存儲(chǔ)系統(tǒng)。它支持傳統(tǒng)的SQL查詢, 主要面向于電信方面的應(yīng)用。基于中國移動(dòng)前臺(tái)業(yè)務(wù)及后臺(tái)系統(tǒng)對性能、功能、可擴(kuò)展性、可管理性等方面的需求, 我們在開發(fā)過程中整合并改進(jìn)了HDFS、HBase、Hive、ZK等開源軟件。

    基于HugeTable的各種存儲(chǔ)引擎, 我們設(shè)計(jì)了密集索引、稀疏索引和塊索引。在查詢過程中, Huge Table首先要檢查是否存在索引。有索引時(shí)HugeTable利用索引對數(shù)據(jù)進(jìn)行快速的定位和掃描, 無索引時(shí)Huge Table會(huì)根據(jù)數(shù)據(jù)量的大小分別啟動(dòng)順序掃描或Map Reduce掃描來獲得查詢結(jié)果。HugeTable系統(tǒng)架構(gòu)見圖1。由圖1可知, HugeTable是基于開源軟件Hadoop和Hive研發(fā)的, 開發(fā)了索引機(jī)制和查詢模塊。

    圖1 HugeTable系統(tǒng)架構(gòu)

    圖1 HugeTable系統(tǒng)架構(gòu)   下載原圖


    4 HugeTable索引設(shè)計(jì)

    下面主要介紹HugeTable索引的設(shè)計(jì)方案。

    4.1 密集索引

    在密集索引中, 每條記錄都對應(yīng)著一條索引項(xiàng), 如B+樹就是一種典型的密集索引結(jié)構(gòu)。HugeTable的主要存儲(chǔ)引擎都支持主索引和多個(gè)二級索引, 數(shù)據(jù)記錄是按照主索引排序的。HugeTable在建表時(shí)即需創(chuàng)建主索引, 而二級索引則可在數(shù)據(jù)加載后通過一個(gè)MapReduce作業(yè)來創(chuàng)建。

    密集索引的優(yōu)勢主要體現(xiàn)在索引列的高性能查詢能力上。例如:采用XXX列索引查詢語句“select*from table1 where id=XXX”時(shí), 只需查詢XXX列索引, 得到記錄位置后即可讀取數(shù)據(jù), 查詢響應(yīng)時(shí)間約為10 ms。當(dāng)不采用XXX列索引而采用Map Reduce進(jìn)行數(shù)據(jù)掃描時(shí), 作業(yè)初始化時(shí)間則至少為秒級。因此, 密集索引可提高索引列的查詢響應(yīng)性能, 并降低數(shù)據(jù)IO開銷。

    4.2 稀疏索引

    稀疏索引記錄每個(gè)數(shù)據(jù)塊所包含的最大和最小鍵值。查詢時(shí), 將待查詢鍵值與每個(gè)索引項(xiàng)的最大和最小鍵值進(jìn)行比較而得到候選索引項(xiàng)。每個(gè)索引項(xiàng)包含有多個(gè)屬性值 (如最小、最大鍵值和文件塊號) 。數(shù)據(jù)庫中的數(shù)據(jù)以文件塊的方式進(jìn)行存儲(chǔ), 文件塊的大小在不同系統(tǒng)中有所不同, 每個(gè)文件塊都有對應(yīng)的編號, 即文件塊號。最大鍵值和最小鍵值分別是指該文件塊內(nèi)所有鍵值中的最大值和最小值。

    4.3 塊索引

    以電信領(lǐng)域的數(shù)據(jù)倉庫系統(tǒng)為例, 由于系統(tǒng)在一段時(shí)間內(nèi)會(huì)產(chǎn)生與同一個(gè)移動(dòng)用戶號碼 (MSISDN) 相關(guān)的多條日志記錄, 與同一個(gè)MSISDN相關(guān)的多條記錄都有可能存儲(chǔ)在同一個(gè)數(shù)據(jù)塊中, 亦即同一個(gè)數(shù)據(jù)塊中可能包含有多條具有相同MSIDSN的記錄。

    基于上述特征, 我們提出了塊索引方案。塊索引格式為“<key, file ID, block ID>”, 表示在block ID塊中包含了某個(gè)key, 在該塊中可能會(huì)包含多個(gè)相同的key。以一個(gè)具有6.4萬條記錄的數(shù)據(jù)塊中只包含100個(gè)不同的MSISDN記錄項(xiàng)的場景為例 (此時(shí)可將MSISDN定義為“key”) , 采用密集索引時(shí)對同一個(gè)塊會(huì)產(chǎn)生6.4萬條記錄, 而采用塊索引時(shí)只需100條索引記錄。因此與密集索引相比, 塊索引可極大地減少索引數(shù)據(jù)量。

    塊索引的優(yōu)勢主要體現(xiàn)在以下3個(gè)方面。

    a) 索引數(shù)據(jù)的高速性能。

    與密集索引相比, 由于塊索引的數(shù)據(jù)量較小, 因此讀取索引數(shù)據(jù)的開銷也較小。

    b) 數(shù)據(jù)查詢性能高。

    在塊索引列上查詢, 可首先通過塊索引過濾掉不滿足條件的數(shù)據(jù)塊, 只讀取相關(guān)數(shù)據(jù)塊, 從而提高了查詢性能。

    c) 塊索引具備很高的加載性能。

    通常在加載數(shù)據(jù)的同時(shí)就可以創(chuàng)建索引。

    與加載數(shù)據(jù)本身相比, 創(chuàng)建塊索引的成本較低。

    5 利用索引優(yōu)化的查詢策略

    以Hive和Hadoop為原型的系統(tǒng), 是將每個(gè)SQL查詢都轉(zhuǎn)化為MapReduce查詢來獲得數(shù)據(jù)的。這種方式無法滿足電信數(shù)據(jù)倉庫的實(shí)時(shí)響應(yīng)性能需求, 比如:在數(shù)據(jù)倉庫中對字典表進(jìn)行的查詢, 啟動(dòng)MapReduce本身的時(shí)間要遠(yuǎn)大于數(shù)據(jù)本身的掃描時(shí)間。此外, 索引一般都比數(shù)據(jù)小很多, 所以掃描索引比數(shù)據(jù)快得多。

    針對上述特性, HugeTable提出了如圖2所示的查詢框架。當(dāng)應(yīng)用提交一個(gè)查詢SQL時(shí), HugeTable首先會(huì)分析查詢列的情況:該列有索引時(shí)掃描索引就可獲得查詢結(jié)果, 該列無索引時(shí)用戶可根據(jù)應(yīng)用和數(shù)據(jù)量本身的特點(diǎn)選擇不同的查詢方式。比如, 用戶數(shù)據(jù)量較小時(shí)可選擇順序掃描查詢方式。由于該方式不需啟動(dòng)MapReduce, 節(jié)省了啟動(dòng)時(shí)間, 所以能提供實(shí)時(shí)的查詢響應(yīng)能力。另外, 當(dāng)應(yīng)用需要實(shí)時(shí)數(shù)據(jù)查詢響應(yīng)能力時(shí), 也可優(yōu)先選擇該查詢方式;相反, 當(dāng)用戶數(shù)據(jù)量巨大或應(yīng)用只需準(zhǔn)實(shí)時(shí)查詢響應(yīng)能力時(shí), 用戶需選擇MapReduce查詢機(jī)制。

    圖2 HugeTable查詢框架

    圖2 HugeTable查詢框架   下載原圖


    6 性能評估

    HugeTable系統(tǒng)已在中國移動(dòng)現(xiàn)網(wǎng)系統(tǒng)中進(jìn)行了大量的應(yīng)用測試評估 (包括四川音樂基地及諾西網(wǎng)關(guān)日志存儲(chǔ)系統(tǒng)) 。作為數(shù)據(jù)倉庫系統(tǒng), HugeTable同時(shí)也被用于保存GPRS CDR數(shù)據(jù)。試驗(yàn)系統(tǒng)的測試集群包括1個(gè)HugeTable主控節(jié)點(diǎn)和4個(gè)HugeTable數(shù)據(jù)節(jié)點(diǎn)。在四川音樂基地測試中, HugeTable能在規(guī)定的時(shí)間內(nèi)進(jìn)行音樂訂購關(guān)系的查詢和分析處理;在諾西網(wǎng)關(guān)日志存儲(chǔ)系統(tǒng)測試中, HugeTable在加載過程中能快速地建立有效的索引系統(tǒng), 為高速查詢分析提供了基礎(chǔ)。在后續(xù)的查詢過程中, 稀疏索引也有效地提高了查詢分析性能。

    7 結(jié)束語

    在過去的3年里, 由于用戶和移動(dòng)數(shù)據(jù)業(yè)務(wù)的快速增長, 電信服務(wù)提供商面臨著數(shù)據(jù)爆炸式增長挑戰(zhàn)。傳統(tǒng)關(guān)系型數(shù)據(jù)庫管理系統(tǒng) (RDBMS) 已出現(xiàn)了伸縮性不足及性價(jià)比高的瓶頸, 與此同時(shí)云計(jì)算數(shù)據(jù)倉庫已提供了RDBMS的限制能力。基于此, 我們研發(fā)了面向電信業(yè)務(wù)的HugeTable數(shù)據(jù)倉庫系統(tǒng)。

    在HugeTable系統(tǒng)中, 我們設(shè)計(jì)了稀疏索引用于加速查詢性能, 設(shè)計(jì)了密集索引用于滿足高性能交互式索引查詢。在索引查詢基礎(chǔ)上, 我們還實(shí)現(xiàn)了針對小數(shù)據(jù)量的順序掃描實(shí)時(shí)查詢和海量數(shù)據(jù)的MapReduce查詢。在對中國移動(dòng)現(xiàn)網(wǎng)系統(tǒng)的應(yīng)用評估中, HugeTable的功能和性能均已達(dá)到了應(yīng)用水平。

    權(quán)所有©:上海陽合儲(chǔ)運(yùn)
    專業(yè)承接上海倉庫租賃、上海倉儲(chǔ)配送物流、上海電商倉儲(chǔ)企業(yè)服務(wù)與微笑同在"的先進(jìn)理念不斷發(fā)展壯大。 

    友情鏈接: 消防車  分析儀器  北京拓展訓(xùn)練    雞排加盟   恒溫振蕩器  別墅泳池設(shè)備  外貿(mào)論壇    檔案管理系統(tǒng)    酒精測試儀    旋轉(zhuǎn)火鍋設(shè)備  假山制作   煙臺(tái)裝修  地坪漆    實(shí)心輪胎   垃圾車 位移傳感器     貨運(yùn)管理軟件   鋼制暖氣片  濟(jì)南雕刻機(jī)  羅斯蒙特3051  影像測量儀
       食品級軟管     鶴管    三相電表   AGV叉車  切削液  有限元分析
    機(jī)房監(jiān)控   數(shù)控銑床  原子熒光光譜儀   移動(dòng)廁所
    滬公網(wǎng)安備 31011402008344號 滬ICP備14036201號-32