大資料架構設計模式主要考慮八方面問題
在架構設計中,沒有萬能的軟體架構能解決所有問題,不同的場景、需求、限制下需要有針對性的架構模式才能滿足專案需求。大資料架構設計模式中,需要從分層、分割、分散式、叢集、快取、非同步、災備、自動化幾個方面考慮。
1.分層
大資料平臺從邏輯上通常分為資料來源層、資料預處理和儲存層、資料計算分析層和資料消費層。
2.分割
分割是根據不同的業務主體,將整體業務體進行切割並細分到多個小業務,然後通過各自的叢集來實現各自的業務應用。
這種方式能夠實現業務功能的獨立開發,對某個業務模式或功能模組的修改不會過多地影響到其他業務模組的功能實現;同時,分割的架構設計方式還能在各個模組發生故障時,不影響其他模組的功能實現,防止整體性和串聯型故障。圖1所示為某智慧城市專案中業務分割示例。
圖1業務分割模式
3.分散式
分散式的架構設計是大資料系統的基礎,它包括控制系統、介面系統、資料系統、應用系統等不同規範的分散式。
4.叢集
大資料平臺的基本特性之一,是解決海量資料的儲存與計算的資源壓力,提升伺服器整體計算能力的解決方案。
5.快取
與硬體快取所不同的是,大資料平臺中的快取主要是針對資料查詢或資料交換的,當執行高併發查詢時,增加資料快取會對查詢效率有大幅提升。
6.非同步
在大資料平臺中的多個功能模組互動的架構設計時,最重要的是要考慮模組之間的資料傳遞,傳遞資料的過程就有兩種∶同步和非同步。在大資料平臺實時查詢的場景下,響應效率是最為關鍵的,因此大資料儲存架構本身的設計需要滿足最小延時的功能。
7.災備
大資料平臺災備方案通常有兩種∶同城雙活和本地備份,Hadoop 其架構本身就自帶本地備份方案,由於大多數企業的業務量和資料量有限,使用的該方法是最經濟實惠的。而同城雙活方案在容災備份業務中是最高級別的備份方案,可實現本地與異地同時對外提供業務服務,同時實現相互備份能力。
8.自動化
自動化不僅涉及大資料平臺後期應用,還涉及運維、資料管理、挖掘等重要環節。自動化資料管理也應該成為其中一個重要的組成部分,它的自動化程度對於提高資訊保安保障能力具有重要的意義。