天天看點

了解用于大資料解決方案的邏輯層

文中介紹的模式有助于定義大資料解決方案的參數。本文将介紹最常見的和經常發生的大資料問題以及它們的解決方案。原子模式描述了使用、處理、通路和存儲大資料的典型方法。複合模式由原子模式組成,并根據大資料解決方案的範圍進行分類。由于每個複合模式都有若幹個次元,是以每個模式都有許多變化。複合模式使得業務和技術使用者可以應用一個結構化方法為大資料問題建立範圍,并定義進階的解決方案。

簡介

本系列的 第 3 部分

介紹了大資料解決方案的邏輯層。這些層定義了各種元件,并對它們進行分類,這些元件必須處理某個給定業務用例的功能性和非功能性需求。本文基于層群組件的概念,介紹了解決方案中所用的典型原子模式和複合模式。通過将所提出的解決方案映射到此處提供的模式,讓使用者了解需要如何設計元件,以及從功能角度考慮,應該将它們放置在何處。模式有助于定義大資料解決方案的架構。利用原子模式和複合模式可以幫助進一步完善大資料解決方案的每個元件的角色和責任。

本文介紹原子模式和複合模式。本系列的最後一篇文章将介紹解決方案模式。

圖 1. 模式的類别

原子模式

對于大資料上下文中經常出現的問題,原子模式

有助于識别資料如何是被使用、處理、存儲和通路的。它們還有助于識别所需的元件。通路、存儲和處理來自不同資料源的多種資料需要不同的方法。每種模式都用于滿足特定的需求:例如,可視化、曆史資料分析、社交媒體資料和非結構化資料的存儲。可以将多種原子模式結合使用,組成一個複合模式。這些原子模式沒有進行分層或排序。例如,可視化模式可以與社交媒體的資料通路模式直接互動,可視化模式還可以與進階分析處理模式進行互動。

圖 2. 用于資料使用、處理、資料通路和存儲的原子模式的示例

資料使用模式

這種類型的模式處理使用資料分析結果的各種方式。本節包括的資料使用模式可以滿足幾個需求。

可視化模式

可視化資料的傳統方式以圖表、儀表闆和摘要報告為基礎。這些傳統的方法并不總是用來可視化資料的最佳方式。

大資料可視化的典型需求(包括新出現的需求)如下所示:

執行流資料的實時分析和顯示基于上下文,以互動方式挖掘資料執行進階搜尋,并獲得建議并行可視化資訊獲得先進的硬體,支援未來的可視化需求正在進行研究,以确定人類和機器如何使用大資料洞察。這些挑戰包括所涉及的資料量,并且需要将資料與上下文相關聯。必須在适當的上下文中顯示洞察。

可視化資料的目的是為了更容易、更直覺地使用資料,是以報告和儀表闆可能提供全高清的觀看效果和 3-D

互動視訊,并且可以為使用者提供使用應用程式控制業務活動和結果的能力。

即席發現模式

建立滿足所有業務需求的标準報告往往是不可行的,因為企業的業務資料查詢會有不同的需求。使用者在查找特定資訊時,可能需要獲得根據問題的上下文執行即席查詢的能力。

即席分析可以幫助資料科學家和關鍵業務使用者了解業務資料的行為。即席進行中涉及的複雜性來自多種因素:

多個資料源可用于相同的域。單一的查詢可以有多個結果。輸出可以是靜态的,并具有多種格式(視訊、音頻、圖形和文本)。輸出可以是動态和互動式的。加強傳統的資料存儲

在大資料的初步探索中,許多企業選擇使用現有的分析平台來降低成本,并依賴于現有的技能。加強現有的資料存儲有助于拓寬可用于現有分析的資料的範圍,包括駐留在組織邊界内外的資料,比如社交媒體資料,它可以豐富主資料。通過拓寬資料範圍,使之包含現有存儲中的新事實表、次元和主資料,并從社交媒體擷取客戶資料,組織可以獲得更深入的客戶洞察。

