資料導論 點選這裡檢視第二章:資料湖概念概覽 點選這裡檢視第三章:Lambda架構:一種資料湖實作模式

企業資料湖
Data Lake for Enterprises
[印度] 湯姆斯·約翰(Tomcy John) 著
潘卡·米斯拉(Pankaj Misra)
張世武 李想 張浩林 譯
前言
對許多企業來說,資料變得越來越重要,資料的重要性在多個方面得到了凸顯。事實上,企業正在用核心資料來改善自己的營運。本書将首先介紹什麼是資料,它與企業的相關性,以及企業如何利用這些資料以數字化的方式改變自己。為了利用資料,企業需要能存儲海量資料的“倉庫”,在當今時代,這些倉庫不再被稱為“資料倉庫”,相反,它們被稱為“資料湖”。
正如今天所看到的,我們有很多利用了大資料技術的用例。資料湖的概念已經存在了很長時間,但直到最近它才在企業中得到真正的關注。本書将這兩個方面結合在一起,使用最新的大資料技術,并遵循良好的架構模式,提供了可立即上手的、成熟的、能穩定運作的資料湖。
本書将把資料湖和Lambda架構結合在一起,幫助讀者在他們的企業中實際操作這些内容。本書從較高的層次引入了大量的大資料技術,但是我們不打算将它定位為涉及很多技術架構的權威指南,因為書中涉及的每一種技術架構都值得用一本書來深入介紹它們。
本書用所選的技術架構涵蓋了資料湖、Lambda架構模式的解釋和實作。當然,這些具體的技術可以在将來或者根據組織設定的标準來替換。是以,本書内容中的精髓不僅在現在,而且在将來很長一段時間内都是有效的。是以,與同一領域的其他那些依賴具體技術架構的書籍相比,本書的“保鮮期”更長。
本書将帶你踏上一段奇妙的旅程,在這個過程中,它遵循一種既直覺又令人興奮的結構。
第1章 數 據 導 論
本書中,我們将着手為企業實施一項技術傑作。在這個過程中,讀者不僅要學習許多新的工具和技術,還要學習大量的術語和理論知識。這些會幫助你達到最終的目标,就是建構這個技術傑作——資料湖。
本章旨在讓讀者為前方艱難的道路做好準備,這樣讀者就可以清晰地知道将要達到的目标是什麼。資料湖的概念随着時間的推移在企業中不斷演變,最初起源于資料倉庫的概念。資料倉庫包含長期積累的資料,并根據報表需求和曆史需求以不同的方式存儲。然後,資料集市的概念出現了,它提供企業屬性相關的小資料集。資料湖從上述這些概念演變而來,成為企業的中心資料庫,可以捕獲原始資料,生成加工後的資料,提供最關鍵的企業資訊。
資料湖相關的話題或者說技術已經不新鮮了,但很少有企業實施了功能齊全的資料湖。通過本書,我們希望企業開始認真考慮投資建設資料湖。此外,希望在工程師的幫助下,可以讓企業的最高管理層了解資料湖可以提供的功能和适用的場景。
是以,讓我們開始這一段旅程吧。
請放心,讀完本書後,讀者将可以幫助企業(無論規模大或小)用以資料為中心的方式進行思考和對業務模組化,并使用資料湖作為核心技術。
本章的目的是讓讀者深入了解資料、大資料以及資料相關的一些重要細節。本章給出了一些重要的基于教科書的定義,這些定義讀者需要深刻了解,以便能明确資料與企業的關聯。讀者也将認識到資料與大資料之間的關鍵差異。本章将深入探讨不同類型的資料,以及這些資料分布在企業的哪些地方。
本章的後半部分将介紹企業在資料管理方面的現狀,希望讀者能得到啟迪;同時試圖提供一個高層次的視角,來了解企業向以資料為核心進行轉型的目标。整本書基于一個真實的用例,在1.10節會更加詳細地介紹這個用例。讀者可以通過這個用例掌握很多相關的概念。
1.1 探索資料
資料是指一組定性或定量變量的值。
資料可以被測量、收集、報告和分析,然後可以使用圖形、圖像和其他分析工具進行可視化。一般意義上,資料指的是現有的資訊或知識,并以一種适合使用或處理的方式進行表示或編碼。
——維基百科
資料大緻分為3種類型:
- 結構化資料(structured data)
- 非結構化資料(unstructured data)
-
半結構化資料(semi-structured data)
結構化資料指的是我們通常在業務應用程式中擷取的,在關系型資料庫管理系統(Relational Database Management System,RDBMS)中或者以非關系型資料庫(NoSQL最初稱為non-SQL)的形式存儲的資料。
結構化資料又可以大緻分為兩類,即原始資料(raw data)和清潔資料(cleansed data)。原始資料是指以原樣擷取的,沒有經過清洗和過濾的資料。清潔資料是指經過大量清洗和過濾來适配業務使用者的分析需求的資料。
所有其他不屬于結構化資料類型的資料都稱為非結構化資料。視訊、圖檔等形式的資料都屬于非結構化資料。
還有半結構化資料,它随着網際網路的興起而出現,并且随着社交網站的發展愈發成為主流。維基百科對半結構化資料的定義如下:
半結構化資料其實是結構化資料的一種形式,它不符合關系型資料庫或者其他資料表格形式的資料模型所表示的規範結構,但是它包含标簽或其他标記來分割語義元素,并要求在資料内儲存記錄和字段的層次結構。是以,也被稱為自描述結構(self-describing structure)。
有一些衆所周知的半結構化資料的例子,如JavaScript對象表示法(JSON)和可擴充标記語言(XML)。
圖1-1中涵蓋了我們讨論的各種資料類型。讀者請不要因為在結構化資料部分看到電子表格和文本檔案而疑惑。這是因為圖1-1中的資料是以記錄的形式表達的,确實屬于結構化資料。
圖1-1 資料類型
1.2 什麼是企業資料
企業資料指的是企業内部員工及其合作夥伴跨越不同部門、不同地點而共享,跨越不同大洲而傳播的資料。這些資料對企業具有很高的價值,包括财務資料、業務資料、員工個人資料等,企業花費了大量時間和金錢來保證資料在各方面的安全和品質。
然而,所謂的企業資料從目前狀态變得日漸陳舊,雖然以某種形式進行存儲,但是難以進行分析和檢索。這些資料有着重大的意義,企業需要有一個專門的地方來分析它,以挖掘各種潛在的商機,這就是資料湖産生的原因。
企業資料主要分為3大類,具體如下:
- 主資料(master data),指的是較長的描述企業内部主要實體的資料。通過觀察主資料,可以了解企業涉及的業務。這些資料通常由不同部門管理和掌握。其他類别的資料,如後文所述,需要利用主資料來産生價值。
- 事務資料(transaction data),指的是各種應用程式(内部或外部)在處理企業内的各種業務流程時産生的資料。事務資料也包括人員相關的資料,雖然某些時候并不屬于業務資料,但這部分資料也非常重要。分析這部分資料,可以幫助企業優化業務。這些資料也依賴于主資料,并經常引用主資料。
-
分析資料(analytic data),實際上指的是來源于前兩類資料的資料。這部分資料是對企業中的各種實體(主資料)的深入分析,同時結合事務資料,為企業提供積極的建議,經過必要的調研之後,這些建議可以被企業采納。
前面已經解釋過這些類型的資料對企業的重要性,大多數企業都有管理這幾類資料的機制,通常叫作企業資料管理(Enterprise Data Management,EDM)。下一節中将更詳細地解釋這方面的内容。
圖1-2顯示了各種類型的企業資料以及它們是如何互相影響的。
圖1-2 不同類型的企業資料
如圖1-2所示,事務資料和分析資料都利用了主資料。分析資料也依賴于事務資料,并根據不同客戶的需求進行有意義的分析。
1.3 企業資料管理
組織具有能夠精确定義資料、輕松內建資料和同時為内部應用和外部通信檢索資料的能力。
EDM強調資料的精确性、粒度和含義,關注資料内容如何整合到業務應用程式中,以及資料如何從一個業務流程轉移到另一個業務流程。
正如維基百科的定義中明确指出的那樣,EDM是定義了企業資料如何存儲、存儲的位置以及使用哪些技術來存儲和檢索這類資料的一整套政策。此類資料價值巨大,必須處于正确的控制下以保證安全,并且需要以明确的方式進行掌握和管理。EDM還定義了資料如何與内部和外部的應用程式進行通信。此外,資料交換的相關政策和流程也必須明确。
從前文來看,對企業來說實作EDM非常容易,但實際上卻是困難重重。一個企業有多個部門,每個部門都産生資料;基于這些部門的重要性,它們所産生的資料與整個組織密切相關。由于彼此處境不同,不同資料的所有者在EDM中有着不同的利益點,這會産生沖突,進而給企業帶來危害。這就需要在EDM中制定各種政策和程式來明确資料的所有權。
在本書的背景下,了解企業資料、企業資料管理以及與維護EDM相關的問題非常重要。這也是本書開篇就要介紹這些方面的原因。在下面的章節中,将介紹大資料的概念,以及如何将大資料整合到企業資料管理中,并擴充其功能。沒有大資料技術的支援,這些擴充功能是很難實作的。
1.4 大資料相關概念
本節以維基百科對“大資料”一詞的定義開始:
“大資料”是一個術語,用來描述這樣一種資料集,它極其龐大、複雜,以至于傳統的資料處理應用程式難以應付。術語“大資料”通常指的是應用預測分析,使用者行為分析,或者某些其他從資料中提取有價值資訊的進階資料分析方法,并不是專指某種特定規模的資料集。
下面我們來解釋一下維基百科定義中給出的這兩句話。早期,大資料本質上是指資料量很大且很複雜的資料。然而并沒有任何明确的定義,指定何種規模的資料可以稱為大資料。由于這種資料的資料量過于巨大,以至于傳統的資料處理應用程式難以有效地使用它。在過去10年左右的時間中,這個領域出現了很多技術可以用來分析企業中的大資料。目前,“大資料”這個術語是指任何能了解和提取這些複雜企業資料,并對其進行有效利用的方法。
大資料和4V
大多數時候,當讀者接觸到“大資料”這一術語時,都會遇到一個重要的概念——4V(此前是3V,直到最近才引入了意義重大的第4個V)。這4V分别指的是多樣性(variety)、處理速度(velocity)、資料量(volume)和精準性(veracity),大資料對這4個次元的特征都有其獨特的要求:
- 多樣性:在大資料的背景下,多樣性具有非常重要的地位。這裡的多樣性指的是豐富的資料類型和海量的資料源。随着技術的不斷發展和應用程式(企業級和個人級)不斷增加,資料多樣性日益被重視。這種現象不僅不會減少,反過來,肯定還會在一段時間内持續增長。資料類型可以大緻上分為結構化資料和非結構化資料。目前,大多數應用程式都是跟存儲在關系型資料管理系統(RDBMS)中的結構化資料打交道。這種情況很普遍,但是現在,更多的需求轉向了非結構化資料,如視訊、圖檔、二進制檔案等。
- 處理速度:在大資料的背景下,處理速度有兩方面含義。首先是生成資料的速度,其次是需要快速實時地分析海量資料,進而推導出有意義的結論。正如諺語所說,時間就是金錢。這個V的重要意義在于能夠實時、快速地做出決策。一些企業,特别是零售業,非常倚重這方面的決策。如果顧客能适時看到适合自己的商品,那麼他們很可能會購買。
-
資料量:在大資料的背景下,需要分析大量的資料,進而推導出有意義的結論。目前,并沒有一個具體的數量來說明何等量級的資料可以被認為是大資料。但通常來說,這個資料量肯定顯著高于傳統應用能處理的資料量。一般來說,大資料對應的資料量相當大,而且确實讓傳統的應用程式(如OLTP——聯機事務處理)感到無能為力。對于很多業務來說,分析和利用社交資料不可或缺。這些社交應用(如Facebook、Google +、LinkedIn等)擁有十億級的注冊使用者,每天會産生數十億的資料(包括結構化及非結構化資料)。此外,應用自身的正常事務和其他分析(使用者行為、位置資訊等)也産生大量資料。另外,随着可穿戴裝置和傳感器的數量不斷增長,這些裝置又随時都在發送資料,資料量次元日益重要,而且這個趨勢短時間内不會改變。
如前文所述,不久之前還隻有3個V。最近IBM提出了第4個V,即精準性。由于資料呈指數級增長,并且資料來源的可靠性難以保障,是以這個V意義非凡。
當世界上有重大事件發生時,讀者一定聽說或閱讀到過各種社交媒體上散布的假新聞。這個V指向一個非常重要的方面,那就是大資料中的精準性。随着資料大量湧現,尤其在社交網絡中,該次元愈發重要,是以業界更傾向于4V而不是3V。
-
精準性:在大資料的背景下,精準性指的是準确地分析資料,以獲得有意義的結果。由于資料源衆多,尤其某些使用者輸入的非結構化資料的品質不太可靠,處理某些管道的資料時必須慎之又慎。如果有企業想要在業務上應用這些資料,必須更加嚴格地驗證這些資料的準确性。
為了友善讀者了解,圖1-3清楚地顯示了什麼是4V以及各自的含義。
圖1-3 大資料的4V
1.5 資料與企業的相關性
任何企業都不能否認資料的重要性。企業一直都在收集大量的曆史資料,并将其儲存在資料倉庫中以便進行分析。企業可以通過分析曆史資料來獲得新的增長點,這也證明了資料的重要性。在過去的10年裡,随着社交媒體的激增和海量應用(企業内部或外部雲端)的湧現,企業收集的資料量呈指數級增長。随着資料量與日俱增,想要有效地利用這些海量的資料變得無比困難。企業試圖利用這些收集到的資料來對現有業務轉型或賦能,是以,資料的相關性是企業最關心的問題。
如果商業使用者能獲得大量的資料并使用正确的工具進行分析,那麼他确實能夠從中獲得有用的價值。舉例來說,如果能把來自各個應用的客戶相關的資料彙聚到一起,并對其進行分析,則可以從這些資料中發現大量有價值的資訊,比如哪些使用者和企業網站有互動以及是怎樣互動的。企業可以依據這些推導出的資訊來改進現有的商業模式或者調整某些業務流程,以實作利潤最大化。例如,可以基于集中的使用者資料來思考新的商業模式,比如向使用者提供積分。這些資料也可以用來向客戶做個性化推薦。比如說,比起通用的推薦,基于使用者行為向使用者提供個性化的選項更容易被使用者接受。當然,這些完全取決于具體業務,并不存在一種方法能适合所有的場景。不過,資料經過轉換和清洗,再由各種資料可視化技術展示成豐富多樣的圖表,對商業使用者來說更有用。
顯然,企業資料與業務息息相關,下一節将詳細介紹這些資料分布在企業的哪些地方。
Vit Soupal,德國電信(Deutsche Telekom AG)大資料部門負責人,在他的一篇部落格中定義了4V作為大資料的技術屬性,還另外引入了3個V。本書并不打算完全涵蓋這額外的3個V,不過,想要在企業中成功應用資料湖(大資料),很難繞過它們。
另外3個V(業務屬性)如下:
- 視野(vision):每一個擁有大資料(資料湖)的企業都應該有一個清晰的視野,并且改進業務流程來充分利用它。同時,企業的管理層應該充分了解資料湖給企業帶來的變化,并在決策時充分考慮到這一點。
- 可視化(visualization):資料湖預期将存儲巨量資料。其中部分資料意義重大,另一部分則不盡然。資料科學家們會研究這些資料來發現有意義的規律,這些發現需要以有效的方式呈現給管理層。要取得大資料方面的成功,對各種格式的資料進行有意義的可視化是必不可少的。
-
價值(value):大資料理應給企業帶來價值,比如對業務流程的優化,或者創造新的解決方案(如物聯網),甚至是帶來商業模式的徹底改變。
如圖1-4所示,Vit對這7個V給出了一個很好的表示:
圖1-4中,隻有同時滿足業務和技術屬性的要求,大資料才能在企業中成功應用。
圖1-4表明,資料湖需要一個明确的視野,不同類型的資料以不同的速度、不同的資料量流入這個湖中。進入資料湖的資料的品質(精準性)參差不齊。企業各個部門甚至高管層都需要借助各種可視化方法來利用資料湖中的資料。這些可視化方法将為企業帶來巨大的價值,它們能幫助企業做出各種有益的決策。技術屬性(多樣性、處理速度、資料量、精準性)固然不可或缺,但業務屬性(視野、可視化、價值)也不容忽略,它們共同成就了資料湖。
圖1-4 大資料的7V
1.6 資料品質
毫無疑問,高品質的資料(清潔資料)是組織不可或缺的重要資産。反過來,如果基于低品質的資料來進行決策,反而會損害企業的利益和品牌價值,而品牌價值一旦流失就難以恢複了。一般來說,如果資料有不一緻、重複、歧義和不完整的情形,資料的可用性就下降了。如果對這些資料進行分析時體驗不佳,業務使用者就不會再考慮使用該資料了。這時大家才意識到第4個V(精準性)的重要性。資料品質是基于對資料的評估,來确定它是否與預想的應用場景相比對。資料品質的評測基于多個次元的屬性。下面是其中比較重要的部分屬性:
-
正确性/準确性(correctness/accuracy):表征了收集的資料所能描述客觀世界的真實程度。
完整性(completeness):通過統計擷取的資料包含了多少預期/預定的屬性。
- 一緻性(consistency):從多個系統中擷取資料,并彙聚起來在一起對比,以此來衡量資料的一緻性。
- 時效性(timeliness):表征了在指定的時間内及适當的場景中,向正确的人提供高品質資料的能力。
- 中繼資料(metadata):根據擷取的資料中的附加資料來衡量。正如這個術語本身表明的那樣,中繼資料是描述資料的資料,它可以用來定義資料本身,可以使資料更便于使用。
-
資料世系(data lineage):對資料的整個生命周期進行跟蹤,可能會給組織來帶巨大的收益。資料的這種可追溯性能為組織提供十分有價值的商業見解。
除了前文所述的,其實還有其他的次元可以用來表征資料的品質。雖然這裡隻對上述部分做了詳細介紹,此時讀者的腦海中應該已經有了一個清晰的概念,在閱讀本書後續章節時,讀者會有更清晰的了解。
1.7 企業中資料如何存放
企業資料以原始資料格式、二進制檔案(圖檔和視訊)等形式存儲,存放的位置可以是各種内部應用程式的持久化存儲,也可以存放到外部的私有或公有的雲平台中。首先,需要對資料類型進行劃分。按照資料存放位置劃分如下:
- 内聯網(企業内部)
-
網際網路(企業外部)
另一種方式是按照資料存儲的格式劃分,具體如下:
- 持久化存儲引擎(RDBMS或者NoSQL)
- 傳統的資料倉庫(基于RDBMS、NoSQL等)
-
檔案存儲
下面進一步詳細介紹這些資料類型。
1.7.1 内聯網(企業内部)
企業資料存放在自己的私有網絡,即内聯網中。
企業内部的各種應用程式也運作在私有網絡中,并且隻有指定的人員才能通路。是以,從這些應用程式擷取的資料能以安全和私密的方式存儲于企業内部。
這些應用産生的資料可能是員工資料,也可能是日常使用中産生的事務資料。
企業用來建構内聯網的技術包括區域網路(LAN)和廣域網(WAN)。此外,企業内部還有多個應用平台可以使用,資料可以以結構化方式存儲在不同的存儲引擎中,例如,傳統的RDBMS和NoSQL資料庫。除了這些存儲引擎,還有以各種檔案形式存放的非結構化資料。另外,大資料企業都有傳統的資料倉庫,用來存放清洗後的資料以備分析之用。
1.7.2 網際網路(企業外部)
大約從近10年開始,大多數企業都擁有自己的資料中心,幾乎所有的企業資料都存放于此。伴随雲計算的發展,企業開始把一些資料存放到私有資料中心以外的雲平台上,加上健全的安全控制,未經授權的人根本接觸不到這些資料。采用雲服務的方式能極大地降低企業的營運成本,這是雲服務最大的優勢。本節将進一步介紹這個領域,包括更細粒度的類别劃分。
1.雲托管業務應用程式
雲計算供應商提供了各種服務,如SaaS、PaaS、IaaS等,企業可以把業務應用程式托管到雲中,同樣也能滿足企業管理的需求。是以,許多企業選擇把内部開發的應用程式托管到這些雲計算提供商。員工使用這些部署在雲中的應用程式,進行日常的一些操作,這和操作部署在企業自有的資料中心中的應用沒有差別。
2.第三方雲計算方案
如今這麼多公司把自身的應用/服務托管到雲端,這些應用/服務用起來就跟部署在本地一樣,但是企業不必考慮維護和管理應用/服務所需的基礎架構。這些僅僅依賴雲端環境的産品,最吸引企業的一點是它們的收費方式。
基于這個優點,企業傾向于選擇這些雲産品,同時也由于雲産品的先天特點,企業現在也将資料(業務相關)存儲在其他的雲設施中,即使雲提供商完全掌控了這些資料。
Google的BigQuery就是這樣一款雲服務軟體,使用者可以把資料導出到雲服務中,然後運作這個軟體來進行各種分析工作。這類産品有一個優點,就是我們可以根據分析的結果來決定是否保留這些資料。雲服務具有天然的可伸縮性(硬體層面随意擴充和收縮的能力),如果資料分析很複雜,可以臨時申請性能強勁的伺服器,分析結束之後又可以把伺服器的配置恢複到此前的水準。
基于這個特性,Google BigQuery将自己定位為“企業級雲資料倉庫”,這也确實是實至名歸。它給企業帶來了快速分析大規模資料的能力,同時保證了安全性、可靠性和可用性。它還內建了其他類似的雲服務軟體,以滿足各種其他需求。
Google的BigQuery僅僅是一個例子,還有許多其他的雲服務軟體,具有不同程度的類似特征。現在的企業都在追求業務開展速度,既不想在工具性軟體上投入時間進行研究,也不願意投入經費來管理基礎設施;這些雲服務的解決方案滿足了企業的全部需求,而經濟和精力上的成本也相對低廉。
目前階段,類似的解決方案仍在不斷地湧現,本書不再一一羅列。是以僅以BigQuery為例來介紹這一類方案。
與SaaS的方式類似,雲端還有很多業務應用程式也可以作為服務對外提供。Salesforce就是這樣的一個例子。本質上,Salesforce是一個客戶關系管理(CRM)的解決方案,但是它還內建了很多其他特性。筆者在這裡并不是想幫助推銷Salesforce,但是希望介紹一些雲端業務應用的重要特性。Salesforce将所有的客戶資訊彙總到一起,幫助企業從銷售、業務分析和客戶服務等幾個次元來建構以使用者為中心的商業模式。
因為部署在雲端,Salesforce也帶來了很多雲端SaaS的特性。
随着雲服務對企業的影響越來越大,現在大量企業把資料存儲在網際網路(雲)上,同時,這些雲服務要明確定護客戶隐私和其他共同權益,以捍衛企業的商業目标。
3.社交資料(結構化與非結構化)
如今,企業的社交關系變得至關重要,即使企業的資料并沒有存儲在社交網站上,它仍然包含了豐富的資訊,這些資訊來自企業業務和其服務的真實客戶。
使用者在社交網站上留下各種評價和建議,企業可以利用這些資料重塑自己的業務和與使用者互動的方式。
如果企業忽視此類資訊,很可能會損害企業的聲譽和品牌。現在企業非常重視社交網站,因為這些網站上即使沒有企業的資料,也有客戶的評價資訊,在某種程度上,這些資訊代表了客戶對品牌的認知。
于是,我們傾向于将這部分資料歸類為非企業使用者提供的企業資料。在分析這類資料時,需要特别關注大資料的第4個V,即精準性。因為有些人會利用這個管道,在與企業進行業務往來時,獲得一些不正當的優勢。
另一個對企業資料進行分類的方式是按資料最終的存儲方式。下一節将更詳細地介紹這種分類。
1.7.3 資料持久化存儲(RDBMS或者NoSQL)
無論是在企業内部(企業基礎架構)還是在雲服務中,資料通常都以結構化資料的方式存儲在所謂的傳統RDBMS或者新一代NoSQL持久化存儲中。資料通過業務應用程式寫入這些存儲系統,絕大部分資料在本質上是不相關的,企業可以很容易了解這些資料。資料存儲在傳統的RDBMS類存儲系統中時,會遇到的一個常見的問題,即資料量超出了可接受的範圍。在這種情況下,對資料進行分析将耗費大量的時間和精力。是以,企業被迫将資料分拆為生産資料(資料可以被業務應用查詢和使用)和非生産資料(從生産系統轉移到另外的存儲系統中的離線資料)。
由于這種拆分,資料分析通常跨越若幹年,這種分析并不能覆寫到企業的全部業務因素。舉例來說,如果生産系統中有5年的銷售資料,而非生産系統存儲了15年的銷售資料,那麼使用者在進行銷售資料分析時,隻能檢視過去5年的資料。可能存在周期剛好為5年的變化趨勢,隻有對20年的銷售資料進行分析才能發現。大多數時候,由于RDBMS的局限,存儲和分析海量資料是不可能的。即使勉力為之,這種分析也十分耗時,也不能給分析師提供足夠的靈活性。這樣一來,分析師隻能進行有限的分析,如果企業正在通過這些資料來調整業務流程,那麼可能會給企業帶來大麻煩。
新一代NoSQL(該領域中不同的資料庫具有不同的功能)讓資料分析更靈活,同時存儲資料的量也大大增加。這些存儲滿足了分析師們在性能以及其他某些方面的需求,但是在一些方面仍然存在不足。
即使資料存儲在一個業務應用中,各種業務應用的資料并沒有彙聚成一個單一的視圖,而建設一個合适的資料湖能幫企業解決這種問題。
1.7.4 傳統的資料倉庫
正如前一節中介紹的那樣,由于生産系統的業務應用擷取的資料量巨大,幾乎所有的時間裡,生産系統的資料都與非生産系統分離。非生産系統的資料通常存儲在不同的區域中,并儲存在不同的資料存儲系統(通常是RDBMS或者NoSQL)中,這種存儲系統就是所謂的資料倉庫。通常來說,根據資料分析師的需求,資料會被相應地清洗和删除。删除部分資料會限制分析師能執行的分析的類别。大多數情況下,都會有隐藏的有價值的資料尚未進入資料倉庫,這就會導緻更多的分析,而企業可以基于這些分析來調整業務;然而,此類資料清理和删除可能會扼殺潛在的創新。是以這方面需要改進。而本書介紹的資料湖,使得分析師可以引入生産系統中的任意業務應用資料,并根據具體情況進行各種分析。
目前,建構這類資料倉庫的方案是通過ETL(Extract,Transform,Load,即抽取、轉換、加載),從生産系統的資料庫提取資料并儲存到資料倉庫中。ETL流程會根據分析師的需求來清洗資料,而分析師會在資料倉庫中進行各種分析。
1.7.5 檔案存儲
業務應用程式在不斷地變化,新的應用允許終端使用者以各種格式擷取資料,而不僅僅限于從鍵盤輸入的格式化資料。
終端使用者另一種輸入資料的管道是送出不同格式的文檔。其中一些衆所周知的格式如下:
- 文檔(PDF、DOC、XLS等)
- 二進制
- 圖檔(JPG、PNG等)
- 音頻(MP3、RAM、AC3)
-
視訊(MP4、MPEG、MKV)
正如前文中介紹的那樣,處理結構化資料本身就是一個大問題,現在又引入了非結構化資料的分析。但是,分析非結構化資料與分析結構化資料同等重要。通過建構資料湖,我們可以圍繞資料湖引入新的技術,利用大資料領域最新和最好的技術,可以從非結構資料中挖掘到巨大價值。
除了各種檔案格式的資料,有很多應用允許終端使用者以語句的形式擷取大量資料,這部分資料也需要分析。手動處理這些來自終端使用者的評論資料是一項艱難的任務,在現代化的今天,需要的是自動化地解析這些評論,并了解使用者的觀點。同樣,有很多這樣的技術可以了解這些資料(如自由文本流),讓企業能夠正确地處理它。
舉例來說,假如我們有一個擷取企業建議的系統,每天能擷取近1000條建議,由于該業務的天然屬性,很難對這些建議進行過濾分析。這種場景中,我們可以利用一些技術來對這些評論進行情感分析,然後根據這些分析工具給出的評分進行初步的過濾,再将篩選後的建議交給能夠了解和利用這部分資料的人來處理。
1.8 企業現狀
正如前面幾節簡要介紹的那樣,企業資料目前的狀态可以總結為以下幾點:
1.傳統DW(Data Warehouse)/BI(Business Intelligence)
- 使用ETL清洗來自生産業務應用的資料。
-
早于一定時間的資料會轉移到另外的存儲系統(如錄音帶)中,但是很難對這部分資料進行檢索。
一些顯著的缺陷:
- 資料倉庫中儲存的是清洗後的生産資料的子集;在資料倉庫中添加任何資料元素都需要付出代價。
- 資料倉庫中儲存的是全量資料的一個子集,其餘資料會轉存到另外的持久存儲系統中去。
-
通常分析速度較慢,即使對查詢做了一定程度的優化。
2.大資料孤島
- 一些部門在建設大資料時采取了正确的措施。但是部門間通常不會互相協作,這些大資料平台就成了孤島,并沒有真正給企業帶來價值。
-
大資料平台的孤立性再次限制了分析師,使得分析師們無法跨部門整合和查詢
資料。
-
需要大量資金來建構、維護、管理這些資料孤島,時間一長就難以為繼。
3.大量非連接配接應用
在企業内部和雲服務中部署大量應用程式。
除了産生結構化資料,應用程式也産生非結構化資料。
- 互相沒有通信。
- 即使有通信,資料科學家們既不能有效地利用這些資料,也不能對企業進行有益的改進。
-
各個業務應用在多個方面重複使用各種技術。
這裡并不是說投資建構資料湖是解決上述所有缺陷的“銀彈”。但是這個方向一定是正确的,企業至少應該花時間去思考是否确實需要資料湖,如果答案是肯定的,就不要過多考慮,直接着手去建構。
建構資料湖是企業的一項戰略級決策,在建構時需要所有相關人員的認可與支援,而且需要高管層投入精力關注這個項目。基于資料湖,企業一定能找到改進業務流程的方法。它能讓高管人員更深入地了解業務,同時也能提升決策的成功率。
1.9 企業數字化轉型
數字化轉型指的是應用數字化技術,從根本上影響商業和社會的方方面面。
——infoworld.com
數字化轉型(DX)是一個流行的行業術語,每個企業都毫不猶豫地跟随了這個趨勢。這個術語指的是企業向以資訊技術為核心轉型。技術領域的投入是這項轉型的一部分,但資料才是轉型的關鍵。
近年來,企業越來越多地認識到資料和資料分析的重要性,這無疑讓企業有了新思維。這種轉型就是一種以資料為中心的實踐。
作為商業轉型的一部分,企業絕對應該把資料湖列入重點投入項目清單,所有部門都應該欣然将資料歸集到資料湖來完成資料共享,而不能對它存有偏見。
企業轉型之路
埃森哲互動曾經委托Forrester咨詢公司進行過一項研究,該研究表明數字化轉型的關鍵驅動力是提升盈利能力、客戶滿意度和産品疊代速度。
實際上,很多企業已經走上了數字化的轉型之路。數字化轉型不再是一句空話,很多企業正竭力轉向把技術作為驅動力之一,而另一個驅動力,如讀者猜測的那樣,就是資料。
轉型中的企業有明确的目标。當然,這些目标與它們所處的具體行業有關。但是有些目标是公共的,具體如下:
- 從根本上改善客戶體驗。
- 削減成本。
- 增加收入。
- 差異化競争。
-
調整業務流程,反過來改善商業模式。
轉型目标舉例
關于企業在該領域希望達到的目标,有一系列清晰的例子,部分如下:
- 能夠對客戶進行細分并提供個性化的産品。在恰當的時間向合适的客戶推送廣告。
- 引進更多的技術,減少體力勞動,企業實作全方位數字化。
- 結合社交資訊和企業自身資料,為決策提供支援。
- 以更為量化的方式預測未來,并采取必要措施,提前做好預案。
-
以技術為重要載體實作業務全球化。
下一節中将詳細介紹企業在數字化轉型中希望實作的一個用例,其中資料是主要的貢獻因素。了解該用例很重要,因為我們會在本書中嘗試實作該用例。
1.10 資料湖用例啟示
資料在企業中的重要性已經顯露無遺。當今企業所面臨的問題是如何從這些資料中挖掘有用資訊來優化自身的業務。
即便資料能夠以某種方式彙聚到一起,也很難在合适的時間内處理數量如此巨大的資料。這時資料湖進入了人們的視野。下一章中将全面而詳盡地介紹資料湖到底是什麼。在那之前,我們會詳細介紹本書中将要實作的用例,這個用例是以資料湖為中心的。
基于現代技術建構資料湖有很多優勢,其中一些如下:
- 通過各種資料分析,企業能找到業務中重要的人員和流程,也能深入了解各類客戶。
- 企業能在适度的時間範圍内完成這些分析,而不用等待幾周甚至幾個月。
-
業務使用者能快速分析資料,進而快速調整業務流程。
本書中涵蓋的這個用例叫作單一客戶視圖(Single Customer View,SCV)。單一客戶視圖是業内衆所周知的術語,它有很多種定義,下面是其中之一:
單一客戶視圖是組織或企業的客戶資料的一種聚合的、一緻的及全面的表示。
企業将客戶資料儲存在不同的業務應用中,這會導緻不同程度的資料孤島現象。該用例旨在将這些不同來源的資料整合到一起,提供給分析人員檢視,進而建立一個包含所有資料的客戶視圖。通過這個視圖,企業能對客戶進行細分,進而向客戶進行精準廣告投放。
這個用例對企業的意義可以歸納為如下幾點:
- 客戶細分。
- 資訊整合。
- 增進客戶關系,避免客戶流失。
-
更深入的分析等。
從概念上講,圖1-5中總結了本書計劃實作的用例。結構化、半結構化和非結構化資料都被灌入資料湖。單一客戶視圖從資料湖中以整體性方式被導出。該用例會引入各類資料,也會較長的描述各種類型的資料樣本。之是以這樣做,是因為這樣可以充分利用資料湖,同時也更為接近真實情況。
圖1-5中顯示了資料湖從各種資料源(多樣性),以不同的速度擷取不同數量級的資料。更多地,這是一個概念性的抽象視圖,在讀完本書的全部内容後,我們将會确切知道它具體指代的是什麼。
此刻,筆者真的很興奮,因為馬上要開始激動人心的閱讀之旅了,希望讀者也能興奮起來!
圖1-5 SCV資料湖用例的概念視圖
1.11 總結
本章帶領讀者深入了解了一些常用的行業術語。在開頭的部分,讀者了解了資料、企業資料以及最重要的大資料。然後介紹了資料與企業的相關性,包括資料品質的各個屬性。接着,本章詳細介紹了不同的資料類型,以及企業中資料存儲的位置。
接下來的部分中探讨了數字化轉型,并詳細介紹了本書将要實作的用例。
閱讀完本章後,讀者能清晰地掌握許多術語,也會認識到資料和資料湖對企業的重要性。此外,讀者能清晰地了解本書給出的用例。
在下一章中,我們将深入探究資料湖,以及建構資料湖時會用到的模式。