“全局、科學、安全、便捷、智能”,就是Nebula。
-資源管理全局化
Nebula采用一種統一地址描述資源的方法,以扁平化的存儲方式存儲資源,以圖向量等方法描述各對象間的關系,大大地簡化了對象間關系的保存以及查詢,檢索的性能也得到了提升。
Nebula改變了傳統架構煙囪式的建設方式,打破了固有結構的局限性,好比將所有的資源同在一個容器中,相對自由、彼此獨立,又相互聯系,增強了數據間的邏輯性也方便了用戶的使用,使得資源管理全局化。
-存儲方案科學化
在分布式對象存儲、鍵值存儲、文檔存儲等技術的支撐下,Nebula根據儲存內容的不同,制定了面向業務數據特征的存儲方案,為不同類型的業務數據“私人定制”最適合的存儲方案,更加科學地管理業務數據。Nebula的資源包括結構化數據、半結構化數據、非結構化數據以及媒體文件,這些資源采用上述存儲方案存儲在多種數據源中,包括MySQL、Mongodb、File、Index等。
Nebula采用了一種實現異構數據復合對象的事務一致性的方法保證業務過程中多個進程的最終一致性。這種方法將事務的所有數據來源進行統一管理,只有當所有的進程都成功時才提交,改變數據來源中存放的數據;若任意一個進程不成功,都要讓其他的數據源回滾,恢復這個事務中改變了的數據,保證了多個進程的最終一致性。在這種事務一致性方法的保障下,面向業務數據特征的存儲方案得以實施,也使得業務數據的存儲方案更適合業務數據本身,更加科學化。
-業務數據安全化
Nebula采用分布式技術和一致性Hash算法解決傳統架構中單點故障和數據沒有副本導致的數據丟失難以恢復問題。去中心化的設計,服務器故障時,其他服務器自動分攤故障服務器的任務為系統提供服務,以此保證了計算、數據庫和存儲的安全性。
Nebula中分布式計算的安全性主要體現在對計算節點的監控和對故障節點任務的重新分配,同時提高系統的計算效率,自動負載均衡。Nebula采用非關系向數據庫Mongodb管理核心業務數據,增強了數據庫的安全性。存儲方面使用了分布式對象存儲保證了存儲的安全性。整個系統中業務數據安全化,用戶無需再為數據擔憂。
-系統擴展便捷化
隨著媒體數據的迅速增長,傳統架構的系統復雜性、擴展成本高、難以應對突發性信息增長等缺陷使系統擴展陷入困境。Nebula橫向擴展的便捷性體現在數據擴展和業務擴展上。
數據層,Nebula通過Mongodb和分布式系統的分片機制實現其橫向擴展。Mongodb的分片機制運行在每一個Collection的底層,當負載不均衡時,會自動啟用分片機制,可以通過添加分片的方式實現系統擴展,新增時分片機制自動啟用,將周圍分片的數據分配在新的分片中,不需要動用所有的服務器重新劃分所有的數據,方便快捷。分布式對象存儲的擴展性分為對象存儲設備的擴展和一致性Hash計算的擴展。文件系統將文件分片形成對象,每個對象為一個數據塊,分散地保存在不同的服務器節點,對象存儲設備可以通過添加節點的方式擴展。一致性Hash算法去中心化的思想使得計算節點的添加變得容易,對其他節點不造成影響,無需統一的分配,添加的節點按照一致性Hash的算法工作。
業務層,Nebula主要采用了Docker技術,將系統中所需的復雜的環境封裝在Docker中,以規范化接口的形式提供給用戶,降低了環境依賴,為用戶和測試人員提供便利,更方便系統業務的擴展。
-數據挖掘智能化
Nebula是一個以數據為核心面向業務的基于數據融合及媒體應用特性的PaaS平臺,除了能為業務系統提供更穩定、更安全的內容、存儲的服務外,還能提供數據分析與挖掘的服務。Nebula采用了多種數據挖掘的方法精準定位用戶關心的業務問題,并以熱力圖、統計曲線、標簽云等方式可視化展現,直觀反映用戶關心的業務數據,智能化地為用戶提供服務。