但要牢記的是,新的資料集通常比較大,而現有的提取、轉換和加載工具可能不足以處理它。您可能需要使用具有大規模并行處理能力的進階工具來解決資料的數量、多樣性、真實性和速度特征。

通知模式

大資料洞察使人類、企業和機器可以通過使用事件通知而立即采取行動。通知平台必須能夠處理及時發送出去的預計數量的通知。這些通知與大量郵件或群發短信不同,因為内容一般是特定于使用者的。例如,推薦引擎可以提供有關世界各地的龐大客戶群的洞察,而且可以将通知發送給這樣的客戶。

啟動一個自動響應模式

從大資料獲得的業務洞察,可用于觸發或啟動其他業務流程或事務。

處理模式

無論資料是處于靜止狀态還是在運動中,都可以處理大資料。具體情況取決于分析的複雜性,有可能不需要對資料進行實時處理。這種模式解決了對大資料進行實時、近實時或批量處理的方式。

以下進階的大資料處理類别适用于大多數分析。這些類别通常也适用于基于 RDBMS

的傳統系統。惟一的差別是龐大規模的資料、多樣性和速度。在處理大資料時,要使用機器學習、複雜事件處理、事件流處理、決策管理和統計模型管理等技術。

曆史資料分析模式

傳統的曆史資料分析僅限于預定義的資料時間段,這通常取決于資料保留政策。由于處理和存儲的限制,超出此時間段的資料通常會被歸檔或清除。基于 Hadoop

的系統和其他等效的系統可以克服這些限制,因為它們具有豐富的存儲以及分布式大規模并行處理能力。營運、業務和資料倉庫的資料被移動到大資料存儲,您通過使用大資料平台功能對它們進行處理。

曆史分析包括分析給定時間段、季節組合和産品的曆史趨勢,并與最新的可用資料進行比較。為了能夠存儲和處理如此龐大的資料,您可以使用

HDFS、NoSQL、SPSS? 和 InfoSphere? BigInsights?。

進階分析模式

大資料提供了很多實作創意洞察的機會。不同的資料集可以在多種上下文中存在關聯。發現這些關系需要創新的複雜算法和技術。

進階分析包括預測、決策、推理過程、模拟、上下文資訊辨別和實體解析。進階分析的應用包括生物統計資料分析(例如,DNA

分析)、空間分析、基于位置的分析、科學分析、研究,等等。進階分析要求大量的計算來管理大量的資料。

資料科學家可以指導您識别合适的技術、算法和資料集,以及在給定上下文中解決問題所需的資料源。比如 SPSS、InfoSphere Streams 和

InfoSphere BigInsights 等工具提供了這類功能。這些工具通路存儲在大資料存儲系統(比如

BigTable、HBase,等等)中的非結構化資料和結構化資料(例如,JSON 資料)。

預處理原始資料模式

大資料解決方案主要由基于 MapReduce 的 Hadoop 系統和技術組成,MapReduce

是開箱即用的分布式存儲和處了解決方案。然而,從非結構化資料提取資料(例如,圖像、音頻、視訊、二進制提要,甚至是文本)是一項複雜的任務,需要具有機器學習能力并掌握自然語言處理等技術。另一個主要挑戰是如何驗證這些技術和算法的輸出的準确度和正确性。

要對任何資料執行分析,資料都必須是某種結構化格式。從多個資料源通路的非結構化資料可以按原樣存儲,然後被轉化成結構化資料(例如

JSON),并被再次存儲到大資料存儲系統中。非結構化文本可以轉換成半結構化或結構化資料。同樣,圖像、音頻和視訊資料需要轉換成可用于分析的格式。此外,使用預測和統計算法的進階分析的準确性和正确性取決于用來訓練其模型的資料和算法的數量。

下面的清單顯示了将非結構化資料轉換成結構化資料所需的算法和活動:

