分散式數據處理

分散式數據處理

分散式數據處理,就是利用分散式計算技術對數據進行處理。隨著數據量的急劇膨脹,網際網路公司所面對的數據量已經達到了 PB級別,傳統集中式數據處理已經漸漸無法適應市場的需求,同時,個人計算機的性能得到了極大的提高,普及率也在飛速上升,這使得將處理能力分布到網路上的所有個人計算機上的構想成為可能,於是提出了分散式計算的概念。

分散式計算是和集中式計算相對的概念,一個分散式網路由若干台可互相通信的計算機組成,每台計算機都擁有自己的處理器和存儲設備,原先集中在單節點上的龐大計算任務被負載均衡地分派給分散式網路中的計算機上並行地進行處理。

基本介紹

  • 中文名:分散式數據處理
  • 外文名:distributed data processing
  • 學科:計算機
  • 優點:高效、快捷、準確
  • 分散式技術:DCOM、Jaca RMI、 CORBA
  • 主要功能模組:數據監控、存儲、查詢模組
分散式系統,分散式計算,定義,優點,主流技術,DDSMS,區別,需求分析,系統結構,主要功能模組,數據監控模組,存儲模組,查詢模組,

分散式系統

對於用戶來講,分散式系統與其他套用系統沒有區別,都是一個獨立的系統,但從底層物理設備和結構體系來看,分散式系統是一個龐大、複雜的體系,由若干個獨立的計算機組合而成。從硬體角度來看,分散式系統的機器是獨立的,各不同的計算機可以分布在世界的各個角落;從軟體角度來看,分散式系統與用戶的接口是單一的,用戶無法直接感受到作業系統的分散。分散式系統的內部結構、通信方式和功能實現對用戶是透明的,這是分布是系統的最大特點。此外,雖然分散式系統由若干個獨立的計算機組合而成,但是當解決某一個具體的問題時,各部分能夠實現高效、統一的任務指令,隨時隨地都能與用戶進行互動,既提高了系統性能,又提升了用戶體驗。
可訪問性、透明性、開放性和可擴展性是分散式系統的四個主要特性。

分散式計算

定義

分散式計算是指,將一個龐大的計算任務經過伺服器的處理劃分為若干個小任務,然後為計算機網路中的計算機分別分配一些小任務,通過並行處理提高處理效率,最后綜合併整理計算數據,得到最後的計算結果。
分散式計算是指信息不只分布在一個軟體或計算機上,而是分布於多個軟體上,可以用多台或一台計算機同時運行若干個軟體,通過網路實現信息的共享。與其他算法相比,分散式算法有明顯的優勢:第一、共享資源更加方便。第二、能夠實現計算負載的平衡,用多台計算機同時處理任務。第三、可以根據實際需要合理選擇適當的計算機運行該程式。計算機分散式計算的靈魂是平衡負載和共享資源。分散式計算具有高效、快捷、準確的優勢。

優點

與集中式計算相比,分散式計算的優點十分突出:
1. 分散式網路中的每台機器都能存儲和處理數據,降低了對機器性能的要求,所以不必購買昂貴的高性能機器,這大大降低了硬體投資成本;
2. 擴展性極佳。在當前系統存儲或計算能力不足時,可以簡單地通過增加廉價PC機的方式來增加系統的處理和存儲能力;
3. 處理能力極強。龐大的計算任務可以在合理分割後由分散式網路中的機器並行地處理。

主流技術

