大資料架構和模式(三)——理解大資料解決方案的架構層

developerWorks 中國發表於2015-01-31

大資料解決方案的邏輯層可以幫助定義和分類各個必要的元件,大資料解決方案需要使用這些元件來滿足給定業務案例的功能性和非功能性需求。這些邏輯層列出了大資料解決方案的關鍵元件,包括從各種資料來源獲取資料的位置,以及向需要洞察的流程、裝置和人員提供業務洞察所需的分析。

大資料架構和模式(一)——大資料分類和架構簡介

大資料架構和模式(二)——如何知道一個大資料解決方案是否適合您的組織

大資料架構和模式(四)——瞭解用於大資料解決方案的原子模式和複合模式

大資料架構和模式(五)——對大資料問題應用解決方案模式並選擇實現它的產品

概述

這個 “大資料架構和模式” 系列的 第 2 部分 介紹了一種評估大資料解決方案可行性的基於維度的方法。如果您已經使用上一篇文章中的問題和提示分析了自己的情況,並且已經決定開始構建新的(或更新現有的)大資料解決方案,那麼下一步就是識別定義專案的大資料解決方案所需的元件。

大資料解決方案的邏輯層

邏輯層提供了一種組織您的元件的方式。這些層提供了一種方法來組織執行特定功能的元件。這些層只是邏輯層;這並不意味著支援每層的功能在獨立的機器或獨立的程式上執行。大資料解決方案通常由以下邏輯層組成:

  1. 大資料來源
  2. 資料改動 (massaging) 和儲存層
  3. 分析層
  4. 使用層
  • 大資料來源:考慮來自所有渠道的,所有可用於分析的資料。要求組織中的資料科學家闡明執行您需要的分析型別所需的資料。資料的格式和起源各不相同:
    • 格式— 結構化、半結構化或非結構化。
    • 速度和資料量— 資料到達的速度和傳送它的速率因資料來源不同而不同。
    • 收集點— 收集資料的位置,直接或通過資料提供程式,實時或以批量模式收集資料。資料可能來自某個主要來源,比如天氣條件,也有可能來自一個輔助來源,比如媒體贊助的天氣頻道。
    • 資料來源的位置— 資料來源可能位於企業內或外部。識別您具有有限訪問權的資料,因為對資料的訪問會影響可用於分析的資料範圍。
  • 資料改動和儲存層:此層負責從資料來源獲取資料,並在必要時,將它轉換為適合資料分析方式的格式。例如,可能需要轉換一幅圖,才能將它儲存在 Hadoop Distributed File System (HDFS) 儲存或關聯式資料庫管理系統 (RDBMS) 倉庫中,以供進一步處理。合規性制度和治理策略要求為不同的資料型別提供合適的儲存。
  • 分析層:分析層讀取資料改動和儲存層整理 (digest) 的資料。在某些情況下,分析層直接從資料來源訪問資料。設計分析層需要認真地進行事先籌劃和規劃。必須制定如何管理以下任務的決策:
    • 生成想要的分析
    • 從資料中獲取洞察
    • 找到所需的實體
    • 定位可提供這些實體的資料的資料來源
    • 理解執行分析需要哪些演算法和工具。
  • 使用層:此層使用了分析層所提供的輸出。使用者可以是視覺化應用程式、人類、業務流程或服務。視覺化分析層的結果可能具有挑戰。有時,看看類似市場中的競爭對手是如何做的會有所幫助。

每一層包含多種元件型別,下面將會介紹這些型別。

圖 1. 邏輯和垂直層的元件

該圖顯示了邏輯和垂直層的元件

大資料來源

