代穎
(襄陽職業技術學院,湖北 襄陽 441000)
“架構”一詞起初來源于建筑,核心是通過一系列構件的組合來承載上層傳遞的壓力。架構是系統組成部件及其之間的相互關系,通過明確這種關系,使用架構之間的聯系更加科學合理,系統更加穩定。在計算機術語中,架構又名軟件架構,是有關軟件整體結構與組件的抽象描述,用于指導大型軟件系統各個方面的設計。架構描述語言(ADL)用于描述軟件的體系架構?,F在已有多種架構描述語言,如Wright(由卡內基梅隆大學開發),Acme(由卡內基梅隆大學開發),C2(由UCI 開發),Darwin(由倫敦帝國學院開發)。ADL 的基本構成包括組件、連接器和配置。[1]
數據是客觀事實經過獲取、存儲和表達后得到的結果,通常以文本、數字、圖形、圖像、聲音和視頻等表現形式存在。[2]在系統和軟件工程中,數據的描述形式分為數據結構和數據架構。數據結構是算法和數據庫實現層面的描述,指計算機存儲、組織數據的方式,數據結構是相互之間存在一種或多種特定關系的數據元素的集合,往同高效的檢索算法和索引技術有關。數據架構是系統和軟件架構層面的描述,主要是從系統設計和實現的視角來看數據資源和信息流,數據架構定義了信息系統架構中所涉及的實體對象的數據表示和描述、數據存儲、數據分析的方式及過程、數據交換機制、數據接口等內容,包括靜態和動態兩個方面的內容。
在大數據時代,隨著大數據對數據內涵和外延的擴展,架構相關的數據模型、價值鏈分析、架構交付和實現方式也發生了本質的變化。大數據架構是組織視角下,大數據相關的基礎設施、存儲、計算、管理、應用等分層和組件化描述,為業務需求分析、系統功能設計、技術框架研發、服務模式創新及價值實現的過程提供指導。從技術視角看,大數據架構不僅關注數據處理和管理過程中的元數據、主數據、數據倉庫、數據接口技術等,更多的是關注數據采集、存儲、分析和應用過程中的基礎設施的虛擬化技術,分布式文件,非關系型數據庫、數據資源管理技術以及面向數據挖掘、預測、決策的大數據分析及可視化技術等。從應用視角看,架構設計涉及更多維度,更多的是關注大數據應用模式、服務流程管理、數據案例和質量等方面。
由此可見,大數據架構研究和實現的重點是,結合分層、模塊化的原則以及相關設計模式和框架應用,聚集業務需求的本質,建立核心的大數據參考模型,明確基礎大數據技術架構的系統實現方式,分析基于大數據應用的價值鏈實現,以此構建完整的大數據架構。
大數據平臺建設是一個長期迭代的過程,是一個不斷創新和完善的過程。大數據架構設計的原則應用根據應用業務特點為系統建設現狀和未來發展藍圖,并依據數據類型對業務問題進行合理分類,打造一個可擴展、高可用、安全、高效的海量數據處理和挖掘的大數據平臺。因此大數據架構設計首先要滿足業務需求,提煉業務需求的非功能特性,提出針對性的架構設計方案。
在大數據架構設計的過程中關鍵在于大數據平臺匯集了企業的所有數據,因此該平臺有收集所有其他系統上傳過來的數據,同時進行規范化的分類存儲功能。有支持結構化、半結構化和非結構化數據的實時上傳、存儲、分析和計算功能。有支持所有常用的數據模型功能。有支持所有常用數據模型及算法在此平臺上運行計算的功能。能提供通用的數據服務接口,使平臺中的數據能夠發送給其他系統使用。并且圍繞在大數據平臺周圍的還有一些補充和額外的技術,這些可以從存儲在平臺中的數據獲取更多的認知和價值,包括數據可視化、調整緩存、消息系統、數據挖掘和ETL。
對于任何架構和設計,需要明確沒有哪種架構能解決所有問題,不同的需求和業務需要有針對性的架構模式。我們可以從分層、分割、分布式、集群、災備、自動化幾個方面考慮。
分層的設計模式可以使各集群分別部署和開發,實現系統的擴展性,增強可維護性。可從數據源層、數據預處理和存儲層、數據計算分析層、數據消費層來設計。
分割是根據不同的業務主體,將整體業務切割細分成多個小業務,然后通過各自的集群來實現各自的業務應用。
分布式的架構設計是大數據系統的基礎,包括了控制系統、接口系統、數據系統、應用系統等不同規范的分頁式。分布式系統是由一個業務分拆為多個子業務,將不同子業務分布在不同的地方。
集群是大數據平臺的基本特性之一,可以解決海量數據的存儲與計算的資源壓力,提升服務器整體計算能力的一種解決方案。集群可以在付出較低的情況下,獲得性能、可靠性、靈活性、擴展性、伸縮性等性能收益。
大數據平臺災備方案通常有同城雙活和本地備份。同城雙活實現兩個自在不同地域的數據中心雙活模式容災,在任何一個數據中心發生災難時,另一個數據中心可自動接管業務。本地備份相對簡單,主要實現快照技術導出數據。
大數據的自動化涉及運維自動化、自動化數據管理及自動化數據挖掘。
本文闡述了大數據架構,分析了大數據架構設計原則及核心要素,探討了大數據架構設計模式分層、分割、分布式、集群、災備、自動化等主要考慮因素,可以此為依據結合落地應用繼續探討大數據架構參考模型。