日日碰狠狠躁久久躁96avv-97久久超碰国产精品最新-婷婷丁香五月天在线播放,狠狠色噜噜色狠狠狠综合久久 ,爱做久久久久久,高h喷水荡肉爽文np肉色学校

睿治

智能數據治理平臺

睿治作為國內功能最全的數據治理產品之一,入選IDC企業數據治理實施部署指南。同時,在IDC發布的《中國數據治理市場份額》報告中,連續四年蟬聯數據治理解決方案市場份額第一。

數據存儲建模

時間:2022-05-19來源:蹺二郎腿上課瀏覽數:382

相較于系統數據庫存儲及文件存儲,分布式存儲引入了對象存儲和NoSQL數據庫,都還遠遠沒有成熟,相較與傳統數據庫的分割方式來支持大數據并發,分布式存儲優勢明顯,但設計模式基本都在實踐中,但理論還遠沒成熟,這需要技術人員不斷實踐、借鑒,實現適合自己需求的存儲與數據系統。

我們通過一個實際的數據建模實踐來展示如何使用大數據技術進行實際問題的解決。

這個設計是針對分布式存儲的。存儲架構是大數據系統的一個重要環節,尤其是對以后的服務十分重要。

分布式存儲的架構

目前,在云計算中廣泛使用的數據存儲系統是分布式文件系統,如Hadoop HDFS系統,運行在普通硬件上,提供多備份支持的容錯功能,能夠有效利用服務器上配置的硬盤,形成海量存儲空間,目前GFS支持服務器節點以十萬計,而 Hadoop HDFS也有過萬節點系統在運行。無論是GFS還是HDFS,雖然在具體處理技術上各自有各自的實現,但其總體構架基本上都如下圖所示。

分布式數據存儲系統

在存儲層面,將數據分成一個一個塊(block),meta-data是塊的相關信息,如同文件系統的目錄節點文件中對文件塊描述,可以理解為具體數據塊的定位信息,當然包含備份數據塊信息。這里Meta-data是數據存儲的目錄結構,以數據塊為對象。數據塊是實際數據存儲,被分配到系統數據節點上的塊設備上,一般是硬盤。這一層有點像操作系統中的塊設備驅動,不同的是分布式的。

在存儲層面之上是數據處理層,主要目標是將塊組合成用戶需要的數據,如對象或者文件,大量對象與大文件訪問時,為了提升性能,往往需要通過MapReduce,實際是分布式數據處理,來提升數據訪問效率。

數據存儲一般對上層有三種不同的接口,首先是對象存儲,這是一個較低層接口,一般用于程序對象直接存儲,其次是NoSQL DB,提供數據庫接口,一般在存儲上實現數據庫都是NoSQL的,如Google的Bigtable和Hadoop的Hbase,還有文件存儲接口,對應用來講,就是以文件方式訪問數據,對于以網頁為中心的系統,文件接口應用更多。

分布式系統通常通過讀寫分離,和在寫入時同步來保障數據最終一致性的,下圖是Ceph支持的三種讀寫的順序圖,用于理解分布式存儲的讀寫方式。

分布式存儲的讀寫:Ceph支持的三種讀寫的順序圖

MapReduce通過把對數據集的大規模操作分發給網絡上的每個節點來實現可靠性,每個節點會周期性地把完成的工作和狀態的更新報告發送回來。如果一個節點保持沉默超過一個預設的時間間隔,主節點記錄下這個節點狀態為死亡,并把分配給這個節點的數據發到別的節點。每個操作使用命名文件的不可分割操作以確保不會發生并行線程間的沖突;當文件被改名的時候,系統可能會把他們復制到任務名以外的另一個名字上去。Reduce操作方式很類似,但是由于Reduce操作并行能力較差,主節點會盡量把Reduce操作調度在一個節點上,或者離需要操作的數據盡可能近的節點上了。

數據存儲設計