此層包含所有必要的資料來源,提供瞭解決業務問題所需的洞察。資料是結構化、半結構化和非結構化的資料,而且來自許多來源:

  • 企業遺留系統— 這些系統是企業應用程式,執行業務需要的分析並獲取需要的洞察:
    • 客戶關係管理系統
    • 結算操作
    • 大型機應用程式
    • 企業資源規劃
    • Web 應用程式開發

    Web 應用程式和其他資料來源擴充了企業擁有的資料。這些應用程式可使用自定義的協議和機制來公開資料。

  • 資料管理系統 (DMS)— 資料管理系統儲存邏輯資料、流程、策略和各種其他型別的文件:
    • Microsoft® Excel® 電子表格
    • Microsoft Word 文件

    這些文件可以轉換為可用於分析的結構化資料。文件資料可公開為領域實體,或者資料改動和儲存層可將它轉換為領域實體。

  • 資料儲存— 資料儲存包含企業資料倉儲、運算元據庫和事務資料庫。此資料通常是結構化資料,可直接使用或輕鬆地轉換來滿足需求。這些資料不一定儲存在分散式檔案系統中,具體依賴於所處的上下文。
  • 智慧裝置— 智慧裝置能夠捕獲、處理和傳輸使用最廣泛的協議和格式的資訊。這方面的示例包括智慧電話、儀表和醫療裝置。這些裝置可用於執行各種型別的分析。絕大多數智慧裝置都會執行實時分析,但從智慧裝置傳來的資訊也可批量分析。
  • 聚合的資料提供程式— 這些提供程式擁有或獲取資料,並以複雜的格式和所需的頻率通過特定的過濾器公開它。每天都會產生海量的資料,它們具有不同的格式,以不同的速度生成,而且通過各種資料提供程式、感測器和現有企業提供。
  • 其他資料來源— 有許多資料來自自動化的來源:
    • 地理資訊:
      • 地圖
      • 地區詳細資訊
      • 位置詳細資訊
      • 礦井詳細資訊
    • 人類生成的內容:
      • 社交媒體
      • 電子郵件
      • 部落格
      • 線上資訊
    • 感測器資料:
      • 環境:天氣、降雨量、溼度、光線
      • 電氣:電流、能源潛力等
      • 導航裝置
      • 電離輻射、亞原子粒子等
      • 靠近、存在等
      • 位置、角度、位移、距離、速度、加速度
      • 聲音、聲震動等
      • 汽車、運輸等
      • 熱量、熱度、溫度
      • 光學、光、成像、見光度
      • 化學
      • 壓力
      • 流動、流體、速度
      • 力、密度級別等
      • 來自感測器供應商的其他資料

資料改動和儲存層

因為傳入的資料可能具有不同的特徵,所以資料改動和儲存層中的元件必須能夠以各種頻率、格式、大小和在各種通訊渠道上讀取資料:

  • 資料獲取— 從各種資料來源獲取資料,並將其傳送到資料整理元件或儲存在指定的位置中。此元件必須足夠智慧,能夠選擇是否和在何處儲存傳入的資料。它必須能夠確定資料在儲存前是否應改動,或者資料是否可直接傳送到業務分析層。
  • 資料整理— 負責將資料修改為需要的格式,以實現分析用途。此元件可擁有簡單的轉換邏輯或複雜的統計演算法來轉換源資料。分析引擎將會確定所需的特定的資料格式。主要的挑戰是容納非結構化資料格式,比如影像、音訊、視訊和其他二進位制格式。
  • 分散式資料儲存— 負責儲存來自資料來源的資料。通常,這一層中提供了多個資料儲存選項,比如分散式檔案儲存 (DFS)、雲、結構化資料來源、NoSQL 等。

分析層

這是從資料中提取業務洞察的層:

  • 分析層實體識別— 負責識別和填充上下文實體。這是一個複雜的任務,需要高效的高效能流程。資料整理元件應為這個實體識別元件提供補充,將資料修改為需要的格式。分析引擎將需要上下文實體來執行分析。
  • 分析引擎— 使用其他元件(具體來講,包括實體鑑別、模型管理和分析演算法)來處理和執行分析。分析引擎可具有支援並行處理的各種不同的工作流、演算法和工具。
  • 模型管理— 負責維護各種統計模型,驗證和檢驗這些模型,通過持續培訓模型來提高準確性。然後,模型管理元件會推廣這些模型,它們可供實體識別或分析引擎元件使用。

使用層