分散式計算主流技術主要有一下三種:DCOM( 分 布 式 組 件 對 象 模型)、Jaca RMI(遠程方法調用)和 CORBA(公共對象請求代理結構) 。它們都在邏輯匯流排上實現了組件對象邏輯分層和位置分布的透明性,以及相關服務,給系統開發人員提供了諸多方便 。
CORBA即通用對象請求代理體系結構(Common Object Request Broker Architechture)的縮寫,是由對象管理組OMG定義的一種分散式體系結構。CORBA是一個開發的、與開發商無關的規範,所面向的是一個分散式體系結構以及允許不同套用通過網路協同工作的基礎設施。對象請求代理(ORB)也稱為對象匯流排,它構成了此體系的結構引擎。通過利用ORB,可以對所有常用功能的對象實現網路支持,並幾乎都可免費獲得事務、安全和持續服務等。CORBA是一種語言中性的軟體構件模型,可以跨越不同的網路、不同的機器和不同的作業系統,實現分布對象之間的互操作。
DCOM是Microsoft與其他業界廠商合作提出的一種分布構件對象模型(Distributed Component Object Model),其發展經歷了一個相當曲折的過程。DCOM起源於動態數據交換(DDE)技術,通過剪下/貼上(Cut/Paste)實現兩個應用程式之間共享數據的動態交換。對象連線與嵌入OLE就是從DDE引伸而來的。DCOM它可以說是一種通信協定,提供組件通信的底層控制,能夠使位於不同計算機上的COM對象相互通信,關於這些計算機是在區域網路、廣域網,還是工nternet之中,則不用考慮,也就是說DCOM技術實際上就是微軟用來實現COM對象的位置透明性的。而且,DCOM是COM技術的無縫擴展,這樣對於現有的基於COM的套用、組件以及工具等都易於實現向分散式計算領域的遷移,這樣既保護了客戶的己有投資,也使套用系統能適應現代技術的需要。
JavaRMI,是Sun公司的基於Java軟體的分散式對象技術。基於Java的對象機制,它提供了一種簡單的、直接的分散式套用系統的實現模式。JavaRM工的平台無關性是通過JVM來實現的,也就是說只要分布於網路中的客戶機和伺服器都運行JVM,就可以使用JavaRMI機制在客戶程式和伺服器程式間相互調用方法,實現信息傳輸。RMI是採用RPC機制,使分布對象可以通信和協同工作。JavaRMI最大的優勢是其允許能夠象傳遞簡單類型數據一樣直接進行整個對象的傳遞,這也是其他的分散式技術所沒有的。Java對於軟體構件的觀點與CORBA中的構件觀點存在一定的區別。在CORBA中,CORBA/ORB相當於一根軟匯流排,構件可以即插即用。而在Java中,軟體構件是能夠進行可視化操作的可重用軟體,它滿足一定的特徵要求,並可以根據需要進行定製和組裝。

DDSMS

在功能和性能上相比傳統功能的資料庫系統,分散式數據處理系統(Distributed DataStream Management System, DDSMS)與傳統DBMS是相似的,在功能上DDSMS允許所有的數據或部分數據通過連續數據流的方式傳達。

區別

如果把數據集看作一個特殊的數據流,那么可以把DDSMS定義為一個傳統資料庫系統的擴展。下面對DDSMS和DBMS進行比較。傳統DBMS與DDSMS在功能和性能方面的幾種差異:
(1)基本的計算模型不相符。傳統的資料庫管理系統假定 DBMS 被動地存儲數據單元,而用戶主動發起查詢等操作,這是個用戶主動,DBMS被動的模型。而DDSMS從外部數據源獲取數據,當系統檢測到符合查詢條件的數據時將數據返回給用戶,這是個DDSMS主動,用戶被動的模型。
(2)DBMS的查詢是精確的查詢,目前還沒有DBMS提供內建的功能支持近似查詢。而DDSMS由於數據量巨大並且快速變化,在很多時候只能提供近似的查詢結果。
(3)DBMS提供的是一次查詢,一次查詢獲得查詢結果,而DDSMS是連續查詢,只要用戶註冊了一個查詢,並且沒有註銷這個查詢,那么這個查詢將一直有效,DDSMS向用戶不斷地返回查詢結果。
(4)DBMS通常不考慮與事務相關聯的時間和空間的限制,其調度與處理決策不考慮數據的各種時間特性,其系統的設計指標並不強調實時性和查詢服務質量的自適應性,而實時性和自適應性正好是數據流套用所必需的。

需求分析

