文中介紹的模式有助于定義大數(shù)據(jù)解決方案的參數(shù)。本文將介紹最常見的和經(jīng)常發(fā)生的大數(shù)據(jù)問題以及它們的解決方案。原子模式描述了使用、處理、訪問和存儲大數(shù)據(jù)的典型方法。復合模式由原子模式組成,并根據(jù)大數(shù)據(jù)解決方案的范圍進行分類。由于每個復合模式都有若干個維度,所以每個模式都有許多變化。復合模式使得業(yè)務和技術用戶可以應用一個結構化方法為大數(shù)據(jù)問題建立范圍,并定義高級的解決方案。
簡介
本系列的 第 3 部分 介紹了大數(shù)據(jù)解決方案的邏輯層。這些層定義了各種組件,并對它們進行分類,這些組件必須處理某個給定業(yè)務用例的功能性和非功能性需求。本文基于層和組件的概念,介紹了解決方案中所用的典型原子模式和復合模式。通過將所提出的解決方案映射到此處提供的模式,讓用戶了解需要如何設計組件,以及從功能角度考慮,應該將它們放置在何處。模式有助于定義大數(shù)據(jù)解決方案的架構。利用原子模式和復合模式可以幫助進一步完善大數(shù)據(jù)解決方案的每個組件的角色和責任。
本文介紹原子模式和復合模式。本系列的最后一篇文章將介紹解決方案模式。
圖 1. 模式的類別
原子模式
對于大數(shù)據(jù)上下文中經(jīng)常出現(xiàn)的問題,原子模式 有助于識別數(shù)據(jù)如何是被使用、處理、存儲和訪問的。它們還有助于識別所需的組件。訪問、存儲和處理來自不同數(shù)據(jù)源的多種數(shù)據(jù)需要不同的方法。每種模式都用于滿足特定的需求:例如,可視化、歷史數(shù)據(jù)分析、社交媒體數(shù)據(jù)和非結構化數(shù)據(jù)的存儲??梢詫⒍喾N原子模式結合使用,組成一個復合模式。這些原子模式?jīng)]有進行分層或排序。例如,可視化模式可以與社交媒體的數(shù)據(jù)訪問模式直接交互,可視化模式還可以與高級分析處理模式進行交互。
圖 2. 用于數(shù)據(jù)使用、處理、數(shù)據(jù)訪問和存儲的原子模式的示例
數(shù)據(jù)使用模式
這種類型的模式處理使用數(shù)據(jù)分析結果的各種方式。本節(jié)包括的數(shù)據(jù)使用模式可以滿足幾個需求。
可視化模式
可視化數(shù)據(jù)的傳統(tǒng)方式以圖表、儀表板和摘要報告為基礎。這些傳統(tǒng)的方法并不總是用來可視化數(shù)據(jù)的最佳方式。
大數(shù)據(jù)可視化的典型需求(包括新出現(xiàn)的需求)如下所示:
執(zhí)行流數(shù)據(jù)的實時分析和顯示基于上下文,以交互方式挖掘數(shù)據(jù)執(zhí)行高級搜索,并獲得建議并行可視化信息獲得先進的硬件,支持未來的可視化需求正在進行研究,以確定人類和機器如何使用大數(shù)據(jù)洞察。這些挑戰(zhàn)包括所涉及的數(shù)據(jù)量,并且需要將數(shù)據(jù)與上下文相關聯(lián)。必須在適當?shù)纳舷挛闹酗@示洞察。
可視化數(shù)據(jù)的目的是為了更容易、更直觀地使用數(shù)據(jù),因此報告和儀表板可能提供全高清的觀看效果和 3-D 互動視頻,并且可以為用戶提供使用應用程序控制業(yè)務活動和結果的能力。
即席發(fā)現(xiàn)模式
創(chuàng)建滿足所有業(yè)務需求的標準報告往往是不可行的,因為企業(yè)的業(yè)務數(shù)據(jù)查詢會有不同的需求。用戶在查找特定信息時,可能需要獲得根據(jù)問題的上下文執(zhí)行即席查詢的能力。
即席分析可以幫助數(shù)據(jù)科學家和關鍵業(yè)務用戶了解業(yè)務數(shù)據(jù)的行為。即席處理中涉及的復雜性來自多種因素:
多個數(shù)據(jù)源可用于相同的域。單一的查詢可以有多個結果。輸出可以是靜態(tài)的,并具有多種格式(視頻、音頻、圖形和文本)。輸出可以是動態(tài)和交互式的。加強傳統(tǒng)的數(shù)據(jù)存儲
在大數(shù)據(jù)的初步探索中,許多企業(yè)選擇使用現(xiàn)有的分析平臺來降低成本,并依賴于現(xiàn)有的技能。加強現(xiàn)有的數(shù)據(jù)存儲有助于拓寬可用于現(xiàn)有分析的數(shù)據(jù)的范圍,包括駐留在組織邊界內(nèi)外的數(shù)據(jù),比如社交媒體數(shù)據(jù),它可以豐富主數(shù)據(jù)。通過拓寬數(shù)據(jù)范圍,使之包含現(xiàn)有存儲中的新事實表、維度和主數(shù)據(jù),并從社交媒體獲取客戶數(shù)據(jù),組織可以獲得更深入的客戶洞察。
但要牢記的是,新的數(shù)據(jù)集通常比較大,而現(xiàn)有的提取、轉(zhuǎn)換和加載工具可能不足以處理它。您可能需要使用具有大規(guī)模并行處理能力的高級工具來解決數(shù)據(jù)的數(shù)量、多樣性、真實性和速度特征。
通知模式
大數(shù)據(jù)洞察使人類、企業(yè)和機器可以通過使用事件通知而立即采取行動。通知平臺必須能夠處理及時發(fā)送出去的預計數(shù)量的通知。這些通知與大量郵件或群發(fā)短信不同,因為內(nèi)容一般是特定于使用者的。例如,推薦引擎可以提供有關世界各地的龐大客戶群的洞察,而且可以將通知發(fā)送給這樣的客戶。
啟動一個自動響應模式
從大數(shù)據(jù)獲得的業(yè)務洞察,可用于觸發(fā)或啟動其他業(yè)務流程或事務。
處理模式
無論數(shù)據(jù)是處于靜止狀態(tài)還是在運動中,都可以處理大數(shù)據(jù)。具體情況取決于分析的復雜性,有可能不需要對數(shù)據(jù)進行實時處理。這種模式解決了對大數(shù)據(jù)進行實時、近實時或批量處理的方式。
以下高級的大數(shù)據(jù)處理類別適用于大多數(shù)分析。這些類別通常也適用于基于 RDBMS 的傳統(tǒng)系統(tǒng)。惟一的區(qū)別是龐大規(guī)模的數(shù)據(jù)、多樣性和速度。在處理大數(shù)據(jù)時,要使用機器學習、復雜事件處理、事件流處理、決策管理和統(tǒng)計模型管理等技術。
歷史數(shù)據(jù)分析模式
傳統(tǒng)的歷史數(shù)據(jù)分析僅限于預定義的數(shù)據(jù)時間段,這通常取決于數(shù)據(jù)保留策略。由于處理和存儲的限制,超出此時間段的數(shù)據(jù)通常會被歸檔或清除?;?Hadoop 的系統(tǒng)和其他等效的系統(tǒng)可以克服這些限制,因為它們具有豐富的存儲以及分布式大規(guī)模并行處理能力。運營、業(yè)務和數(shù)據(jù)倉庫的數(shù)據(jù)被移動到大數(shù)據(jù)存儲,您通過使用大數(shù)據(jù)平臺功能對它們進行處理。
歷史分析包括分析給定時間段、季節(jié)組合和產(chǎn)品的歷史趨勢,并與最新的可用數(shù)據(jù)進行比較。為了能夠存儲和處理如此龐大的數(shù)據(jù),您可以使用 HDFS、NoSQL、SPSS? 和 InfoSphere? BigInsights?。
高級分析模式
大數(shù)據(jù)提供了很多實現(xiàn)創(chuàng)意洞察的機會。不同的數(shù)據(jù)集可以在多種上下文中存在關聯(lián)。發(fā)現(xiàn)這些關系需要創(chuàng)新的復雜算法和技術。
高級分析包括預測、決策、推理過程、模擬、上下文信息標識和實體解析。高級分析的應用包括生物統(tǒng)計數(shù)據(jù)分析(例如,DNA 分析)、空間分析、基于位置的分析、科學分析、研究,等等。高級分析要求大量的計算來管理大量的數(shù)據(jù)。
數(shù)據(jù)科學家可以指導您識別合適的技術、算法和數(shù)據(jù)集,以及在給定上下文中解決問題所需的數(shù)據(jù)源。比如 SPSS、InfoSphere Streams 和 InfoSphere BigInsights 等工具提供了這類功能。這些工具訪問存儲在大數(shù)據(jù)存儲系統(tǒng)(比如 BigTable、HBase,等等)中的非結構化數(shù)據(jù)和結構化數(shù)據(jù)(例如,JSON 數(shù)據(jù))。
預處理原始數(shù)據(jù)模式
大數(shù)據(jù)解決方案主要由基于 MapReduce 的 Hadoop 系統(tǒng)和技術組成,MapReduce 是開箱即用的分布式存儲和處理解決方案。然而,從非結構化數(shù)據(jù)提取數(shù)據(jù)(例如,圖像、音頻、視頻、二進制提要,甚至是文本)是一項復雜的任務,需要具有機器學習能力并掌握自然語言處理等技術。另一個主要挑戰(zhàn)是如何驗證這些技術和算法的輸出的準確度和正確性。
要對任何數(shù)據(jù)執(zhí)行分析,數(shù)據(jù)都必須是某種結構化格式。從多個數(shù)據(jù)源訪問的非結構化數(shù)據(jù)可以按原樣存儲,然后被轉(zhuǎn)化成結構化數(shù)據(jù)(例如 JSON),并被再次存儲到大數(shù)據(jù)存儲系統(tǒng)中。非結構化文本可以轉(zhuǎn)換成半結構化或結構化數(shù)據(jù)。同樣,圖像、音頻和視頻數(shù)據(jù)需要轉(zhuǎn)換成可用于分析的格式。此外,使用預測和統(tǒng)計算法的高級分析的準確性和正確性取決于用來訓練其模型的數(shù)據(jù)和算法的數(shù)量。
下面的列表顯示了將非結構化數(shù)據(jù)轉(zhuǎn)換成結構化數(shù)據(jù)所需的算法和活動:
文檔和文本分類特征提取圖像和文本分割關聯(lián)特征、變量和時間,然后提取包含時間的值輸出的準確度檢查使用了混淆矩陣(confusion matrix)等技術和其他手動活動數(shù)據(jù)科學家可以幫助用戶選擇合適的技術和算法。
即席分析模式
處理大數(shù)據(jù)的即席查詢所帶來的挑戰(zhàn)不同于對結構化數(shù)據(jù)執(zhí)行即席查詢時所面臨的挑戰(zhàn),由于數(shù)據(jù)源和數(shù)據(jù)格式不是固定的,所以需要使用不同的機制來檢索和處理數(shù)據(jù)。
雖然大數(shù)據(jù)供應商可以處理簡單的即席查詢,但在大多數(shù)情況下,查詢是復雜的,因為必須在運行時動態(tài)地發(fā)現(xiàn)數(shù)據(jù)、算法、格式和實體解析。所以需要利用數(shù)據(jù)科學家和業(yè)務用戶的專業(yè)知識來定義下列任務所需的分析:
識別并發(fā)現(xiàn)計算和算法識別并發(fā)現(xiàn)數(shù)據(jù)源定義所需的可以由計算使用的格式對數(shù)據(jù)執(zhí)行并行計算訪問模式
在大數(shù)據(jù)解決方案中,有許多數(shù)據(jù)源,還有很多訪問數(shù)據(jù)的方式,本節(jié)將介紹最常見的幾種。
Web 和社交媒體訪問模式
Internet 是提供許多目前可以獲得的洞察的數(shù)據(jù)源。在幾乎所有分析中,都會用到 Web 和社交媒體,但獲得這種數(shù)據(jù)需要不同的訪問機制。
在所有數(shù)據(jù)源中,因為 Web 和社交媒體的多樣性、速度和數(shù)量,所以 Web 和社交媒體是最為復雜的。網(wǎng)站大約有 40-50 個類別,每一個類別都需要使用不同的方式來訪問數(shù)據(jù)。本節(jié)將列出這些類別,并介紹一些訪問機制。從大數(shù)據(jù)的角度講,高級的類別是商業(yè)站點、社交媒體站點,以及具有特定和通用組件的站點。有關的訪問機制見圖 3。如果需要的話,在完成預處理后,可將所訪問的數(shù)據(jù)存儲在數(shù)據(jù)存儲中。
圖 3. Web 和社交媒體訪問
需要執(zhí)行以下步驟來訪問 Web 媒體信息。
圖 4. 大數(shù)據(jù)訪問步驟
非結構化數(shù)據(jù)存儲中的 Web 媒體訪問
步驟 A-1. 爬網(wǎng)程序讀取原始數(shù)據(jù)。
步驟 A-2. 數(shù)據(jù)被存儲在非結構化存儲中。
Web 媒體訪問為結構化存儲預處理數(shù)據(jù)
步驟 B-1. 爬網(wǎng)程序讀取原始數(shù)據(jù)。
步驟 B-2. 對數(shù)據(jù)進行預處理。
步驟 B-3. 數(shù)據(jù)被存儲在結構化存儲中。
Web 媒體訪問預處理非結構化數(shù)據(jù)
步驟 C-1. 在極少數(shù)情況下,來自供應商的數(shù)據(jù)可以是非結構化數(shù)據(jù)。
步驟 C-2. 對數(shù)據(jù)進行預處理。
步驟 C-3. 數(shù)據(jù)被存儲在結構化存儲中。
非結構化或結構化數(shù)據(jù)的 Web 媒體訪問
步驟 D-1. 數(shù)據(jù)供應商提供結構化或非結構化數(shù)據(jù)。
步驟 D-2. 數(shù)據(jù)被存儲在結構化或非結構化存儲中。
Web 媒體訪問預處理非結構化數(shù)據(jù)
步驟 E-1. 不能使用在存儲時未經(jīng)過預處理的非結構化數(shù)據(jù),除非它是結構化格式的數(shù)據(jù)。
步驟 E-2. 對數(shù)據(jù)進行預處理。
步驟 E-3. 經(jīng)過預處理的結構化數(shù)據(jù)被存儲在結構化存儲中。
如圖所示,數(shù)據(jù)可以直接存儲在存儲器中,或者可以對它們進行預處理,并將它們轉(zhuǎn)換成一個中間格式或標準格式,然后再存儲它們。
在可以分析數(shù)據(jù)之前,數(shù)據(jù)格式必須可用于實體解析或用于查詢所需數(shù)據(jù)。這種經(jīng)過預處理的數(shù)據(jù)可以存儲在一個存儲系統(tǒng)中。
雖然預處理通常被認為是微不足道的,但這項處理可能非常復雜和耗時。
設備生成的數(shù)據(jù)模式
設備生成的內(nèi)容包括來自傳感器的數(shù)據(jù)數(shù)據(jù)是從天氣信息、電氣儀表和污染數(shù)據(jù)等數(shù)據(jù)來源檢測到的,并且由傳感器捕獲。這些數(shù)據(jù)可以是照片、視頻、文本和其他二進制格式。
下圖說明了處理機器生成的數(shù)據(jù)的典型過程。
圖 5. 設備生成的數(shù)據(jù)訪問
圖 5 說明了訪問來自傳感器的數(shù)據(jù)的過程。由傳感器捕獲的數(shù)據(jù)可以發(fā)送到設備網(wǎng)關,設備網(wǎng)關會對數(shù)據(jù)執(zhí)行一些初始預處理,并緩沖高速數(shù)據(jù)。機器生成的數(shù)據(jù)大多為二進制格式(音頻、視頻和傳感器讀數(shù))或文本格式。這樣的數(shù)據(jù)最初可以存儲在存儲系統(tǒng)中,也可以對它們進行預處理,然后再存儲它們。對于分析來說,要求執(zhí)行預處理。
事務、運營和倉庫數(shù)據(jù)模式
可以存儲現(xiàn)有的事務、運營和倉庫數(shù)據(jù),避免清除或歸檔數(shù)據(jù)(因為存儲和處理的限制),或減少在數(shù)據(jù)被其他使用者訪問時對傳統(tǒng)存儲的負載。
對于大多數(shù)企業(yè)而言,事務、運營、主數(shù)據(jù)和倉庫信息都是所有分析的核心。如果用在 Internet 上,或者通過傳感器和智能設備提供的非結構化數(shù)據(jù)以及外部數(shù)據(jù)來增強此數(shù)據(jù),那么可以幫助組織獲得準確的洞察,并執(zhí)行高級分析。
使用由多個數(shù)據(jù)庫廠商提供的標準連接器,事務和倉庫數(shù)據(jù)可以被推入存儲。預處理事務性數(shù)據(jù)要容易得多,因為數(shù)據(jù)大多是結構化的。可以使用簡單的提取、轉(zhuǎn)換和加載流程將事務數(shù)據(jù)移動到存儲中。事務數(shù)據(jù)可以很容易地轉(zhuǎn)換成 JSON 和 CSV 等格式。使用 Sqoop 等工具可以更容易將事務數(shù)據(jù)推入存儲系統(tǒng),如 HBase 和 HDFS。
存儲模式
存儲模式有助于確定適當?shù)拇鎯Ω鞣N數(shù)據(jù)的類型和格式。數(shù)據(jù)可以按原樣存儲,根據(jù)鍵值對存儲,或者以預定義的格式存儲。
分布式文件系統(tǒng)(如 GFS 和 HDFS)都能夠存儲任何類型的數(shù)據(jù)。但是,高效地檢索或查詢數(shù)據(jù)的能力會影響性能。技術的選擇很重要。
分布式非結構化數(shù)據(jù)的存儲模式
大部分大數(shù)據(jù)是非結構化數(shù)據(jù),而且可以通過不同的方式針對不同的上下文提取它所擁有的信息。大多數(shù)時候,非結構化數(shù)據(jù)必須按原樣并以其原始格式進行存儲。
這樣的數(shù)據(jù)可以存儲在分布式文件系統(tǒng)(如 HDFS)和 NoSQL 文檔存儲(如 MongoDB)中。這些系統(tǒng)提供了檢索非結構化數(shù)據(jù)的有效方法。
分布式結構化數(shù)據(jù)的存儲模式
結構化數(shù)據(jù)包括從數(shù)據(jù)源到達的已經(jīng)是結構化格式的數(shù)據(jù),以及經(jīng)過預處理,被轉(zhuǎn)換為 JSON 數(shù)據(jù)等格式的非結構化數(shù)據(jù)。必須存儲已經(jīng)過轉(zhuǎn)換的數(shù)據(jù),避免從原始數(shù)據(jù)到結構化數(shù)據(jù)的頻繁數(shù)據(jù)轉(zhuǎn)換。
可以使用 Google 的 BigTable 等技術來存儲結構化數(shù)據(jù)。BigTable 是一個大規(guī)模容錯式自我管理系統(tǒng),包括 TB 級的內(nèi)存和 PB 級的存儲。
Hadoop 中的 HBase 可媲美 BigTable。它使用了 HDFS 作為底層存儲。
傳統(tǒng)數(shù)據(jù)存儲的存儲模式
對于存儲大數(shù)據(jù)而言,傳統(tǒng)的數(shù)據(jù)存儲并不是最佳選擇,但在企業(yè)執(zhí)行初步數(shù)據(jù)探索的情況下,企業(yè)可能會選擇使用現(xiàn)有的數(shù)據(jù)倉庫、RDBMS 系統(tǒng)和其他內(nèi)容存儲。這些現(xiàn)有的存??儲系統(tǒng)可用來存儲使用大數(shù)據(jù)平臺消化和過濾的數(shù)據(jù)。不要認為傳統(tǒng)的數(shù)據(jù)存儲系統(tǒng)適用于大數(shù)據(jù)。
云存儲的存儲模式
許多云計算基礎架構供應商都有分布式結構化、非結構化的存儲能力。從傳統(tǒng)的配置、維護、系統(tǒng)管理、編程和建模角度講,大數(shù)據(jù)技術有點不同。此外,實現(xiàn)大數(shù)據(jù)解決方案所需的技能既罕見又昂貴。探索大數(shù)據(jù)技術的企業(yè)可以使用云解決方案來提供大數(shù)據(jù)的存儲、維護和系統(tǒng)管理。
要存儲的數(shù)據(jù)往往是敏感數(shù)據(jù),這些數(shù)據(jù)包括醫(yī)療記錄和生物特征數(shù)據(jù)。您需要考慮數(shù)據(jù)安全性、數(shù)據(jù)共享、數(shù)據(jù)治理,以及有關數(shù)據(jù)的其他政策,在考慮將云作為大數(shù)據(jù)存儲庫的時候尤其如此。傳輸大量數(shù)據(jù)的能力也是云存儲的另一個重要考慮因素。
復合模式
原子模式 側重于提供執(zhí)行各項功能所需的能力。但是,復合模式 是基于端到端的解決方案進行分類的。每個復合模式都要考慮一個或多個維度。在將復合模式應用到每個模式時,會有許多變化??梢詫秃夏J接成涞揭粋€或多個原子模式,以解決某個給定的業(yè)務問題。本文所述的復合模式列表是基于經(jīng)常發(fā)生的典型業(yè)務問題,但這不是復合模式的完整列表。
存儲和探索模式
如果業(yè)務問題需要存儲大量新數(shù)據(jù)和現(xiàn)有數(shù)據(jù),而且先前由于缺乏足夠的存儲和分析能力而一直未使用這些數(shù)據(jù),那么這種模式就非常有用。該模式旨在緩解對現(xiàn)有數(shù)據(jù)存儲的負載。所存儲的數(shù)據(jù)可用于初始勘探和即席發(fā)現(xiàn)。用戶可以推演報告,通過進一步的處理來分析數(shù)據(jù)的質(zhì)量和價值。您可以使用 ETL 工具來預處理和凈化原始數(shù)據(jù),然后再進行任何類型的分析。
圖 6. 存儲和探索復合模式
圖 6 說明了這種模式的多個維度。數(shù)據(jù)的使用目的可能只是存儲它,或處理和使用它。
僅存儲的示例是,數(shù)據(jù)的獲取和存儲只是為了將來能夠滿足合規(guī)性或法律的要求。在處理和使用的情況下,分析的結果可以被處理和使用??梢詮淖罱l(fā)現(xiàn)的來源或從現(xiàn)有的數(shù)據(jù)存儲訪問數(shù)據(jù)。
專用和可預測的分析復合模式
使用此模式的情況是,使用多種處理技術執(zhí)行分析,因此,可以用新洞察豐富現(xiàn)有數(shù)據(jù),或創(chuàng)建可由各種用戶使用的輸出。該分析可以在事件發(fā)生的同時實時發(fā)生,或使用批量模式,根據(jù)收集到的數(shù)據(jù)獲得洞察。作為可以分析的靜態(tài)數(shù)據(jù)的示例,某電信公司可能構建客戶流失模型,包括分析呼叫數(shù)據(jù)記錄、社交數(shù)據(jù)和事務數(shù)據(jù)。作為分析運動數(shù)據(jù)的示例,預測某個給定事務正在經(jīng)歷欺詐的需求必須實時或近實時地發(fā)生。
圖 7. 專用和預測分析復合模式
圖 7 說明了這種模式的多個維度。所執(zhí)行的處理可以是標準的或預測性的,并且可以包括決策。
此外,可以將通知發(fā)送給與特定任務或消息有關的系統(tǒng)或用戶。該通知可以使用可視化功能。該處理可實時發(fā)生或以批量模式發(fā)生。
可操作的分析模式
大數(shù)據(jù)解決方案的最高級形式是,對數(shù)據(jù)集執(zhí)行分析,并且基于可重復的過去的行動或行動矩陣來暗示行動。該操作可以是手動、半自動或全自動的。基礎分析需要高度準確。行動是預定義的,分析的結果被映射到行動。可操作分析中所涉及的典型步驟是:
分析數(shù)據(jù)以獲得洞察。制定決策。激活相應的渠道,對正確的使用者采取行動。
圖 8. 可操作的分析復合模式
圖 8 說明該分析可以是手動、半自動或全自動的。如圖中的說明所示,它使用了原子模式。
手動操作 意味著系統(tǒng)基于分析的結果來提供建議操作,并由人類決定和執(zhí)行操作。半自動 意味著,分析建議操作,但不需要通過人類干預來啟動操作,或從一組建議的操作中進行選擇。全自動 表示在決策之后,系統(tǒng)立即執(zhí)行操作。例如,在設備被預測會發(fā)生故障之后,系統(tǒng)可以自動創(chuàng)建一個工作訂單。
下面的矩陣顯示了如何將原子模式映射到復合模式,復合模式是原子模式的組合。每個復合模式都被設計為針對具有一組特定特征的數(shù)據(jù)在特定情況下使用。矩陣顯示了模式的典型組合。必須對模式進行調(diào)整,以滿足特定的情況和需求。在矩陣中,按照從最簡單到最復雜的順序列出了復合模式。“store and explore(存儲和探索)”模式是最簡單的。
圖 9. 復合模式對原子模式的映射
結束語
采用基于模式的方法可以幫助業(yè)務團隊和技術團隊在解決方案的首要目標上達成一致意見。技術團隊可以使用模式定義架構性原則,并制定一些關鍵架構決策。技術團隊可以將這些模式應用到架構層,并導出實現(xiàn)解決方案所需的組件集。通常情況下,解決方案從有限的范圍開始,然后企業(yè)會變得越來越有信心,相信解決方案會帶來價值。隨著演變的發(fā)生,與解決方案一致的復合模式與原子模式將會得到細化。在初始階段,可以使用模式來定義一個基于模式的架構,并映射出在該架構中如何逐步設計組件。
圖 10. 將原子模式映射到架構層
在本系列的 第 2 部分 中,我們描述了與大數(shù)據(jù)有關的復雜性,以及如何確定是否應實現(xiàn)或更新您的大數(shù)據(jù)解決方案。在本文中,我們討論了原子模式和復合模式,并解釋了一個解決方案可以由多種模式組成。給定一個特定的上下文,您可能會發(fā)現(xiàn)某些模式是比其他模式更合適。我們建議您采用端到端的解決方案視圖,并考慮所涉及的模式,然后定義大數(shù)據(jù)解決方案的架構。
對于架構師和設計師,映射到模式可以支持對架構中各組件的責任進一步細化。對于業(yè)務用戶而言,它通常有助于更好地理解大數(shù)據(jù)問題的業(yè)務范圍,從而獲得有價值的洞察,讓解決方案滿足所期望的結果。
此外,解決方案模式有助于定義最優(yōu)的組件集,根據(jù)業(yè)務問題是否需要使用數(shù)據(jù)發(fā)現(xiàn)和探索功能、專用和可預測的分析或者可操作的分析。請記住,在實現(xiàn)一個解決方案時,并沒有建議的原子、復合或解決方案模式的順序或次序。在本系列的下一篇文章中,將針對此用途介紹解決方案模式。