• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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

    资溪县| 历史| 龙海市| 临洮县| 正安县| 江门市| 通化县| 莲花县| 锡林浩特市| 昂仁县| 天津市| 昔阳县| 霍州市| 吉林市| 呼玛县| 宝清县| 庄河市| 高阳县| 盐山县| 涿州市| 定结县| 清远市| 永新县| 云和县| 灵寿县| 潞西市| 河南省| 临汾市| 云梦县| 额济纳旗| 育儿| 连平县| 务川| 临沭县| 滦平县| 濮阳市| 斗六市| 荥经县| 墨江| 商河县| 卢龙县|