相較于系統數據庫存儲及文件存儲,分布式存儲引入了對象存儲和NoSQL數據庫,都還遠遠沒有成熟,相較與傳統數據庫的分割方式來支持大數據并發,分布式存儲優勢明顯,但設計模式基本都在實踐中,但理論還遠沒成熟,這需要技術人員不斷實踐、借鑒,實現適合自己需求的存儲與數據系統。

應用針對存儲設計,首先是數據形式,那些數據需要以文件方式保存,那些數據要以對象形式保持,那些數據要用數據庫。一般來講,音視頻、文檔及網頁等用數據適合以文件形式保存在存儲中,而應用中格式化數據適合以對象或數據庫形式保存,對與對象實例較多,而且需要查詢的,一般使用數據庫方式存儲。此外,分布式存儲都提供數據域,區分數據域是用于將數據分割存儲到不同物理區域,為了提升效率,雖然數據可以動態分布到所有節點,但這樣效率并不高,因此需要盡量將處理與數據統一到一個區域,提升數據訪問效率。

NoSQL設計實際是對象模型設計。同傳統數據庫schema的設計不同,在使用NoSQL時應用程序需要設計自己的對象模型樹,針對對象實現流化,即以數據塊方式存儲數據對象。NoSQL與傳統數據庫不同,每個對象的屬性可以動態改變,而一個對象就是傳統數據庫的一個行,對象屬性可以認為是數據庫的列,而傳統數據庫的列是預先定義和不可改變的。NoSQL數據庫支持每一行數據自行定義自己的屬性,這樣對象設計自由度更大,可以完全按照程序邏輯設計自己數據對象和確定數據圖。NoSQL數據庫都支持數據圖關系,這樣在獲取對象時就能夠獲取到相關對象,從而減少查找,以提升應用效率。

NoSQL的問題

目前,分布式存儲特別是在其上的NoSQL數據庫,不支持數據關聯性處理,數據關系要通過類似全文搜索來處理,因此對于結構數據,特別關系密切性的數據處理,有很大限制。對于熟悉關系數據庫處理的程序人員是很大缺陷。

另一個方面,數據庫拆分,目前也是用來解決大數據問題的常用用法,但對于線性增長的數據,數據庫會一點一點變慢,如果分庫數量過多,管理和重組數據開銷一樣會增多,系統性能還是逐步降低,對于每日上億條數據入庫,數據庫分庫也很難滿足要求,而系統延展性會變差,而數據庫管理會隨著庫數量上升而日益困難,應用開發難度增加。

為了克服這些困難,人們又提出了在分布式存儲方案上實現分布式關系數據庫的方式,比較典型的如基于Hadoop的Hadoop DB方案,該方案通過使用Hadoop數據分布及MapReduce并行計算方案,將關系數據庫數據分布存儲到不同數據庫上。在查詢時,使用MapReduce 并行計算,同時在多個并行數據庫上執行,并將執行接口匯總到MapReduce任務,合成成一個完整的結果,下圖是該方案的設計圖:

分布式存儲方案上實現分布式關系數據庫的方式

該方式可以支持關系型數據庫的數據庫表關聯查詢,相較于NoSQL的類似全文查詢,該方式要友好很多,性能也提升很多。對使用者來講,由于該方式可以認為是分布式的關系型數據庫,可以極大降低應用開發的難度與成本。

本書采用理論與實踐相結合的形式,系統闡述云計算和大數據服務的具體實現。

云計算和大數據服務戰略的落地,包括技術構建和運營管理、新興的人工智能技術的應用,以及組織能力的建設。針對這一目標,全書分為七部分:云計算技術、大數據與數據智能、服務的技術運營、智能運營(AIOps)、安全技術與管理、服務質量管理和組織能力。寫作本書的目的是幫助讀者對云計算和大數據的重要專題從基本概念、發展思路到解決方案有一個系統認識。

本書具有非常強的可讀性和實踐指導意義,可作為云計算和大數據企業的高層管理人員和技術架構師的參考讀物,也可作為高校相關專業師生的教學參考用書。


(部分內容來源網絡,如有侵權請聯系刪除)
立即申請數據分析/數據治理產品免費試用 我要試用
customer

在線咨詢

在線咨詢

點擊進入在線咨詢