這一層使用了從分析應用程式獲取的業務洞察。分析的結果由組織內的各個使用者和組織外部的實體(比如客戶、供應商、合作伙伴和提供商)使用。此洞察可用於針對客戶提供產品營銷資訊。例如,藉助從分析中獲取的洞察,公司可以使用客戶偏好資料和位置感知,在客戶經過通道或店鋪時向他們提供個性化的營銷資訊。

該洞察可用於檢測欺詐,實時攔截交易,並將它們與使用已儲存在企業中的資料構建的檢視進行關聯。在欺詐性交易發生時,可以告知客戶可能存在欺詐,以便及時採取更正操作。

此外,可以根據在資料改動層完成的分析來觸發業務流程。可以啟動自動化的步驟 — 例如,如果客戶接受了一條可自動觸發的營銷資訊,則需要建立一個新訂單,如果客戶報告了欺詐,那麼可以觸發對信用卡使用的阻止。

分析的輸出也可由推薦引擎使用,該引擎可將客戶與他們喜歡的產品相匹配。推薦引擎分析可用的資訊,並提供個性化且實時的推薦。

使用層還為內部使用者提供了理解、找到和導航企業內外的鏈鎖資訊的能力。對於內部使用者,為業務使用者構建報告和儀表板的能力使得利益相關者能夠制定精明的決策並設計恰當的戰略。為了提高操作有效性,可以從資料中生成實時業務警告,而且可以監視操作性的關鍵績效指標:

  • 交易攔截器— 此元件可實時攔截高容量交易,將它們轉換為一種容易被分析層理解的實時格式,以便在傳入資料上執行實時分析。事務攔截器應能夠整合並處理來自各種來源的資料,比如感測器、智慧儀表、麥克風、攝像頭、GPS 裝置、ATM 和影像掃描器。可以使用各種型別的介面卡和 API 來連線到資料來源。也可以使用各種加速器來簡化開發,比如實時優化和流分析,視訊分析,銀行、保險、零售、電信和公共運輸領域的加速器,社交媒體分析,以及情緒分析。
  • 業務流程管理流程— 來自分析層的洞察可供業務流程執行語言 (BPEL) 流程、API 或其他業務流程使用,通過自動化上游和下游 IT 應用程式、人員和流程的功能,進一步獲取業務價值。
  • 實時監視— 可以使用從分析中得出的資料來生成實時警告。可以將警告傳送給感興趣的使用者和裝置,比如智慧電話和平板電腦。可以使用從分析元件生成的資料洞察,定義並監視關鍵績效指標,以便確定操作有效性。實時資料可從各種來源以儀表板的形式向業務使用者公開,以便監視系統的健康或度量營銷活動的有效性。
  • 報告引擎— 生成與傳統商業智慧報告類似的報告的能力至關重要。使用者可基於從分析層中得到的洞察,建立臨時報告、計劃的報告或自助查詢和分析。
  • 推薦引擎— 基於來自分析層的分析結果,推薦引擎可向購物者提供實時的、相關的和個性化的推薦,提高電子商務交易中的轉換率和每個訂單的平均價值。該引擎實時處理可用資訊並動態地響應每個使用者,響應基於使用者的實時活動、儲存在 CRM 系統中的註冊客戶資訊,以及非註冊客戶的社交概況。
  • 視覺化和發現— 資料可跨企業內外的各種聯邦的資料來源進行導航。資料可能具有不同的內容和格式,所有資料(結構化、半結構化和非結構化)可組合來進行視覺化並提供給使用者。此能力使得組織能夠將其傳統的企業內容(包含在企業內容管理系統和資料倉儲中)與新的社交內容(例如 tweet 和部落格文章)組合到單個使用者介面中。

垂直層

影響邏輯層(大資料來源、資料改動和儲存、分析和使用層)的所有元件的各方面都包含在垂直層中:

  • 資訊整合
  • 大資料治理
  • 系統管理
  • 服務質量

資訊整合

