我們需要的是以數據為中心的SOA還是以SOA為中心的數據?答案取決于如何處理的SOA-數據關系的三個不同模型來管理大數據、云數據和數據層次結構。在越來越多的虛擬資源中,將這些模型之間所有類型的數據進行最優擬合是SOA所面臨的巨大挑戰之一。本文詳細介紹了每個SOA模型管理數據的優點、選擇和選項。
SOA的三個數據中心模型分別是數據即服務(DaaS)模型、物理層次結構模型和架構組件模型。DaaS數據存取的模型描述了數據是如何提供給SOA組件的。物理模型描述了數據是如何存儲的以及存儲的層次圖是如何傳送到SOA數據存儲器上的。最后,架構模型描述了數據、數據管理服務和SOA組件之間的關系。
SOA和數據企業的例子
也許以極限情況為開始是理解SOA數據問題的最好方式:一個企業的數據需求完全可以由關系數據庫管理系統(RDBMS)中的條款來表示。這樣一個企業可能會直接采用數據庫設備或者將專用的數據庫服務器和現有的查詢服務連接到SOA組件(查詢即服務,或QaaS)上。這種設計理念五年前或者更早之前已經被人們所接受。該設計之所以成功是因為它平衡了上述三個模型之間的關系。QaaS服務模型不是機械地連接到存儲器上;而是通過一個單一的架構―― RDBMS(關系型數據庫管理系統)。數據去重和完整性便于管理單一的架構。
通過大數據的例子可以更好地理解為什么這個簡單的方法卻不能在更大的范圍內處理數據。多數的大數據是非關系型的、非交易型的、非結構化的甚至是未更新的數據。由于缺乏數據結構因此將其抽象成一個查詢服務并非易事,由于數據有多個來源和形式因此很少按序存儲,并且定義基礎數據的完整性和去重過程是有一些規則的。當作為大數據引入到SOA的應用程序中時,關鍵是要定義三種模型中的最后一種模型,SOA數據關系中的架構模型。有兩種選擇:水平方向和垂直方向。
SOA和各類數據模型
在水平集成數據模型中,數據收集隱蔽于一套抽象的數據服務器,該服務器有一個或多個接口連接到應用程序上,也提供所有的完整性和數據管理功能。組件雖不能直接訪問數據,但作為一種即服務形式,就像他們在簡單情況下的企業,其數據的要求是純粹的RDBMS模型。應用程序組件基本上脫離了RDBMS與大數據之間數據管理的差異。盡管由于上述原因這種方法不能創建簡單的RDBMS查詢模型,但是它至少復制了我們上面提到的簡單的RDBMS模型。
垂直集成的數據模型以更多應用程序特定的方式連接到數據服務上,該方式使得客戶關系管理、企業資源規劃或動態數據認證的應用程序數據很大程度在服務水平上相互分離,這種分離直接涉及到數據基礎設施。在某些情況下,這些應用程序或許有可以直接訪問存儲/數據服務的SOA組件。為了提供更多統一的數據完整性和管理,管理服務器可以作為SOA組件來操作各種數據庫系統,以數據庫特定的方式執行常見的任務,如去重和完整性檢查。這種方法更容易適應于遺留應用和數據結構, 但它在問數據何訪方式上會破壞SOA即服務原則,也可能產生數據管理的一致性問題。
SOA和水平數據模型
毫無疑問水平模型更符合SOA原則,因為它更徹底地從SOA組件中抽象出了數據服務。不過,為了使其有效,有必要對非關系型數據庫進行抽象定義和處理低效率與抽象有關的流程――SOA架構師知道除非小心的避免此類事情否則這將會成為不可逾越的障礙。
水平的SOA數據策略已經開始應用于適用大數據的抽象數據。解決這個問題最常見的方法是MapReduce,可以應用于Hadoop形式的云構架。Hadoop以及類似的方法可以分發、管理和訪問數據,然后集中查詢這一分布式信息的相關結果。實際上,SOA組件應將MapReduce和類似數據分析功能作為一種查詢功能應用。
處理水平數據庫的效率問題
效率問題較為復雜。因為水平數據庫模型可能是通過類似大多數SOA流程的信息服務總線來完成的,一個重要的步驟是要確保與該編排相關的開銷額度保持在最低程度。這可以幫助減少與SOA相關的數據訪問開銷,但它不能克服存儲系統本身的問題。因為這些存儲系統已經通過水平模型脫離了SOA組件,很容易被忽略與延遲和數據傳輸量相關的問題,特別地,如果數據庫是云分布的,那么使用他們就會產生可變的網絡延遲。
上述問題的一個解決方案是現代分層存儲模式。數據庫不是磁盤,而是一組相互連接的高速緩存點,其存儲于本地內存中,也可能轉向固態硬盤,然后到本地磁盤,最后到云存儲。緩存算法處理這些緩存點之間的活動,從而來平衡存儲成本(同時也是平衡同步地更新成本)和性能。
對于大數據,它也是經常可以創建適用于大多數分析的匯總數據。例如一個計算不同地點車輛數量的交通遙測應用。這中方法可以產生大量的數據,但是如果匯總數據最后一分鐘還存儲在內存中,最后一小時存儲在閃存中,最后一天存在磁盤上,那么控制應用程序所需的實際時間可以通過快速訪問資源得到滿足,然而假設分析時我們可以使用一些更便宜、更慢的應用程序是會怎樣。
SOA都是抽象的,但當抽象隱藏了底層影響性能和響應時間的復雜性時,這種抽象的危險程度會提高。數據訪問也是這樣的,因此,SOA架構師需要認真地考慮抽象與性能之間的平衡關系,并為其特定的業務需求優化它。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.vmgcyvh.cn/
本文標題:企業應用SOA技術管理大數據和云數據