http://www.ibm.com/developerworks/cn/data/library/bd-archpatterns1/index.htmlhtml
大數據可經過許多方式來存儲、獲取、處理和分析。每一個大數據來源都有不一樣的特徵,包括數據的頻率、量、速度、類型和真實性。處理並存儲大數據時,會涉及到更多維度,好比治理、安全性和策略。選擇一種架構並構建合適的大數據解決方案極具挑戰,由於須要考慮很是多的因素。算法
這個 「大數據架構和模式」 系列提供了一種結構化和基於模式的方法來簡化定義完整的大數據架構的任務。由於評估一個業務場景是否存在大數據問題很重要,因此咱們包含了一些線索來幫助肯定哪些業務問題適合採用大數據解決方案。數據庫
回頁首編程
若是您花時間研究過大數據解決方案,那麼您必定知道它不是一個簡單的任務。本系列將介紹查找知足您需求的大數據解決方案所涉及的主要步驟。瀏覽器
咱們首先介紹術語 「大數據」 所描述的數據類型。爲了簡化各類大數據類型的複雜性,咱們依據各類參數對大數據進行了分類,爲任何大數據解決方案中涉及的各層和高級組件提供一個邏輯架構。接下來,咱們經過定義原子和複合分類模式,提出一種結構來分類大數據業務問題。這些模式有助於肯定要應用的合適的解決方案模式。咱們提供了來自各行各業的示例業務問題。最後,對於每一個組件和模式,咱們給出了提供了相關功能的產品。安全
第 1 部分將介紹如何對大數據進行分類。本系列的後續文章將介紹如下主題:網絡
回頁首數據結構
業務問題可分類爲不一樣的大數據問題類型。之後,咱們將使用此類型肯定合適的分類模式(原子或複合)和合適的大數據解決方案。但第一步是將業務問題映射到它的大數據類型。下表列出了常見的業務問題併爲每一個問題分配了一種大數據類型。架構
業務問題 | 大數據問題 | 描述 |
---|---|---|
公用事業:預測功耗 | 機器生成的數據 | 公用事業公司推出了智慧儀表,按每小時或更短的間隔按期測量水、自然氣和電力的消耗。這些智慧儀表生成了須要分析的大量間隔數據。 公用事業公司還運行着昂貴而又複雜的大型系統來發電。每一個電網包含監視電壓、電流、頻率和其餘重要操做特徵的複雜傳感器。 要提升操做效率,該公司必須監視傳感器所傳送的數據。大數據解決方案可使用智慧儀表分析發電(供應)和電力消耗(需求)數據。 |
電信:客戶流失分析 | Web 和社交數據 交易數據 |
電信運營商須要構建詳細的客戶流失模型(包含社交媒體和交易數據,好比 CDR),以跟上競爭形勢。 流失模型的值取決於客戶屬性的質量(客戶主數據,好比生日、性別、位置和收入)和客戶的社交行爲。 實現預測分析戰略的電信提供商可經過分析用戶的呼叫模式來管理和預測流失。 |
市場營銷:情緒分析 | Web 和社交數據 | 營銷部門使用 Twitter 源來執行情緒分析,以便肯定用戶對公司及其產品或服務的評價,尤爲是在一個新產品或版本發佈以後。 客戶情緒必須與客戶概要數據相集成,才能獲得有意義的結果。依據客戶的人口統計特徵,客戶反饋可能有所不一樣。 |
客戶服務:呼叫監視 | 人類生成的 | IT 部門正在依靠大數據解決方案來分析應用程序日誌,以便獲取可提升系統性能的洞察。來自各類應用程序供應商的日誌文件具備不一樣的格式;必須將它們標準化,而後 IT 部門才能使用它們。 |
零售:基於面部識別和社交媒體的個性化消息 | Web 和社交數據 生物識別 |
零售商可結合使用面部識別技術和來自社交媒體的照片,根據購買行爲和位置向客戶提供個性化的營銷信息。 此功能對零售商忠誠度計劃具備很大的影響,但它具備嚴格的隱私限制。零售商須要在實現這些應用程序以前進行適當的隱私披露。 |
零售和營銷:移動數據和基於位置的目標 | 機器生成的數據 交易數據 |
零售商可根據位置數據爲客戶提供特定的促銷活動和優惠券。解決方案一般旨在在用戶進入一個店鋪時檢測用戶的位置,或者經過 GPS 檢測用戶的位置。 位置數據與來自社交網絡的客戶偏好數據相結合,使零售商可以根據購買歷史記錄針對性地開展在線和店內營銷活動。通知是經過移動應用程序、SMS 和電子郵件提供的。 |
FSS、醫療保健:欺詐檢測 | 機器生成的數據 交易數據 人類生成的 |
欺詐管理可預測給定交易或客戶賬戶遇到欺詐的可能性。解決方案可實時分析事務,生成建議的當即執行的措施,這對阻止第三方欺詐、第一方欺詐和對賬戶特權的蓄意濫用相當重要。 解決方案一般旨在檢測和阻止多個行業的衆多欺詐和風險類型,其中包括:
|
按類型對大數據問題分類,更容易看到每種數據的特徵。這些特徵可幫助咱們瞭解如何獲取數據,如何將它處理爲合適的格式,以及新數據出現的頻率。來自不一樣來源的數據具備不一樣的特徵;例如,社交媒體數據包含不斷傳入的視頻、圖像和非結構化文本(好比博客文章)。
咱們依據這些常見特徵來評估數據,下一節將詳細介紹這些特徵:
按特定方向分析大數據的特徵會有所幫助,例如如下特徵:數據如何收集、分析和處理。對數據進行分類後,就能夠將它與合適的大數據模式匹配:
圖 1 描繪用於分類大數據的各類類別。定義大數據模式的關鍵類別已識別並在藍色方框中突出顯示。大數據模式(將在下一篇文章中定義)來自這些類別的組合。
在本系列剩餘部分中,咱們將介紹大數據解決方案的邏輯架構和各層,從訪問到使用大數據。咱們將提供數據源的完整列表,介紹專一於大數據解決方案的每一個重要方面的原子模式。咱們還將介紹複合模式,解釋可如何結合使用原子模式來解決特定的大數據用例。本系列最後將提供一些解決方案模式,在普遍使用的用例與各個產品之間創建對應關係。
感謝 Rakesh R. Shinde 在定義本系列的總體結構上提供的指導,以及對本系列的審閱和提供的寶貴評論。
在肯定投資大數據解決方案以前,評估可用於分析的數據;經過分析這些數據而得到的洞察;以及可用於定義、設計、建立和部署大數據平臺的資源。詢問正確的問題是一個不錯的起點。使用本文中的問題將指導您完成調查。答案將揭示該數據和您嘗試解決的問題的更多特徵。
儘管組織通常狀況對須要分析的數據類型有一些模糊的理解,但具體的細節極可能並不清晰。畢竟,數據可能具備以前未發現的模式的關鍵,一旦識別了一種模式,對額外分析的需求就會變得很明顯。要幫助揭示這些未知 的未知信息,首先須要實現一些基本用例,在此過程當中,能夠收集之前不可用的數據。構建數據存儲庫並收集更多數據後,數據科學家就可以更好地肯定關鍵的數據,更好地構建將生成更多洞察的預測和統計模型。
組織可能也已知道它有哪些信息是不知道的。要解決這些已知的未知,組織首先必須與數據科學家合做,識別外部或第三方數據源,實現一些依賴於此外部數據的用例。
本文首先嚐試回答大多數 CIO 在實施大數據舉措以前一般會提出的問題,而後,本文將重點介紹一種將幫助評估大數據解決方案對組織的可行性的基於維度的方法。
隨着大數據技術的到來,組織會問本身:「大數據是不是個人業務問題的正確解決方案,或者它是否爲我提供了業務機會?」大數據中是否隱藏着業務機會?如下是我從 CIO 那裏聽到的一些典型問題:
爲了回答這些問題,本文提出了一種依據下圖中所示的維度來評估大數據解決方案的可行性的結構化方法。
對於每一個維度,咱們都給出了一些關鍵問題。依據業務上下文,爲每一個維度分配一個權重和優先級。評估會因業務案例和組織的不一樣而有所不一樣。您能夠考慮在與相關的業務和 IT 利益相關者召開的一系列研討會中探討這些問題。
許多組織想知道,他們在尋找的業務洞察可否經過大數據解決方案解決。沒有權威的指南可以用來定義可從大數據獲取的洞察。具體場景須要由組織識別,並且這些場景在不斷演變。在肯定和識別在實現後會給企業帶來重大價值的業務用例和場景的過程當中,數據科學家起着相當重要的做用。
數據科學家必須可以理解關鍵績效指標,對數據應用統計算法和複雜算法來得到一個用例列表。用例因行業和業務不一樣而有所不一樣。研究市場競爭對手的行動、發揮做用的市場力量,以及客戶在尋找什麼,會頗有幫助。下表給出了來自各行各業的用例示例。
行業 | 示例用例 |
---|---|
電子商務和在線零售 | 電子零售商(好比 eBay)在不斷建立針對性產品來提升客戶終生價值 (CLV);提供一致的跨渠道客戶體驗;從銷售、營銷和其餘來源收穫客戶線索;並持續優化後端流程。
|
零售和專一於客戶 |
|
金融服務 |
|
欺詐檢測 | 欺詐管理可預測給定交易或客戶賬戶遇到欺詐的可能性,幫助提升客戶帶來的利潤。解決方案將會實時分析交易,生成當即行動建議,這對阻止第三方欺詐、第一方欺詐和賬戶特權的蓄意濫用相當重要。解決方案一般設計用於跨多個行業檢測和阻止各類各樣的欺詐和風險類型,這些類型包括:
|
Web 和數字媒體 | 咱們目前處理的許多數據是增多的社交媒體和數字營銷的直接後果。客戶生成一連串可挖掘並投入使用的 「數據廢氣」。
|
公共領域 |
|
健康和生命科學 |
|
電信 |
|
公用事業 | 公用事業公司運行大型、昂貴、複雜的系統來發電。每一個電網包含監視電壓、電流、頻率和其餘重要操做特徵的複雜傳感器。效率意味着密切關注從傳感器傳來的全部數據。 公用事業公司如今正利用 Hadoop 集羣來分析分析發電(供應)和電力消耗(需求)數據。 智慧儀表的採用致使史無前例的數據流洶涌而來。大多數公用事業公司都未作好充分準備在開啓儀表後分析該數據。 |
媒體 | 在有線行業,大型有線運營商(好比 Time Warner、Comcast 和 Cox Communications)天天均可以使用大數據來分析機頂盒數據。能夠利用此數據來調整廣告或促銷活動。 |
雜項 |
|
潛在的客戶正在社交網絡和評論站點上生成大量新數據。在企業內,隨着客戶切換到在線渠道來執行業務和與公司交互,交易數據和 Web 日誌與日俱增。
在有關現有客戶的歸檔數據的上下文中分析此新數據時,業務人員將得到對新業務機會的洞察。
主要知足如下條件,大數據可提供可行的解決方案:
評估經過大數據解決方案獲取的業務價值時,請考慮您當前的環境是否可擴展並權衡此投資的成本。
詢問如下問題,肯定您可否擴充現有的數據倉庫平臺?
若是任何這些問題的答案是 「是」,那麼您就能夠探索擴充現有數據倉庫環境的方式。
擴展示有數據倉庫平臺或 IT 環境與實現大數據解決方案的成本和可行性取決於:
它還依賴於將重新數據來源收集的數據量、業務用例的複雜性、處理的分析複雜性,以及獲取數據和擁有恰當技能集的人員的成本。現有的資源池可否開發新的大數據技能,或者是否可從外部僱傭擁有稀缺技能的人員?
請注意,大數據舉措會對其餘正在實施的項目產生影響。重新的來源獲取數據具備很高的成本。您首先應當識別系統和應用程序內部存在的數據,以及目前收到的第三方數據,這一點很重要。若是業務問題可使用現有數據解決,那麼有可能不須要使用來自外部來源的數據。
在生成新工具和應用程序以前,請評估組織的應用程序組合。例如,一個普通的 Hadoop 平臺可能沒法知足您的需求,您可能必須購買專業的工具。或者相對而言,Hadoop 的商業版本對當前用例而言可能很昂貴,但可能須要用做長期投資來支持一個戰略性的大數據平臺。考慮大數據工具和技術須要的基礎架構、硬件、軟件和維護的成本。
在決定是否實現一個大數據平臺時,組織可能會查看新數據源和新的數據元素類型,而這些信息當前的全部權還沒有明肯定義。一些行業制度會約束組織獲取和使用的數據。例如,在醫療行業,經過訪問患者數據來從中獲取洞察是否合法?相似的規則約束着全部行業。除了 IT 治理問題以外,組織的業務流程可能也須要從新定義和修改,讓組織可以獲取、存儲和訪問外部數據。
請在您的狀況的上下文中考慮如下治理相關問題:
大數據解決方案能夠採用增量方式實現。明確地定義業務問題的範圍,並以可度量的方式設置預期的業務收入提高,這樣作會頗有幫助。
對於基礎業務案例,請仔細列出問題的範圍和解決方案帶來的預期收益。若是該範圍過小,業務收益將沒法實現,若是範圍太大,得到資金和在恰當的期限內完成項目就會頗有挑戰性。在項目的第一次迭代中定義核心功能,以便可以輕鬆地贏得利益相關者的信任。
須要特定的技能來理解和分析需求,並維護大數據解決方案。這些技能包括行業知識、領域專長,以及有關大數據工具和技術的技術知識。擁有建模、統計、分析和數學方面的專業經驗的數據科學家,是任何大數據舉措成功的關鍵。
在實施一個新的大數據項目以前,確保已安排了合適的人員:
全部組織都擁有大量未用於獲取業務洞察的數據。這些數據包括日誌文件、錯誤文件和來自應用程序的操做數據。不要忽略此數據,它是寶貴信息的潛在來源。
查找數據複雜性增加的線索,尤爲是在數據量、種類、速度和真實性方面。
若是知足如下條件,您可能但願考慮大數據解決方案:
若是知足如下條件,各類各樣的數據可能都須要大數據解決方案:
考慮您的數據是否:
若是知足如下條件,那麼請考慮使用大數據解決方案:
若是數據的量、種類、速度或真實性具備合理的複雜性,那麼有可能會適合地採用大數據解決方案。對於更復雜的數據,須要評估與實現大數據解決方案關聯的任何風險。對於不太複雜的數據,則應該評估傳統的解決方案。
不是全部大數據情形都須要大數據解決方案。請在市場中尋找線索。競爭對手在作什麼?哪些市場力量在發揮做用?客戶想要什麼?
使用本文中的問題,幫助肯定大數據解決方案是否適合於您的業務情形和您須要的業務洞察。若是認爲是時候實施大數據項目了,請閱讀下一篇文章,其中會介紹如何定義一個邏輯架構,並且將會肯定您的大數據解決方案須要的關鍵組件。
這個 「大數據架構和模式」 系列的 第 2 部分 介紹了一種評估大數據解決方案可行性的基於維度的方法。若是您已經使用上一篇文章中的問題和提示分析了本身的狀況,而且已經決定開始構建新的(或更新現有的)大數據解決方案,那麼下一步就是識別定義項目的大數據解決方案所需的組件。
邏輯層提供了一種組織您的組件的方式。這些層提供了一種方法來組織執行特定功能的組件。這些層只是邏輯層;這並不意味着支持每層的功能在獨立的機器或獨立的進程上運行。大數據解決方案一般由如下邏輯層組成:
每一層包含多種組件類型,下面將會介紹這些類型。
此層包含全部必要的數據源,提供瞭解決業務問題所需的洞察。數據是結構化、半結構化和非結構化的數據,並且來自許多來源:
Web 應用程序和其餘數據來源擴充了企業擁有的數據。這些應用程序可以使用自定義的協議和機制來公開數據。
這些文檔能夠轉換爲可用於分析的結構化數據。文檔數據可公開爲領域實體,或者數據改動和存儲層可將它轉換爲領域實體。
由於傳入的數據可能具備不一樣的特徵,因此數據改動和存儲層中的組件必須可以以各類頻率、格式、大小和在各類通訊渠道上讀取數據:
這是從數據中提取業務洞察的層:
這一層使用了從分析應用程序獲取的業務洞察。分析的結果由組織內的各個用戶和組織外部的實體(好比客戶、供應商、合做夥伴和提供商)使用。此洞察可用於針對客戶提供產品營銷信息。例如,藉助從分析中獲取的洞察,公司可使用客戶偏好數據和位置感知,在客戶通過通道或店鋪時向他們提供個性化的營銷信息。
該洞察可用於檢測欺詐,實時攔截交易,並將它們與使用已存儲在企業中的數據構建的視圖進行關聯。在欺詐性交易發生時,能夠告知客戶可能存在欺詐,以便及時採起更正操做。
此外,能夠根據在數據改動層完成的分析來觸發業務流程。能夠啓動自動化的步驟 — 例如,若是客戶接受了一條可自動觸發的營銷信息,則須要建立一個新訂單,若是客戶報告了欺詐,那麼能夠觸發對信用卡使用的阻止。
分析的輸出也可由推薦引擎使用,該引擎可將客戶與他們喜歡的產品相匹配。推薦引擎分析可用的信息,並提供個性化且實時的推薦。
使用層還爲內部用戶提供了理解、找到和導航企業內外的鏈鎖信息的能力。對於內部使用者,爲業務用戶構建報告和儀表板的能力使得利益相關者可以制定精明的決策並設計恰當的戰略。爲了提升操做有效性,能夠從數據中生成實時業務警告,並且能夠監視操做性的關鍵績效指標:
影響邏輯層(大數據來源、數據改動和存儲、分析和使用層)的全部組件的各方面都包含在垂直層中:
大數據應用程序從各類數據起源、提供程序和數據源獲取數據,並存儲在 HDFS、NoSQL 和 MongoDB 等數據存儲系統中。這個垂直層可供各類組件使用(例如數據獲取、數據整理、模型管理和交易攔截器),負責鏈接到各類數據源。集成將具備不一樣特徵(例如協議和鏈接性)的數據源的信息,須要高質量的鏈接器和適配器。可使用加速器鏈接到大多數已知和普遍使用的來源。這些加速器包括社交媒體適配器和天氣數據適配器。各類組件還可使用這一層在大數據存儲中存儲信息,從大數據存儲中檢索信息,以便處理這些信息。大多數大數據存儲都提供了服務和 API 來存儲和檢索該信息。
數據治理涉及到定義指南來幫助企業制定有關數據的正確決策。大數據治理有助於處理企業內或從外部來源傳入的數據的複雜性、量和種類。在將數據傳入企業進行處理、存儲、分析和清除或歸檔時,須要強有力的指南和流程來監視、構建、存儲和保護數據。
除了正常的數據治理考慮因素以外,大數據治理還包含其餘因素:
此層複雜定義數據質量、圍繞隱私和安全性的策略、數據頻率、每次抓取的數據大小和數據過濾器:
系統管理對大數據相當重要,由於它涉及到跨企業集羣和邊界的許多系統。對整個大數據生態系統的健康的監視包括:
對開發人員而言,層提供了一種對大數據解決方案必須執行的功能進行分類的途徑,爲組織建議必需執行這些功能所需的代碼。可是,對於想要從大數據獲取洞察的業務用戶,考慮大數據需求和範圍一般會有所幫助。原子模式解決了訪問、處理、存儲和使用大數據的機制,爲業務用戶提供了一種解決需求和範圍的途徑。下一篇文章將介紹用於此用途的原子模式。
本系列的 第 3 部分 介紹了大數據解決方案的邏輯層。這些層定義了各類組件,並對它們進行分類,這些組件必須處理某個給定業務用例的功能性和非功能性需求。本文基於層和組件的概念,介紹瞭解決方案中所用的典型原子模式和複合模式。經過將所提出的解決方案映射到此處提供的模式,讓用戶瞭解須要如何設計組件,以及從功能角度考慮,應該將它們放置在何處。模式有助於定義大數據解決方案的架構。利用原子模式和複合模式能夠幫助進一步完善大數據解決方案的每一個組件的角色和責任。
本文介紹原子模式和複合模式。本系列的最後一篇文章將介紹解決方案模式。
對於大數據上下文中常常出現的問題,原子模式 有助於識別數據如何是被使用、處理、存儲和訪問的。它們還有助於識別所需的組件。訪問、存儲和處理來自不一樣數據源的多種數據須要不一樣的方法。每種模式都用於知足特定的需求:例如,可視化、歷史數據分析、社交媒體數據和非結構化數據的存儲。能夠將多種原子模式結合使用,組成一個複合模式。這些原子模式沒有進行分層或排序。例如,可視化模式能夠與社交媒體的數據訪問模式直接交互,可視化模式還能夠與高級分析處理模式進行交互。
這種類型的模式處理使用數據分析結果的各類方式。本節包括的數據使用模式能夠知足幾個需求。
可視化數據的傳統方式以圖表、儀表板和摘要報告爲基礎。這些傳統的方法並不老是用來可視化數據的最佳方式。
大數據可視化的典型需求(包括新出現的需求)以下所示:
正在進行研究,以肯定人類和機器如何使用大數據洞察。這些挑戰包括所涉及的數據量,而且須要將數據與上下文相關聯。必須在適當的上下文中顯示洞察。
可視化數據的目的是爲了更容易、更直觀地使用數據,所以報告和儀表板可能提供全高清的觀看效果和 3-D 互動視頻,而且能夠爲用戶提供使用應用程序控制業務活動和結果的能力。
建立知足全部業務需求的標準報告每每是不可行的,由於企業的業務數據查詢會有不一樣的需求。用戶在查找特定信息時,可能須要得到根據問題的上下文執行即席查詢的能力。
即席分析能夠幫助數據科學家和關鍵業務用戶瞭解業務數據的行爲。即席處理中涉及的複雜性來自多種因素:
在大數據的初步探索中,許多企業選擇使用現有的分析平臺來下降成本,並依賴於現有的技能。增強現有的數據存儲有助於拓寬可用於現有分析的數據的範圍,包括駐留在組織邊界內外的數據,好比社交媒體數據,它能夠豐富主數據。經過拓寬數據範圍,使之包含現有存儲中的新事實表、維度和主數據,並從社交媒體獲取客戶數據,組織能夠得到更深刻的客戶洞察。
但要牢記的是,新的數據集一般比較大,而現有的提取、轉換和加載工具可能不足以處理它。您可能須要使用具備大規模並行處理能力的高級工具來解決數據的數量、多樣性、真實性和速度特徵。
大數據洞察令人類、企業和機器能夠經過使用事件通知而當即採起行動。通知平臺必須可以處理及時發送出去的預計數量的通知。這些通知與大量郵件或羣發短信不一樣,由於內容通常是特定於使用者的。例如,推薦引擎能夠提供有關世界各地的龐大客戶羣的洞察,並且能夠將通知發送給這樣的客戶。
從大數據得到的業務洞察,可用於觸發或啓動其餘業務流程或事務。
不管數據是處於靜止狀態仍是在運動中,均可以處理大數據。具體狀況取決於分析的複雜性,有可能不須要對數據進行實時處理。這種模式解決了對大數據進行實時、近實時或批量處理的方式。
如下高級的大數據處理類別適用於大多數分析。這些類別一般也適用於基於 RDBMS 的傳統系統。唯一的區別是龐大規模的數據、多樣性和速度。在處理大數據時,要使用機器學習、復瑣事件處理、事件流處理、決策管理和統計模型管理等技術。
傳統的歷史數據分析僅限於預約義的數據時間段,這一般取決於數據保留策略。因爲處理和存儲的限制,超出此時間段的數據一般會被歸檔或清除。基於 Hadoop 的系統和其餘等效的系統能夠克服這些限制,由於它們具備豐富的存儲以及分佈式大規模並行處理能力。運營、業務和數據倉庫的數據被移動到大數據存儲,您經過使用大數據平臺功能對它們進行處理。
歷史分析包括分析給定時間段、季節組合和產品的歷史趨勢,並與最新的可用數據進行比較。爲了可以存儲和處理如此龐大的數據,您可使用 HDFS、NoSQL、SPSS® 和 InfoSphere® BigInsights™。
大數據提供了不少實現創意洞察的機會。不一樣的數據集能夠在多種上下文中存在關聯。發現這些關係須要創新的複雜算法和技術。
高級分析包括預測、決策、推理過程、模擬、上下文信息標識和實體解析。高級分析的應用包括生物統計數據分析(例如,DNA 分析)、空間分析、基於位置的分析、科學分析、研究,等等。高級分析要求大量的計算來管理大量的數據。
數據科學家能夠指導您識別合適的技術、算法和數據集,以及在給定上下文中解決問題所需的數據源。好比 SPSS、InfoSphere Streams 和 InfoSphere BigInsights 等工具提供了這類功能。這些工具訪問存儲在大數據存儲系統(好比 BigTable、HBase,等等)中的非結構化數據和結構化數據(例如,JSON 數據)。
大數據解決方案主要由基於 MapReduce 的 Hadoop 系統和技術組成,MapReduce 是開箱即用的分佈式存儲和處理解決方案。然而,從非結構化數據提取數據(例如,圖像、音頻、視頻、二進制提要,甚至是文本)是一項複雜的任務,須要具備機器學習能力並掌握天然語言處理等技術。另外一個主要挑戰是如何驗證這些技術和算法的輸出的準確度和正確性。
要對任何數據執行分析,數據都必須是某種結構化格式。從多個數據源訪問的非結構化數據能夠按原樣存儲,而後被轉化成結構化數據(例如 JSON),並被再次存儲到大數據存儲系統中。非結構化文本能夠轉換成半結構化或結構化數據。一樣,圖像、音頻和視頻數據須要轉換成可用於分析的格式。此外,使用預測和統計算法的高級分析的準確性和正確性取決於用來訓練其模型的數據和算法的數量。
下面的列表顯示了將非結構化數據轉換成結構化數據所需的算法和活動:
數據科學家能夠幫助用戶選擇合適的技術和算法。
處理大數據的即席查詢所帶來的挑戰不一樣於對結構化數據執行即席查詢時所面臨的挑戰,因爲數據源和數據格式不是固定的,因此須要使用不一樣的機制來檢索和處理數據。
雖然大數據供應商能夠處理簡單的即席查詢,但在大多數狀況下,查詢是複雜的,由於必須在運行時動態地發現數據、算法、格式和實體解析。因此須要利用數據科學家和業務用戶的專業知識來定義下列任務所需的分析:
在大數據解決方案中,有許多數據源,還有不少訪問數據的方式,本節將介紹最多見的幾種。
Internet 是提供許多目前能夠得到的洞察的數據源。在幾乎全部分析中,都會用到 Web 和社交媒體,但得到這種數據須要不一樣的訪問機制。
在全部數據源中,由於 Web 和社交媒體的多樣性、速度和數量,因此 Web 和社交媒體是最爲複雜的。網站大約有 40-50 個類別,每個類別都須要使用不一樣的方式來訪問數據。本節將列出這些類別,並介紹一些訪問機制。從大數據的角度講,高級的類別是商業站點、社交媒體站點,以及具備特定和通用組件的站點。有關的訪問機制見圖 3。若是須要的話,在完成預處理後,可將所訪問的數據存儲在數據存儲中。
須要執行如下步驟來訪問 Web 媒體信息。
如圖所示,數據能夠直接存儲在存儲器中,或者能夠對它們進行預處理,並將它們轉換成一箇中間格式或標準格式,而後再存儲它們。
在能夠分析數據以前,數據格式必須可用於實體解析或用於查詢所需數據。這種通過預處理的數據能夠存儲在一個存儲系統中。
雖然預處理一般被認爲是微不足道的,但這項處理可能很是複雜和耗時。
設備生成的內容包括來自傳感器的數據數據是從天氣信息、電氣儀表和污染數據等數據來源檢測到的,而且由傳感器捕獲。這些數據能夠是照片、視頻、文本和其餘二進制格式。
下圖說明了處理機器生成的數據的典型過程。
圖 5 說明了訪問來自傳感器的數據的過程。由傳感器捕獲的數據能夠發送到設備網關,設備網關會對數據執行一些初始預處理,並緩衝高速數據。機器生成的數據大多爲二進制格式(音頻、視頻和傳感器讀數)或文本格式。這樣的數據最初能夠存儲在存儲系統中,也能夠對它們進行預處理,而後再存儲它們。對於分析來講,要求執行預處理。
能夠存儲現有的事務、運營和倉庫數據,避免清除或歸檔數據(由於存儲和處理的限制),或減小在數據被其餘使用者訪問時對傳統存儲的負載。
對於大多數企業而言,事務、運營、主數據和倉庫信息都是全部分析的核心。若是用在 Internet 上,或者經過傳感器和智能設備提供的非結構化數據以及外部數據來加強此數據,那麼能夠幫助組織得到準確的洞察,並執行高級分析。
使用由多個數據庫廠商提供的標準鏈接器,事務和倉庫數據能夠被推入存儲。預處理事務性數據要容易得多,由於數據大可能是結構化的。可使用簡單的提取、轉換和加載流程將事務數據移動到存儲中。事務數據能夠很容易地轉換成 JSON 和 CSV 等格式。使用 Sqoop 等工具能夠更容易將事務數據推入存儲系統,如 HBase 和 HDFS。
存儲模式有助於肯定適當的存儲各類數據的類型和格式。數據能夠按原樣存儲,根據鍵值對存儲,或者以預約義的格式存儲。
分佈式文件系統(如 GFS 和 HDFS)都可以存儲任何類型的數據。可是,高效地檢索或查詢數據的能力會影響性能。技術的選擇很重要。
大部分大數據是非結構化數據,並且能夠經過不一樣的方式針對不一樣的上下文提取它所擁有的信息。大多數時候,非結構化數據必須按原樣並以其原始格式進行存儲。
這樣的數據能夠存儲在分佈式文件系統(如 HDFS)和 NoSQL 文檔存儲(如 MongoDB)中。這些系統提供了檢索非結構化數據的有效方法。
結構化數據包括從數據源到達的已是結構化格式的數據,以及通過預處理,被轉換爲 JSON 數據等格式的非結構化數據。必須存儲已通過轉換的數據,避免從原始數據到結構化數據的頻繁數據轉換。
可使用 Google 的 BigTable 等技術來存儲結構化數據。BigTable 是一個大規模容錯式自我管理系統,包括 TB 級的內存和 PB 級的存儲。
Hadoop 中的 HBase 可媲美 BigTable。它使用了 HDFS 做爲底層存儲。
對於存儲大數據而言,傳統的數據存儲並非最佳選擇,但在企業執行初步數據探索的狀況下,企業可能會選擇使用現有的數據倉庫、RDBMS 系統和其餘內容存儲。這些現有的存儲系統可用來存儲使用大數據平臺消化和過濾的數據。不要認爲傳統的數據存儲系統適用於大數據。
許多雲計算基礎架構供應商都有分佈式結構化、非結構化的存儲能力。從傳統的配置、維護、系統管理、編程和建模角度講,大數據技術有點不一樣。此外,實現大數據解決方案所需的技能既罕見又昂貴。探索大數據技術的企業可使用雲解決方案來提供大數據的存儲、維護和系統管理。
要存儲的數據每每是敏感數據,這些數據包括醫療記錄和生物特徵數據。您須要考慮數據安全性、數據共享、數據治理,以及有關數據的其餘政策,在考慮將雲做爲大數據存儲庫的時候尤爲如此。傳輸大量數據的能力也是雲存儲的另外一個重要考慮因素。
原子模式 側重於提供執行各項功能所需的能力。可是,複合模式 是基於端到端的解決方案進行分類的。每一個複合模式都要考慮一個或多個維度。在將複合模式應用到每一個模式時,會有許多變化。能夠將複合模式映射到一個或多個原子模式,以解決某個給定的業務問題。本文所述的複合模式列表是基於常常發生的典型業務問題,但這不是複合模式的完整列表。
若是業務問題須要存儲大量新數據和現有數據,並且先前因爲缺少足夠的存儲和分析能力而一直未使用這些數據,那麼這種模式就很是有用。該模式旨在緩解對現有數據存儲的負載。所存儲的數據可用於初始勘探和即席發現。用戶能夠推演報告,經過進一步的處理來分析數據的質量和價值。您可使用 ETL 工具來預處理和淨化原始數據,而後再進行任何類型的分析。
圖 6 說明了這種模式的多個維度。數據的使用目的可能只是存儲它,或處理和使用它。
僅存儲的示例是,數據的獲取和存儲只是爲了未來可以知足合規性或法律的要求。在處理和使用的狀況下,分析的結果能夠被處理和使用。能夠從最近發現的來源或從現有的數據存儲訪問數據。
使用此模式的狀況是,使用多種處理技術執行分析,所以,能夠用新洞察豐富現有數據,或建立可由各類用戶使用的輸出。該分析能夠在事件發生的同時實時發生,或使用批量模式,根據收集到的數據得到洞察。做爲能夠分析的靜態數據的示例,某電信公司可能構建客戶流失模型,包括分析呼叫數據記錄、社交數據和事務數據。做爲分析運動數據的示例,預測某個給定事務正在經歷欺詐的需求必須實時或近實時地發生。
圖 7 說明了這種模式的多個維度。所執行的處理能夠是標準的或預測性的,而且能夠包括決策。
此外,能夠將通知發送給與特定任務或消息有關的系統或用戶。該通知可使用可視化功能。該處理可實時發生或以批量模式發生。
大數據解決方案的最高級形式是,對數據集執行分析,而且基於可重複的過去的行動或行動矩陣來暗示行動。該操做能夠是手動、半自動或全自動的。基礎分析須要高度準確。行動是預約義的,分析的結果被映射到行動。可操做分析中所涉及的典型步驟是:
圖 8 說明該分析能夠是手動、半自動或全自動的。如圖中的說明所示,它使用了原子模式。
手動操做 意味着系統基於分析的結果來提供建議操做,並由人類決定和執行操做。半自動 意味着,分析建議操做,但不須要經過人類干預來啓動操做,或從一組建議的操做中進行選擇。全自動 表示在決策以後,系統當即執行操做。例如,在設備被預測會發生故障以後,系統能夠自動建立一個工做訂單。
下面的矩陣顯示瞭如何將原子模式映射到複合模式,複合模式是原子模式的組合。每一個複合模式都被設計爲針對具備一組特定特徵的數據在特定狀況下使用。矩陣顯示了模式的典型組合。必須對模式進行調整,以知足特定的狀況和需求。在矩陣中,按照從最簡單到最複雜的順序列出了複合模式。「store and explore(存儲和探索)」模式是最簡單的。
採用基於模式的方法能夠幫助業務團隊和技術團隊在解決方案的首要目標上達成一致意見。技術團隊可使用模式定義架構性原則,並制定一些關鍵架構決策。技術團隊能夠將這些模式應用到架構層,並導出實現解決方案所需的組件集。一般狀況下,解決方案從有限的範圍開始,而後企業會變得愈來愈有信心,相信解決方案會帶來價值。隨着演變的發生,與解決方案一致的複合模式與原子模式將會獲得細化。在初始階段,可使用模式來定義一個基於模式的架構,並映射出在該架構中如何逐步設計組件。
在本系列的 第 2 部分 中,咱們描述了與大數據有關的複雜性,以及如何肯定是否應實現或更新您的大數據解決方案。在本文中,咱們討論了原子模式和複合模式,並解釋了一個解決方案能夠由多種模式組成。給定一個特定的上下文,您可能會發現某些模式是比其餘模式更合適。咱們建議您採用端到端的解決方案視圖,並考慮所涉及的模式,而後定義大數據解決方案的架構。
對於架構師和設計師,映射到模式能夠支持對架構中各組件的責任進一步細化。對於業務用戶而言,它一般有助於更好地理解大數據問題的業務範圍,從而得到有價值的洞察,讓解決方案知足所指望的結果。
此外,解決方案模式有助於定義最優的組件集,根據業務問題是否須要使用數據發現和探索功能、專用和可預測的分析或者可操做的分析。請記住,在實現一個解決方案時,並無建議的原子、複合或解決方案模式的順序或次序。在本系列的下一篇文章中,將針對此用途介紹解決方案模式。
本系列的 第 3 部分 描述了針對最多見的、常常發生的大數據問題及其解決方案的原子模式和複合模式。本文將推薦能夠用於架構大數據解決方案的三個解決方案模式。每一個解決方案模式都使用了一個複合模式,該模式由邏輯組件構成(參見第 3 部分的介紹)。在本文末尾處,列出了產品和工具清單,它們可映射到每個解決方案模式的組件。
如下各節將介紹能夠用於架構大數據解決方案的三個解決方案模式。爲了說明這些模式,咱們將它們應用到特定的用例(例如,如何檢測醫療保險欺詐),但這些模式能夠用於解決其餘許多業務場景。每一個解決方案模式都利用了一個複合模式的優點。在下表中,列出了本文介紹的解決方案模式,以及做爲其基礎的複合模式。
解決方案模式 | 複合模式 |
---|---|
入門 | 存儲和探索 |
得到高級業務洞察 | 專用和預測分析 |
採起下一個最佳行動 | 可操做的分析 |
財務欺詐對金融業的全部領域都帶來了巨大的風險。在美國,保險公司每一年要損失數十億美圓。在印度,僅僅是 2011 年的虧損總額就達到 3000 億印度盧比。除了經濟損失,保險公司還會失去一些業務,由於客戶感到不滿意。雖然許多保險監管機構已經定義了框架和流程來控制欺詐行爲,但他們每每只是對欺詐作出反應,而不是採起主動措施來預防它們。傳統的方法(如循環列入黑名單的客戶、保險代理人和員工)並不能解決欺詐問題。
本文爲大數據解決方案提出了一種解決方案模式,以本系列的第 3 部分中介紹的邏輯架構以及 第 4 部分 中介紹的複合模式爲基礎。
保險欺詐是爲了讓作出欺詐的當事人或其餘關聯方得到不正當或非法的好處的行爲或疏忽。欺詐行爲的種類包括:
保險監管委員會已經創建了反欺詐政策,其中包括明肯定義的欺詐行爲監控流程、搜索潛在的欺詐指標(併發佈列表)的流程,以及與執法部門協調的流程。保險公司配置了專門分析欺詐索賠的工做人員。
保險監管機構已明肯定義了欺詐檢測和緩解的流程。傳統的解決方案使用的模型基於歷史欺詐數據、被列入黑名單的客戶和保險代理人,以及有關特定於領域的欺詐的數據。可用於檢測欺詐的數據被局制於給定保險公司的 IT 系統和一些外部源。
目前的欺詐檢測流程大可能是手工的,只能處理有限的數據集。保險公司可能沒法調查全部指標。一般很遲才檢測到欺詐,並且保險公司很難對每一個欺詐案例都進行適當的跟進。
目前的欺詐檢測依賴於對現有欺詐案件的已知狀況,因此每一種新型詐騙發生時,保險公司都不得不承擔第一次的損失。最傳統的方法在一個特定的數據源內工做,沒法容納不斷增加的各類不一樣來源的數據。大數據解決方案能夠幫助解決這些挑戰,並在保險公司的欺詐檢測中發揮重要做用。
該解決方案模式基於存儲和探索複合模式。它集中處理數據的得到並存儲來自企業內部或外部的不一樣來源的相關數據。在圖 1 所示的數據源只是一個示例;領域專家能夠識別適當的數據源。
由於必須收集、存儲和處理來自多個來源的大量不一樣數據,此業務挑戰是大數據解決方案的良好候選場景。
下圖顯示瞭解決方案模式,它映射到了在 第 3 部分 中介紹過的邏輯架構。
圖 1 使用如下數據提供者:
醫療保健欺詐檢測所需的數據能夠從不一樣的數據源和系統中得到,好比銀行、醫療機構、社交媒體和 Internet 機構。這些數據包括來自博客、社交媒體、新聞機構、各機構的報告,以及 X 光報告等來源的非結構化數據。更多示例請參見圖 1 中的數據源層。利用大數據分析,這些不一樣來源的信息可相互關聯和組合,而且被分析(在已定義規則的幫助下),以肯定欺詐的可能性。
在這種模式中,所需的外部數據是從數據供應者那裏得到的,他們貢獻通過預處理的非結構化數據,這些數據已被轉化爲結構化或半結構化數據。在通過初始預處理後,這些數據被存儲在大數據存儲中。下一步是找出可能的實體,並從數據生成即席報告。
實體識別是在數據中識別命名元素的任務。識別分析所需的全部實體必須都被識別出來,包括那些與其餘實體沒有關係的鬆散實體。實體識別主要由數據科學家和業務分析師執行。實體解析能夠像根據數據關係和上下文識別單一實體或複雜實體同樣簡單。此模式使用了簡單形式的實體解析組件。
您能夠簡單地將結構化數據轉換成最適合於分析的格式,並直接存儲在大數據結構化存儲中。
能夠在此數據上執行即席查詢,以得到相關信息:
顧名思義,組織通常採用這種模式開始使用大數據。組織採用探索式方法,根據可用的數據評估能夠生成什麼樣的洞察。在這個階段,組織通常不會對高級分析技術進行投資,好比機器學習、特徵提取和文本分析。
這種模式比入門模式更高級。它在索賠處理的三個階段預測欺詐:
對於前兩種狀況,能夠批量處理索賠,並且能夠啓動欺詐檢測流程,它多是常規報告流程的一部分,也能夠由業務請求啓動。第 3 種狀況能夠近實時地進行處理。索賠請求攔截器會攔截索賠請求,啓動欺詐檢測流程(若是指示器報告這多是一個欺詐案件),而後通知在系統中識別的利益相關者。越早檢測到欺詐,風險或損失的嚴重性就會越低。
圖 2 使用:
在這個模式中,組織能夠在分析以前選擇對非結構化數據進行預處理。
數據被獲取並按原樣存儲在非結構化數據存儲中。而後,它被預處理成能夠被分析層使用的格式。有時,預處理可能會很是複雜和費時。您可使用機器學習技術進行文本分析,Hadoop Image Processing Framework 對於處理圖像頗有用。最廣泛使用的技術是 JSON。通過預處理的數據隨後被存儲在結構化數據存儲中,如 HBase。
此模式的核心組件是欺詐檢測引擎,由高級分析功能構成,能夠幫助預測欺詐。被明肯定義並常常更新的欺詐指標有助於識別欺詐行爲。下面欺詐指標能夠幫助檢測欺詐,而且可使用技術來實現打擊欺詐行爲的系統。下面是常見欺詐指標的列表:
僅使用傳統方法不足以預測詐騙。用戶還須要使用社交網絡分析來檢測持牌及非持牌醫療服務提供者之間的聯繫,並檢測保單持有人、醫療機構、聯營公司、供應商與合做夥伴之間的關係。驗證文件的真僞,並找到我的的信用評分,這是用傳統方法難以完成的艱鉅任務。
在分析過程當中,對全部這些指標的搜索可能會在龐大數量的數據上同時發生。每個指標都被加權。全部指標的加權總值表示預測欺詐的準確性和嚴重程度。
在分析完成後,能夠向相關利益方發送警報和通知,而且能夠生成報表,以顯示分析結果。
此模式適合於須要使用大數據進行高級分析的企業,包括進行復雜的預處理,以利用先進的技術(如特徵提取、實體解析、文本分析、機器學習和預測分析)能夠進行分析的形式存儲數據。這種模式不涉及採起任何行動或根據分析的輸出提供建議。
在關於得到高級業務洞察的解決方案模式中所作的欺詐預測一般致使應採起特定行動,例如拒絕索賠,或暫緩賠償,直至收到進一步的澄清和信息,或報告它,以採起法律行動。在這種模式中,爲預測的每一個結果定義了行動。這個行動對結果(action-to-outcome)的表被稱爲行動決策矩陣。
圖 3 使用:
一般能夠採起 3 種行動:
此模式適合於須要使用大數據進行高級分析的企業。此模式使用高級功能來檢測欺詐行爲,通知並提醒相關利益方,啓動自動工做流,根據處理的結果採起行動。
下圖顯示了大數據軟件如何映射到第 3 部分中所描述的邏輯架構的各個組件。這些產品、技術或解決方案能夠在大數據解決方案中使用;必須根據您本身的需求和環境來決定選擇用於部署的工具。
圖 4 顯示了大數據設備,如 IBM PureData™ System for Hadoop 和 IBM PureData System for Analytics,它們跨越多個層次。這些設備具備內置的可視化、內置的分析加速器,以及單一系統控制檯等特性。使用設備有不少優勢。(請參閱 參考資料,瞭解有關 IBM PureData System for Hadoop 的更多信息。)
與傳統方法相比,使用大數據分析來檢測欺詐具備多種優點。保險公司能夠構建包含全部相關數據源的系統。一個一應俱全的系統有助於檢測不常見的欺詐案件。預測模型等技術能夠深刻分析欺詐實例,篩選明顯的案例,並參照低發欺詐案件執行進一步分析。
大數據解決方案還能夠幫助創建整個企業的反欺詐工做的全局視角。經過連接組織內的關聯信息,全局視角每每致使更好的欺詐檢測。欺詐行爲能夠在多個起源點發生:理賠、保險退保、繳費、申請新的保單,或者與員工相關的欺詐或第三方欺詐。各類來源的數據相結合能夠實現更好的預測。
分析技術使組織可以從非結構化數據中提取重要信息。雖然大量結構化信息存儲在數據倉庫中,大多數關於欺詐的關鍵信息都是非結構化數據,好比第三方報告,它們不多被分析。在大多數保險機構中,社交媒體數據沒有被正確地存儲或分析。
利用基於保險行業中的識別欺詐用例的業務場景,本文介紹了複雜性各不相同的幾種解決方案模式。最簡單的模式解決來自不一樣來源的數據的存儲,並執行一些初步的探索。最複雜的模式涵蓋如何從數據中得到洞察,並根據分析採起行動。
每個業務場景都被映射到組成解決方案模式的相應原子模式和複合模式。架構師和設計師能夠應用解決方案模式來定義高級的解決方案,以及相應的大數據解決方案的功能組件。