大資料應用程式從各種資料起源、提供程式和資料來源獲取資料,並儲存在 HDFS、NoSQL 和 MongoDB 等資料儲存系統中。這個垂直層可供各種元件使用(例如資料獲取、資料整理、模型管理和交易攔截器),負責連線到各種資料來源。整合將具有不同特徵(例如協議和連線性)的資料來源的資訊,需要高質量的聯結器和介面卡。可以使用加速器連線到大多數已知和廣泛使用的來源。這些加速器包括社交媒體介面卡和天氣資料介面卡。各種元件還可以使用這一層在大資料儲存中儲存資訊,從大資料儲存中檢索資訊,以便處理這些資訊。大多數大資料儲存都提供了服務和 API 來儲存和檢索該資訊。

大資料治理

資料治理涉及到定義指南來幫助企業制定有關資料的正確決策。大資料治理有助於處理企業內或從外部來源傳入的資料的複雜性、量和種類。在將資料傳入企業進行處理、儲存、分析和清除或歸檔時,需要強有力的指南和流程來監視、構建、儲存和保護資料。

除了正常的資料治理考慮因素之外,大資料治理還包含其他因素:

  • 管理各種格式的大量資料。
  • 持續培訓和管理必要的統計模型,以便對非結構化資料和分析進行預處理。請記住,設定處理非結構化資料時的重要一步。
  • 為外部資料設定有關其保留和使用的策略和合規性制度。
  • 定義資料歸檔和清除策略。
  • 建立如何跨各種系統複製資料的策略。
  • 設定資料加密策略。

服務質量層

此層複雜定義資料質量、圍繞隱私和安全性的策略、資料頻率、每次抓取的資料大小和資料過濾器:

  • 資料質量
    • 完整地識別所有必要的資料元素
    • 以可接受的新鮮度提供資料的時間軸
    • 依照資料準確性規則來驗證資料的準確性
    • 採用一種通用語言(資料元組滿足使用簡單業務語言所表達的需求)
    • 依據資料一致性規則驗證來自多個系統的資料一致性
    • 在滿足資料規範和資訊架構指南基礎上的技術符合性
  • 圍繞隱私和安全的策略
    需要策略來保護敏感資料。從外部機構和提供程式獲取的資料可能包含敏感資料(比如 Facebook 使用者的聯絡資訊或產品定價資訊)。資料可以來源於不同的地區和國家,但必須進行相應的處理。必須制定有關資料遮蔽和這類資料的儲存的決策。考慮以下資料訪問策略:
  • 資料可用性
  • 資料關鍵性
  • 資料真實性
  • 資料共享和釋出
  • 資料儲存和保留,包括能否儲存外部資料等問題。如果能夠儲存資料,資料可儲存多長時間?可儲存何種型別的資料?
  • 資料提供程式約束(政策、技術和地區)
  • 社交媒體使用條款(參見 參考資料
  • 資料頻率
    提供新鮮資料的頻率是多少?它是按需、連續還是離線的?
  • 抓取的資料大小
    此屬性有助於定義可抓取的資料以及每次抓取後可使用的資料大小。
  • 過濾器
    標準過濾器會刪除不想要的資料和資料中的干擾資料,僅留下分析所需的資料。

系統管理

系統管理對大資料至關重要,因為它涉及到跨企業叢集和邊界的許多系統。對整個大資料生態系統的健康的監視包括:

  • 管理系統日誌、虛擬機器、應用程式和其他裝置
  • 關聯各種日誌,幫助調查和監視具體情形
  • 監視實時警告和通知
  • 使用顯示各種引數的實時儀表板
  • 引用有關係統的報告和詳細分析
  • 設定和遵守服務水平協議
  • 管理儲存和容量
  • 歸檔和管理歸檔檢索
  • 執行系統恢復、叢集管理和網路管理
  • 策略管理

結束語

對開發人員而言,層提供了一種對大資料解決方案必須執行的功能進行分類的途徑,為組織建議必需執行這些功能所需的程式碼。但是,對於想要從大資料獲取洞察的業務使用者,考慮大資料需求和範圍通常會有所幫助。原子模式解決了訪問、處理、儲存和使用大資料的機制,為業務使用者提供了一種解決需求和範圍的途徑。下一篇文章將介紹用於此用途的原子模式。

相關文章