發表于 2017-09-22 14:40
大數據領域的主導技術有兩類:為實時的交互式工作負載提供操作能力的系統,主要捕捉和存儲數據;為復雜的回顧性分析提供分析能力的系統,可能觸及大多數或所有數據。這兩類技術是互補的,并且經常會一起部署。
大數據的操作和分析工作負載反映了相對的需求。系統不斷發展,以非常不同的方式分別滿足這兩種需求。二者均推動了新技術架構的創建。 NoSQL 數據庫 等操作型系統側重于服務高度并發的請求,同時表現出對高選擇性訪問標準的響應的低延遲。與此對應的是,分析型系統往往側重于高通量;查詢可以非常復雜,并且在任何時候都能接觸系統中的大多數數據(如果不是全部數據)。這兩種系統往往在集群中的眾多服務器上運行,管理著數十億條記錄中的數十或數百兆字節數據。
操作型大數據
對于操作型大數據工作負載, 文檔型數據庫 等 NoSQL 大數據系統應運而生,處理各種各樣的應用程序,而鍵值存儲、列族存儲、圖形數據庫等其他架構則針對更具體的應用程序進行了優化。開發 NoSQL 技術的目的是解決現代計算環境中關系數據庫的缺點,它比關系數據庫速度更快、 擴展更快、成本更低。
關鍵是,NoSQL 大數據系統旨在利用在過去十年里新興的云計算架構,使人們可以廉價、高效地進行大量計算。這使得操作型大數據工作負載更容易管理,實施起來更便宜、更快速。
除了用戶與數據的交互之外,大多數操作型系統需要提供有關 系統中活躍數據一定程度的實時智能。例如,多用戶游戲或金融應用程序會向用戶顯示用戶活動或工具性能的聚合數據,以便他們決策。一些 NoSQL 系統可以在少量編碼工作和不需要雇用數據科學家或增添額外基礎架構的前提下,基于實時數據提供有關模式和趨勢的洞察。
分析型大數據
另一方面,分析型大數據工作負載往往由 MPP 數據庫系統和 MapReduce 處理。這些技術的出現也是為了應對傳統關系數據庫的局限性,以及它們缺乏在單一服務器提供的資源上拓展的能力。此外,MapReduce 提供了一種新的分析數據的方法,這是對 SQL 提供的能力的補充。
隨著應用程序越來越受歡迎、用戶產生的數據越來越多,不少回顧性分析工作可以為企業提供切實的價值。這些工作負載所涉及的算法比簡單聚合更為復雜,MapReduce 已經成為大數據分析的首選。一些 NoSQL 系統提供原生 MapReduce 功能,允許對操作數據進行分析?;蛘?,也可以將數據從 NoSQL 系統復制到像 Hadoopfor MapReduce 這樣的分析系統中。
操作型 vs 分析型系統概覽
操作型 | 分析型 | |
延遲 | 1 ms - 100 ms | 1 min - 100 min |
并發 | 1000 - 100,000 | 1 - 10 |
訪問模式 | 寫入和讀取 | 讀取 |
查詢 | 選擇性 | 非選擇性 |
數據范圍 | 操作型 | 回顧性 |
最終用戶 | 客戶 | 數據科學家 |
技術 | NoSQL | MapReduce,MPP 數據庫 |
來源:張逸
Copyright ?2005-2021 勤智數碼科技股份有限公司 川公網安備 51019002003506號 蜀ICP備11012966號-7