文檔和文本分類特征提取圖像和文本分割關聯特征、變量和時間,然後提取包含時間的值輸出的準确度檢查使用了混淆矩陣(confusion

matrix)等技術和其他手動活動資料科學家可以幫助使用者選擇合适的技術和算法。

即席分析模式

處理大資料的即席查詢所帶來的挑戰不同于對結構化資料執行即席查詢時所面臨的挑戰,由于資料源和資料格式不是固定的,是以需要使用不同的機制來檢索和處理資料。

雖然大資料供應商可以處理簡單的即席查詢,但在大多數情況下,查詢是複雜的,因為必須在運作時動态地發現資料、算法、格式和實體解析。是以需要利用資料科學家和業務使用者的專業知識來定義下列任務所需的分析:

識别并發現計算和算法識别并發現資料源定義所需的可以由計算使用的格式對資料執行并行計算通路模式

在大資料解決方案中,有許多資料源,還有很多通路資料的方式,本節将介紹最常見的幾種。

Web 和社交媒體通路模式

Internet 是提供許多目前可以獲得的洞察的資料源。在幾乎所有分析中,都會用到 Web 和社交媒體,但獲得這種資料需要不同的通路機制。

在所有資料源中,因為 Web 和社交媒體的多樣性、速度和數量,是以 Web 和社交媒體是最為複雜的。網站大約有 40-50

個類别,每一個類别都需要使用不同的方式來通路資料。本節将列出這些類别,并介紹一些通路機制。從大資料的角度講,進階的類别是商業站點、社交媒體站點,以及具有特定和通用元件的站點。有關的通路機制見圖

3。如果需要的話,在完成預處理後,可将所通路的資料存儲在資料存儲中。

圖 3. Web 和社交媒體通路

需要執行以下步驟來通路 Web 媒體資訊。

圖 4. 大資料通路步驟

非結構化資料存儲中的 Web 媒體通路

步驟 A-1. 爬網程式讀取原始資料。

步驟 A-2. 資料被存儲在非結構化存儲中。

Web 媒體通路為結構化存儲預處理資料

步驟 B-1. 爬網程式讀取原始資料。

步驟 B-2. 對資料進行預處理。

步驟 B-3. 資料被存儲在結構化存儲中。

Web 媒體通路預處理非結構化資料

步驟 C-1. 在極少數情況下,來自供應商的資料可以是非結構化資料。

步驟 C-2. 對資料進行預處理。

步驟 C-3. 資料被存儲在結構化存儲中。

非結構化或結構化資料的 Web 媒體通路

步驟 D-1. 資料供應商提供結構化或非結構化資料。

步驟 D-2. 資料被存儲在結構化或非結構化存儲中。

步驟 E-1. 不能使用在存儲時未經過預處理的非結構化資料,除非它是結構化格式的資料。

步驟 E-2. 對資料進行預處理。

步驟 E-3. 經過預處理的結構化資料被存儲在結構化存儲中。

如圖所示,資料可以直接存儲在存儲器中,或者可以對它們進行預處理,并将它們轉換成一個中間格式或标準格式,然後再存儲它們。

在可以分析資料之前,資料格式必須可用于實體解析或用于查詢所需資料。這種經過預處理的資料可以存儲在一個存儲系統中。

雖然預處理通常被認為是微不足道的,但這項處理可能非常複雜和耗時。

裝置生成的資料模式

裝置生成的内容包括來自傳感器的資料資料是從天氣資訊、電氣儀表和污染資料等資料來源檢測到的,并且由傳感器捕獲。這些資料可以是照片、視訊、文本和其他二進制格式。

下圖說明了處理機器生成的資料的典型過程。

圖 5. 裝置生成的資料通路

圖 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. 存儲和探索複合模式

圖 6 說明了這種模式的多個次元。資料的使用目的可能隻是存儲它,或處理和使用它。

僅存儲的示例是,資料的擷取和存儲隻是為了将來能夠滿足合規性或法律的要求。在處理和使用的情況下,分析的結果可以被處理和使用。可以從最近發現的來源或從現有的資料存儲通路資料。

