• 
    

    
    

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

      基于分布式的海量數(shù)據(jù)存儲解決方案

      2014-12-16 12:43:24胡昕
      企業(yè)導報 2014年22期

      胡昕

      摘? 要:在海量數(shù)據(jù)存儲模型設計和數(shù)據(jù)并行查詢存儲技術的基礎上,基于MPP架構的存儲架構系統(tǒng),實現(xiàn)了具有良好的擴展性和大規(guī)模并行處理的優(yōu)勢的海量數(shù)據(jù)存儲解決方案。

      關鍵詞:海量數(shù)據(jù)存儲;分布式數(shù)據(jù)庫;MPP架構;并行處理

      目前海量數(shù)據(jù)處理還是一個比較新的研究方向,大多數(shù)都是各公司或者是組織各自研究自己的處理方法,國際上沒有通用的標準,研究的方式和結果也都是各有千秋。針對項目中帶有復雜業(yè)務邏輯的海量數(shù)據(jù)存儲,主要從容量擴展和并行處理兩個方面考慮。前文己論述過NoSQL分布式數(shù)據(jù)庫由于其數(shù)據(jù)結構簡單、不善于做JOIN連接等復雜操作,存在數(shù)據(jù)遷移問題,并不適用于本項目,所以本解決方案依舊從關系型數(shù)據(jù)庫入手。其次為了支持多樣的切分策略,本論文將實現(xiàn)range、list、consis

      tent-hash模式。最后系統(tǒng)借鑒MPP并行處理架構,使得整個項目能部署在便宜的PC集群上,不僅能保證穩(wěn)定性,還節(jié)省項目成本。

      物理設施包含數(shù)據(jù)庫服務器的基礎架構、web服務器的選擇,以及資源分配管理服務器的選擇。這三者分別負責數(shù)據(jù)的存取、數(shù)據(jù)的分析處理以及資源工作的均衡分配,它們協(xié)同合作,共同搭建一個高效的協(xié)同的后端服務管理,使存儲系統(tǒng)均衡工作、高效運行。

      作為解決海量數(shù)據(jù)的存儲方案,首要必須考慮是存放海量數(shù)據(jù)的需求。根據(jù)前文可知,分布式數(shù)據(jù)庫的出現(xiàn)其根本原因是解決存放不下數(shù)據(jù)的問題,故而將數(shù)據(jù)依照策略存放在不同的數(shù)據(jù)庫服務器上,存放數(shù)據(jù)的策略以及數(shù)據(jù)之間的并行查詢處理是研究的重點。第二個問題是分布式處理方案,現(xiàn)有技術從各個方面進行過嘗試,有的基于關系型數(shù)據(jù)庫提出了多種shard

      ing方案。將關系型數(shù)據(jù)庫遷移到非關系型數(shù)據(jù)庫上代價太大,所以本解決方案基于關系型數(shù)據(jù)庫的系統(tǒng)。

      根據(jù)以上的設計思路與實現(xiàn)目標,設計出分布式海量數(shù)據(jù)存儲解決方案。該系統(tǒng)主要包含以下四個模塊:

      SQL解析模塊。SQL語句復雜、格式多樣、形式多變,解析結果作為數(shù)據(jù)切分的依據(jù)。解析SQL語句的方法是編譯成字節(jié)碼,生成語法樹,這種方式的優(yōu)點是準確率高、數(shù)據(jù)層次清晰、結構正確,但設計到相關語法樹知識,比解析字符串更難以理解。

      數(shù)據(jù)分發(fā)模塊。如果集群系統(tǒng)中沒有進行數(shù)據(jù)切分,則多臺數(shù)據(jù)庫服務器存儲的是完全一樣的數(shù)據(jù),這實際上是對硬件資源的浪費,也在同步數(shù)據(jù)保持一致上浪費了更多的時間和效能。而且一旦數(shù)據(jù)再上升一個等級,很可能一臺服務器就無法存儲下大量數(shù)據(jù)。所以合適的數(shù)據(jù)切分策略是遲早的,本解決方案將結合現(xiàn)有的數(shù)據(jù)切分策略,結合業(yè)務邏輯,提供多樣的切分策略,并且預留切分接口使用戶靈活地自定義自實現(xiàn),系統(tǒng)的可用性更高。

      并行處理模塊。由分發(fā)服務器和多臺數(shù)據(jù)庫服務器構成。相對于集中式數(shù)據(jù)庫來說,分布式査詢代價需要考慮以下因素:

      CPU處理時間,I/O消耗時間,還有數(shù)據(jù)在網(wǎng)絡上的傳輸時間。在設計系統(tǒng)的時候,應該根據(jù)分布式數(shù)據(jù)庫中各個數(shù)據(jù)庫的地理位置的不同情況來設計。在局域網(wǎng)且傳輸率高的系統(tǒng)中,通信代價和局部處理的開銷差別不大,在優(yōu)化中則應平等對待;在數(shù)據(jù)傳輸率較低和通信網(wǎng)速度較慢的系統(tǒng)中,網(wǎng)絡傳輸可能會比花費在查詢中的CPU及I/O的開銷更大,則應首要考慮優(yōu)化網(wǎng)絡通信。

      匯總處理糢塊。結果匯總大致分為兩種情況:單機單庫情況下,直接返回結果;多機多庫的情況則需要在轉發(fā)節(jié)點處進行一個匯總。

      基于架構的工作流程大致如下:首先,轉發(fā)節(jié)點收到客戶端發(fā)來的SQL語句,將依據(jù)各個解析節(jié)點當前工作量、預計完成解析工作的時間、本條查詢語句預估需要時間、歷史響應需求時間等因素,將SQL語句轉發(fā)給各個解析節(jié)點,對其進行語法解析。當所有的工作量都經(jīng)過這個轉發(fā)節(jié)點的時候,必然會產(chǎn)生高并發(fā)的問題。在存在多個分發(fā)節(jié)點的情形下,為了消除單個轉發(fā)節(jié)點的性能瓶頸,本文設計多個分發(fā)節(jié)點,每個節(jié)點都可以將任務轉發(fā)到不同的解析節(jié)點。采用RoundRobin策略將任務依次分發(fā)給每個解析節(jié)點,讓工作量保持均衡。其次,解析節(jié)點解析本次查詢的SQL語句,生成便于理解的SQL對象,通過調(diào)用相應的接口方法可以實現(xiàn)對SQL語句的操作。最后,各個數(shù)據(jù)庫服務器執(zhí)行了 SQL語句,便對查詢結果進行一個匯總并返回,劃分倘若是單機查詢,那么處理的結果可直接返回給客戶端。

      SQL解析、數(shù)據(jù)切分以及轉發(fā)歸并的工作都由以上四個模塊協(xié)同完成。

      基于MPP架構的設計了關系型數(shù)據(jù)庫的海量數(shù)據(jù)分布式存儲解決方案。本章采用解析SQL語句、分發(fā)SQL語句,并行處理、歸并匯總處理結果的方式完成整個框架。與MySQL

      Cluster的區(qū)別在于采用的存儲引擎就是MySQL,適應于本身就釆用MySQL進行存儲的集中式數(shù)據(jù)庫的改造,或是業(yè)務邏輯復雜的報表展示等,無論是業(yè)務的擴展,遷移都十分方便。

      參考文獻:

      [1]姜宇鳴.海量數(shù)據(jù)存儲系統(tǒng)研究.《電腦知識與技術》2011年08期

      [2] 李文虎.分布式數(shù)據(jù)庫系統(tǒng)的設計淺析.科技資訊,2009年第34期endprint

      车险| 无为县| 皮山县| 伊金霍洛旗| 朔州市| 西乡县| 巴楚县| 上林县| 上杭县| 土默特左旗| 秦安县| 辉南县| 潞西市| 密山市| 贵港市| 宁晋县| 宜城市| 合川市| 大埔区| 寿阳县| 马鞍山市| 旬邑县| 芮城县| 仙游县| 南岸区| 温宿县| 岳阳县| 新建县| 股票| 西盟| 清苑县| 南平市| 封丘县| 右玉县| 莒南县| 教育| 五莲县| 民乐县| 五峰| 平凉市| 长沙市|