DDSMS所處理的是一種隨時間變化的數據信息序列,也就是數據流,它的特點是:連續的、潛在的、無限的、快速的,而且傳統的DDSMS在實際處理過程中,這種數據序列具有到達順序不可控、數據的速率不穩定、數據量巨大等特點。這些特點使得設計一個DDSMS需要具有以下的功能:
(1)由於物理存儲空間的限制和處理效率的要求,對數據流進行線上處理時,一般只掃描數據一遍;
(2)在一定的時間內,能夠對數據進行排序,使無序變為有序;
(3)對用戶而言,傳統的DDSMS的程式設計使用戶對數據的查詢具有很好的實時性;
(4)傳統的DDSMS在處理數據中,當遇到數據流的數據量巨大已超過系統的承載能力時,隨機或者有選擇地清除一些數據以緩解系統數據的膨脹;
(5)傳統的DDSMS對異常數據的處理也提出了一些要求,首先要迅速,同時要合乎實時的要求;
(6)及時的數據用戶的接口能夠為用戶提供方便的數據信息查詢。

系統結構

圖1對DDSMS提供了一個可供參考的抽象系統結構。通過取樣的方法控制數據輸入的流量可以輸入監聽器。查詢庫可以處理共享,它存儲系統的連續查詢,連續查詢已經在系統中註冊。視窗查詢的臨時工作區,關於每個數據源的物理位置等靜態存儲這三個部分構成數據存儲。在當前數據流狀態上,既可以一次查詢也可以連續查詢。輸入的監控器和查詢的處理器互相聯繫,其結果存儲在臨時快取中或通過流輸給用戶,而且通過變化數據輸入速率可以對查詢計畫進行最佳化。這個系統可以分為下面兩個部分:
圖1 DDSMS 的結構圖1 DDSMS 的結構
(1)伺服器方面:伺服器訪問接口可以處理客戶和伺服器相互的所有命令和數據,伺服器訪問的接口被稱作是外界和伺服器的紐帶。伺服器等待連線用戶,控制器監聽特定的連線埠訪問接口,通過用戶給的命令、處理結果或者數據流,最終返回查詢的結果。
(2)終端接口:終端的接口是為用戶操作提供的接口,禁止了其中的作用過程,控制命令和查詢接口構成了終端的接口,DLL在終端中是終端接口模組。

主要功能模組

數據監控模組

數據監控器的功能主要有兩點:
(1)根據數據的特徵,構建概要數據。數據流是一個實時的、連續的、潛在無界的、有序的數據項的序列。由於數據流速率的變化是無法預測的,某一時刻到達的數據量可能會超過系統的計算能力(根據CPU周期和主存的大小),所以需要一個輸入監視器在需要的時候銷毀一些元組。一般採用抽樣、直方圖或者小波的方法構建概要數據。
(2)數據處理節點的負載均衡。降載的問題在傳統資料庫系統中是可以忽視的:第一,傳統的資料庫DBMS對數據進行的是靜態存儲方式;第二,對一般資料庫的查詢沒有QOS方面的需求;第三,傳統的資料庫DBMS對數據的查詢是一次性的。然而,當系統的處理能力無法負荷突發流量時,如果不進行及時處理,那么整個系統的吞吐量和回響時間就會逐步惡化,便會導致系統發生擁塞,要解決流數據流速的不穩定的問題,DDSMS在數據查詢問題上即將要接受巨大的考驗。

存儲模組

對於DDSMS性能方面,DDSMS是具有現實意義的。在對查詢進行處理時,待處理的數據是儲存在記憶體的工作區中。在其操作過程中,系統為了存儲流入的數據,必須產生查詢視窗,即為查詢分配相應的工作區。元數據與一般的關係在磁碟中保留。就像數據字典功能,元數據包含元數據。由於需要近似處理,用來存數據流的大概信息,還需要為其中的數據流設定存儲區域。

查詢模組

在處理查詢接口提交的數據時,查詢模組起到關鍵性的作用。不僅有數據流上的連續查詢,同時也涵蓋了傳統關係上的查詢、插入、刪除和修改等。
用戶為獲取一個查詢可以通過向系統提交一個註冊申請,以方便與DDSMS進行相互交流。之後用戶會接受到一個系統發來的句柄,以便於用戶使用這個句柄在今後的任意時間來查詢結果,當然沒有用處時用戶也可隨時註銷以往相關查詢,以保證信息的安全性。

相關詞條

熱門詞條

聯絡我們