專用和可預測的分析複合模式

使用此模式的情況是,使用多種處理技術執行分析,是以,可以用新洞察豐富現有資料,或建立可由各種使用者使用的輸出。該分析可以在事件發生的同時實時發生,或使用批量模式,根據收集到的資料獲得洞察。作為可以分析的靜态資料的示例,某電信公司可能建構客戶流失模型,包括分析呼叫資料記錄、社交資料和事務資料。作為分析運動資料的示例,預測某個給定事務正在經曆欺詐的需求必須實時或近實時地發生。

圖 7. 專用和預測分析複合模式

圖 7 說明了這種模式的多個次元。所執行的處理可以是标準的或預測性的,并且可以包括決策。

此外,可以将通知發送給與特定任務或消息有關的系統或使用者。該通知可以使用可視化功能。該處理可實時發生或以批量模式發生。

可操作的分析模式

大資料解決方案的最進階形式是,對資料集執行分析,并且基于可重複的過去的行動或行動矩陣來暗示行動。該操作可以是手動、半自動或全自動的。基礎分析需要高度準确。行動是預定義的,分析的結果被映射到行動。可操作分析中所涉及的典型步驟是:

分析資料以獲得洞察。制定決策。激活相應的管道,對正确的使用者采取行動。

圖 8. 可操作的分析複合模式

圖 8 說明該分析可以是手動、半自動或全自動的。如圖中的說明所示,它使用了原子模式。

手動操作 意味着系統基于分析的結果來提供建議操作,并由人類決定和執行操作。半自動

意味着,分析建議操作,但不需要通過人類幹預來啟動操作,或從一組建議的操作中進行選擇。全自動

表示在決策之後,系統立即執行操作。例如,在裝置被預測會發生故障之後,系統可以自動建立一個工作訂單。

下面的矩陣顯示了如何将原子模式映射到複合模式,複合模式是原子模式的組合。每個複合模式都被設計為針對具有一組特定特征的資料在特定情況下使用。矩陣顯示了模式的典型組合。必須對模式進行調整,以滿足特定的情況和需求。在矩陣中,按照從最簡單到最複雜的順序列出了複合模式。“store

and explore(存儲和探索)”模式是最簡單的。

圖 9. 複合模式對原子模式的映射

結束語

采用基于模式的方法可以幫助業務團隊和技術團隊在解決方案的首要目标上達成一緻意見。技術團隊可以使用模式定義架構性原則,并制定一些關鍵架構決策。技術團隊可以将這些模式應用到架構層,并導出實作解決方案所需的元件集。通常情況下,解決方案從有限的範圍開始,然後企業會變得越來越有信心,相信解決方案會帶來價值。随着演變的發生,與解決方案一緻的複合模式與原子模式将會得到細化。在初始階段,可以使用模式來定義一個基于模式的架構,并映射出在該架構中如何逐漸設計元件。

圖 10. 将原子模式映射到架構層

在本系列的 第 2 部分

中,我們描述了與大資料有關的複雜性,以及如何确定是否應實作或更新您的大資料解決方案。在本文中,我們讨論了原子模式和複合模式,并解釋了一個解決方案可以由多種模式組成。給定一個特定的上下文,您可能會發現某些模式是比其他模式更合适。我們建議您采用端到端的解決方案視圖,并考慮所涉及的模式,然後定義大資料解決方案的架構。

對于架構師和設計師,映射到模式可以支援對架構中各元件的責任進一步細化。對于業務使用者而言,它通常有助于更好地了解大資料問題的業務範圍,進而獲得有價值的洞察,讓解決方案滿足所期望的結果。

此外,解決方案模式有助于定義最優的元件集,根據業務問題是否需要使用資料發現和探索功能、專用和可預測的分析或者可操作的分析。請記住,在實作一個解決方案時,并沒有建議的原子、複合或解決方案模式的順序或次序。在本系列的下一篇文章中,将針對此用途介紹解決方案模式。