一溜在、背景
在當今世界,大數(shù)據(jù)時代的來臨他托,帶來了信息技術發(fā)展的巨大變革掖肋,并深刻影響著社會生產(chǎn)和人民生活的方方面面。
如今赏参,隨著互聯(lián)網(wǎng)以及物聯(lián)網(wǎng)等技術的不斷發(fā)展志笼,越來越多的數(shù)據(jù)被生產(chǎn)出來。根據(jù)最新的統(tǒng)計登刺,每天大約有超過2.5萬億字節(jié)的各種各樣數(shù)據(jù)產(chǎn)生籽腕。這些數(shù)據(jù)需要被存儲起來并且能夠被方便的分析和利用。
另一方面纸俭,大數(shù)據(jù)技術也在不斷更新和迭代,其中數(shù)據(jù)管理工具得到了飛速的發(fā)展南窗,相關概念如雨后春筍一般應運而生揍很,如從最初決策支持系統(tǒng)(DSS)到商業(yè)智能(BI)、數(shù)據(jù)倉庫万伤、數(shù)據(jù)湖窒悔、數(shù)據(jù)中臺等,出現(xiàn)了很多新的概念敌买,而且這些概念特別容易混淆简珠,本文次課程的前半段針對這些名詞術語及內涵進行簡單的介紹,便于大家對數(shù)據(jù)平臺相關的概念有整體的認識虹钮。
二聋庵、基本概念
1 數(shù)據(jù)庫
本節(jié)介紹數(shù)據(jù)庫的基本概念,包括數(shù)據(jù)庫存儲方式芙粱、數(shù)據(jù)庫技術的發(fā)展歷史祭玉、數(shù)據(jù)庫的存儲結構以及數(shù)據(jù)庫在開發(fā)中的作用。
1.1什么是數(shù)據(jù)庫
每個人家里都會有冰箱春畔,冰箱是用來干什么的脱货?冰箱是用來存放水果蔬菜等食物的地方。
同樣的律姨,數(shù)據(jù)庫是存放數(shù)據(jù)的地方振峻。正是因為有了數(shù)據(jù)庫后,我們可以直接查找數(shù)據(jù)择份。例如你每天使用余額寶查看自己的賬戶收益扣孟,就是從數(shù)據(jù)庫讀取數(shù)據(jù)后給你的。
有人可能會問了:我的數(shù)據(jù)就存放在自己電腦的excel表里或者其他的本地文件就可以了缓淹,為什么還要搞個數(shù)據(jù)庫呢哈打?這是因為數(shù)據(jù)庫比excel有更多的優(yōu)勢塔逃。數(shù)據(jù)庫可以存放大量的數(shù)據(jù),允許很多人同時使用里面的數(shù)據(jù)料仗。舉個例子你就明白了湾盗,excel好比是一個移動硬盤,你使用了這個移動硬盤其他人就用不了了立轧。數(shù)據(jù)庫好比是網(wǎng)盤格粪,很多人可以同時訪問里面里的數(shù)據(jù)。而且網(wǎng)盤比移動硬盤能放更多的數(shù)據(jù)氛改。
1.2數(shù)據(jù)庫是如何存放數(shù)據(jù)的帐萎?
數(shù)據(jù)庫有很多種類,這里我們重點學習使用最廣泛的關系數(shù)據(jù)庫胜卤。
關系數(shù)據(jù)庫是由多個表組成的疆导。如果你用過Excel,就會知道Excel是一張一張的二維表葛躏。每個表都是由行和列組成的澈段。同樣的,關系數(shù)據(jù)庫里存放的也是一張一張的表舰攒,只不過各個表之間是有聯(lián)系的败富。
所以,簡單來說:關系數(shù)據(jù)庫=多張表+各表之間的關系
對應的摩窃,學會關系數(shù)據(jù)庫我們只要掌握兩點就可以:
1)多張表里面兽叮,每一張表的結構
2)各表之間的關系
我們接下來分別來看看這兩個知識點。
1) 表的結構表的結構是指要了解關系數(shù)據(jù)庫中每張表長什么樣猾愿。每個表由一個名字標識鹦聪。表包含帶有列名的列,和記錄數(shù)據(jù)的行匪蟀。我們舉個具體的例子就一目了然了椎麦。下面圖片里的表名是:學生表,記錄了每個學生的信息材彪。
表中每一列都有一個名字來標識出該列观挎,這個表里有4列,列名分別是學號段化,姓名嘁捷,出生日期,性別显熏。從列名上你也可以知道這一列對應記錄的是什么數(shù)據(jù)雄嚣。表的每一行里記錄著數(shù)據(jù)。這里的一行表示該名學生的信息,比如第2行是學號0002學生的信息缓升,他的姓名是猴子鼓鲁,出生日期是1990-12-21,性別是女港谊。
2)各表之間的關系關系數(shù)據(jù)庫是由多張表組成的骇吭,圖片里是存放在學校數(shù)據(jù)庫里的4張表。你能發(fā)現(xiàn)下面這4張表之間有什么關系嗎歧寺?
什么是關系呢燥狰?你是你爸爸的兒子,你是你的兒子的爸爸斜筐,這就是生活中的關系龙致。其實,數(shù)據(jù)之間也是有關系的顷链。關系數(shù)據(jù)庫里各個表之間如何建立起關系呢目代?我們來看圖中“學生表”,“成績表”這兩個表之前的關系蕴潦。
這兩張表通過”學號”關聯(lián)起來像啼,為了更清楚的看到這兩個表的關系,PPT里我用相同顏色代表同一個學生的信息潭苞。
例如我想知道學生表里學號“0001” 的成績是多少?那么我就可以在成績表里去查找“學號”值是0001的行真朗,最后在成績表里發(fā)現(xiàn)有3行數(shù)據(jù)的學號都是“0001” 此疹,對應的就找到了該學生的三門課程的成績。
通過這個例子你應該對表之間的關系有了大概的了解遮婶。關系就是數(shù)據(jù)能夠對應的匹配蝗碎,在關系數(shù)據(jù)庫中正式名稱叫聯(lián)結,對應的英文名稱叫做join旗扑。
聯(lián)結是關系型數(shù)據(jù)庫中的核心概念蹦骑,務必記住這個概念,后面會在多表查詢中具體學到臀防。
1.3什么是數(shù)據(jù)庫管理系統(tǒng)眠菇?
前面講的都是關系數(shù)據(jù)庫原理方面的基本理論。理論有了袱衷,當然的就的有對應的軟件實現(xiàn)才能用起來捎废,不然再強大的理論都是一堆無用的東東。這就好比致燥,建筑師如果只有設計草圖是無法蓋起樓房的登疗,得有具體的建筑人員才能蓋起樓房持搜。
所以,上面講的關系數(shù)據(jù)庫原理就是“設計草圖”怕轿,那么對應的“建筑人員”是誰呢肄满?
實現(xiàn)數(shù)據(jù)庫原理的“建筑人員”就是數(shù)據(jù)庫管理系統(tǒng),用來管理數(shù)據(jù)庫的計算機軟件智政。關系數(shù)據(jù)庫管理系統(tǒng)有很多種认罩,比如MySQL、Oracle女仰、SQL Server等都是實現(xiàn)上面理論的關系數(shù)據(jù)庫猜年。
1.4純理論
數(shù)據(jù)庫是數(shù)據(jù)管理的有效技術,是由一批數(shù)據(jù)構成的有序集合疾忍,這些數(shù)據(jù)被存放在結構化的數(shù)據(jù)表里乔外。數(shù)據(jù)表之間相互關聯(lián),反映客觀事物間的本質聯(lián)系一罩。數(shù)據(jù)庫能有效地幫助一個組織或企業(yè)科學地管理各類信息資源杨幼。
數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象,是按一定順序排列組合的物理符號聂渊。數(shù)據(jù)有多種表現(xiàn)形式差购,可以是數(shù)字、文字汉嗽、圖像欲逃,甚至是音頻或視頻,它們都可以經(jīng)過數(shù)字化后存入計算機饼暑。
數(shù)據(jù)庫是數(shù)據(jù)的集合稳析,具有統(tǒng)一的結構形式并存放于統(tǒng)一的存儲介質內,是多種應用數(shù)據(jù)的集成弓叛,并可被各個應用程序所共享彰居。
在日常生活中,人們可以直接用中文撰筷、英文等自然語言描述客觀事物陈惰。在計算機中,則要抽象出對這些事物感興趣的特征毕籽,并組成一個記錄來描述抬闯。
例如,在學生檔案中影钉,學生信息是由學號画髓、姓名、性別平委、年齡奈虾、籍貫、聯(lián)系電話等特征組成的,那么這些具體的特征值所構成的一條記錄就是一個學生的信息數(shù)據(jù)肉微,例如“2016010102匾鸥,張三,男碉纳,26勿负,山西,計算機學院劳曹,185********”奴愉。
值得注意的是,數(shù)據(jù)的描述形式還不能完全表達其內容铁孵,需要經(jīng)過解釋锭硼。例如,對于上面這條學生記錄蜕劝,了解其含義的人會得到這樣的信息:張三的學號是 2016010102檀头,今年 26 歲,山西人岖沛,就讀于計算機學院暑始,他的聯(lián)系電話是 185********;
而不了解其語義的人則無法理解其含義婴削。所以廊镜,數(shù)據(jù)和對數(shù)據(jù)的解釋是不可分的,數(shù)據(jù)的解釋是指對數(shù)據(jù)含義的說明唉俗,數(shù)據(jù)的含義也稱數(shù)據(jù)的語義期升,因此數(shù)據(jù)與其語義密不可分,沒有語義的數(shù)據(jù)是沒有意義和不完整的互躬。
數(shù)據(jù)存儲方式
計算機數(shù)據(jù)(Data)的存儲一般以硬盤為數(shù)據(jù)存儲空間資源,從而保證計算機內的數(shù)據(jù)能夠持續(xù)保存颂郎。對于數(shù)據(jù)的處理吼渡,一般會采用數(shù)據(jù)庫相關的技術進行處理,從而保證數(shù)據(jù)處理的高效性乓序。
采用數(shù)據(jù)庫的管理模式不僅提高了數(shù)據(jù)的存儲效率寺酪,而且在存儲的層面上提高了數(shù)據(jù)的安全性。通過分類的存儲模式讓數(shù)據(jù)管理更加安全便捷替劈,更能實現(xiàn)對數(shù)據(jù)的調用和對比寄雀,并且方便查詢等操作的使用。
數(shù)據(jù)庫的存儲結構
數(shù)據(jù)庫的存儲結構是指數(shù)據(jù)庫中的物理數(shù)據(jù)和邏輯數(shù)據(jù)的表示形式陨献、物理數(shù)據(jù)和邏輯數(shù)據(jù)之間關系映射方式的描述盒犹。在數(shù)據(jù)庫技術中,可以使用兩種形式描述客觀現(xiàn)實的數(shù)據(jù):物理數(shù)據(jù)描述和邏輯數(shù)據(jù)描述。物理數(shù)據(jù)和邏輯數(shù)據(jù)之間的轉換通過數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)急膀。
物理數(shù)據(jù)描述
物理數(shù)據(jù)描述是指數(shù)據(jù)在存儲設備上的存儲方式沮协,物理數(shù)據(jù)是實際存放在存儲設備上的數(shù)據(jù),這些數(shù)據(jù)也稱為物理記錄卓嫂。根據(jù)物理記錄存儲的位置慷暂,又可以分為有序存儲和無序存儲。
在物理數(shù)據(jù)描述中晨雳,使用的數(shù)據(jù)描述術語包括以下各項行瑞。
- 位(bit):二進制的一個單位稱為位,位只能取 1 或 0餐禁。
- 字節(jié)(byte):8 個位稱為一個字節(jié)血久,可以存放對應 ASCII 碼的一個字符。
- 字(word):若干個字節(jié)組成一個字坠宴。一個字所含的二進制的位數(shù)稱為字長洋魂,許多計算機的字長是不同的,例如計算機的字長可以是 8 位喜鼓、16 位副砍、24 位、32 位等庄岖。
- 塊(block):內存儲器和外存儲器交換信息的最小單位豁翎,又稱為物理塊或物理記錄,每塊的大小通常為 256 字節(jié)隅忿、512 字節(jié)心剥、1024 字節(jié)等。
- 卷(volume):一臺輸入輸出設備所能裝載的全部有用信息背桐,例如磁帶機的一盤磁帶即為一卷优烧,磁盤設備的一個盤組也是一卷。
- 無序存儲(unordered):數(shù)據(jù)記錄按照插入的順序進行存儲链峭。
邏輯數(shù)據(jù)描述
邏輯數(shù)據(jù)描述是指用戶或程序員用于操作的數(shù)據(jù)形式畦娄,邏輯數(shù)據(jù)是一種抽象的概念,是對客觀現(xiàn)實世界的反映和記錄弊仪,這些數(shù)據(jù)也可以稱為邏輯記錄熙卡。
邏輯數(shù)據(jù)包含兩個層次,一個層次是對客觀現(xiàn)實信息世界的描述励饵,另一個層次是對數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)的描述驳癌。
在對客觀現(xiàn)實信息世界的描述中,使用的術語包括以下幾項役听。
- 實體(entity):客觀現(xiàn)實存在的東西使用實體來描述颓鲜。實體既可以是具體的表窘、有形的對象,也可以是抽象的灾杰、無形的對象蚊丐。例如,一本書是一個有形對象艳吠,一次借書過程則是一個無形的對象麦备。
- 實體集(entities):特性完全相同的同類實體的集合稱為實體集。例如昭娩,一個圖書館所有的書籍是一個實體集凛篙,該圖書館的所有借書過程也是一個實體集。
- 屬性(attribute):實體的特性稱為屬性栏渺。每個屬性都有一個值域呛梆,這些值域可以是整數(shù)類型、浮點數(shù)類型磕诊、字符類型或日期類型等填物。例如,實體書的屬性包括書名霎终、書號滞磺、出版日期、頁數(shù)莱褒、價格以及出版社等击困,這些屬性對應的值域分別為字符類型、字符類型广凸、日期類型阅茶、整數(shù)類型、浮點數(shù)類型和字符類型等谅海。
- 標識符(identifier):能夠唯一地標識每個實體的屬性或屬性集脸哀。例如,書的書號屬性是實體書的標識符扭吁,借書過程實體的標識符包括借書證號企蹭、書號兩個屬性。
這些邏輯數(shù)據(jù)最終要通過數(shù)據(jù)庫管理系統(tǒng)來轉換成物理數(shù)據(jù)智末。在數(shù)據(jù)庫管理系統(tǒng)中,描述邏輯數(shù)據(jù)的術語包括哪些呢徒河?
下面以關系型數(shù)據(jù)庫管理系統(tǒng)為例進行介紹系馆。
- 數(shù)據(jù)項(data item):也稱為字段(field),標記實體屬性的可以命名的最小信息單位顽照,數(shù)據(jù)項的命名一般采用屬性的描述性名稱由蘑。這些名稱可以是中文闽寡、英文或漢語拼音。
- 元組(tuple):也稱為記錄(record)尼酿,數(shù)據(jù)項的集合稱為元組爷狈。一個元組表示一個具體的實體。
- 關系(relation):在關系型數(shù)據(jù)庫系統(tǒng)中裳擎,同一類元組所在的集合稱為關系涎永。關系適用于描述實體集,它包括一個實體集的所有元組鹿响。例如羡微,所有的圖書可以組成一個 books 關系。
- 鍵碼(key):在關系型數(shù)據(jù)庫系統(tǒng)中惶我,能夠唯一地標識關系中每個元組的數(shù)據(jù)項或數(shù)據(jù)項的組合稱為關系的鍵碼妈倔。
客觀實體經(jīng)過兩層邏輯數(shù)據(jù)的描述,最后轉變成實際存儲的物理數(shù)據(jù)绸贡。
數(shù)據(jù)庫在開發(fā)中的作用
從數(shù)據(jù)庫系統(tǒng)應用角度來看盯蝴,數(shù)據(jù)庫系統(tǒng)常見的運行與應用結構有:客戶端/服務器結構、瀏覽器/服務器結構听怕。
在客戶端/服務器(Client/Server捧挺,C/S)結構中,數(shù)據(jù)庫的使用者(如 DBA叉跛、程序設計者)通過命令行客戶端松忍、圖形化界面管理工具或應用程序等連接到數(shù)據(jù)庫管理系統(tǒng),可以通過數(shù)據(jù)庫管理系統(tǒng)查詢和處理存儲在底層數(shù)據(jù)庫中的各種數(shù)據(jù)筷厘。
數(shù)據(jù)庫使用者與命令行客戶端鸣峭、圖形化界面管理工具或應用程序等直接交互,而不與數(shù)據(jù)庫管理系統(tǒng)直接聯(lián)系酥艳。
在這種結構中摊溶,命令行客戶端、圖形化界面管理工具或應用程序等稱為“客戶端”或“前臺”充石,主要完成與數(shù)據(jù)庫使用者的交互任務莫换;而數(shù)據(jù)庫管理系統(tǒng)則稱為“服務器”或“后臺”,主要負責數(shù)據(jù)管理骤铃。這種結構經(jīng)常被稱為“C/S”結構拉岁。
在客戶端/服務器模式中,客戶端和服務器可以同時工作在同一臺計算機上惰爬,這種工作方式稱為“單機方式”喊暖;也可以“網(wǎng)絡方式”運行,即服務器被安裝和部署在網(wǎng)絡中某一臺或多臺主機上撕瞧。對于客戶端應用程序的開發(fā)陵叽,目前常用的語言工具主要有 Visual C++狞尔、Delphi、.NET 框架巩掺、Visual Basic偏序、Python 等。
數(shù)據(jù)庫能有效存儲數(shù)據(jù)胖替,讀取數(shù)據(jù)研儒、查找數(shù)據(jù)更是方便,其實那些管理軟件就是通過軟件的界面向內部的數(shù)據(jù)庫進行數(shù)據(jù)的增刊殉、刪殉摔、改、查操作记焊。
數(shù)據(jù)庫:數(shù)據(jù)庫是面向交易的處理系統(tǒng)(業(yè)務系統(tǒng))逸月,它是針對具體業(yè)務在數(shù)據(jù)庫聯(lián)機的日常操作,通常對記錄進行查詢遍膜、修改碗硬。
用戶較為關心操作的響應時間、數(shù)據(jù)的安全性瓢颅、完整性和并發(fā)支持的用戶數(shù)等問題恩尾。傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)管理的主要手段,主要用于操作型處理挽懦,也被稱為聯(lián)機事務處理 OLTP(On-Line Transaction Processing)翰意。
2 數(shù)據(jù)倉庫
2.1基本概念
數(shù)據(jù)倉庫,英文名稱為Data Warehouse信柿,可簡寫為DW或DWH冀偶。數(shù)據(jù)倉庫顧名思義,是一個很大的數(shù)據(jù)存儲集合渔嚷,出于企業(yè)的分析性報告和決策支持目的而創(chuàng)建进鸠,對多樣的業(yè)務數(shù)據(jù)進行篩選與整合。它為企業(yè)提供一定的BI(商業(yè)智能)能力形病,指導業(yè)務流程改進客年、監(jiān)視時間、成本漠吻、質量以及控制量瓜。
數(shù)據(jù)倉庫本身并不“生產(chǎn)”任何數(shù)據(jù),同時自身也不需要“消費”任何的數(shù)據(jù)途乃,數(shù)據(jù)來源于外部榔至,并且開放給外部應用,這也是為什么叫“倉庫”欺劳,而不叫“工廠”的原因唧取。
數(shù)據(jù)倉庫是一個面向主題的、集成的划提、相對穩(wěn)定的枫弟、反映歷史變化的數(shù)據(jù)集合,用于支持管理中的決策制定鹏往。對于數(shù)據(jù)倉庫的概念我們可以從兩個層次予以理解:首先,數(shù)據(jù)倉庫用于支持決策,面向分析型數(shù)據(jù)處理,它不同于企業(yè)現(xiàn)有的操作型數(shù)據(jù)庫; 其次,數(shù)據(jù)倉庫是對多個異構的數(shù)據(jù)源有效集成,集成后按照主題進行了重組,并包含歷史數(shù)據(jù),而且存放在數(shù)據(jù)倉庫中的數(shù)據(jù)一般不再修改淡诗。
數(shù)據(jù)倉庫將各個異構的數(shù)據(jù)源數(shù)據(jù)庫的數(shù)據(jù)給統(tǒng)一管理起來,并且完成了質量較差的數(shù)據(jù)的剔除伊履、格式轉換韩容,最終按照一種合理的建模方式來完成源數(shù)據(jù)組織形式的轉變,以更好的支持到前端的可視化分析唐瀑。數(shù)據(jù)倉庫的輸入方式是各種各樣的數(shù)據(jù)源群凶,最終的輸出用于企業(yè)的數(shù)據(jù)分析、數(shù)據(jù)挖掘哄辣、數(shù)據(jù)報表等方向请梢。
2.2主要特征
數(shù)據(jù)倉庫是面向主題的(Subject-Oriented )、集成的(Integrated)力穗、穩(wěn)定的(Non-Volatile)和時變的(Time-Variant )數(shù)據(jù)集合毅弧,面向數(shù)據(jù)分析,用以支持管理決策当窗。
1.主題性
不同于傳統(tǒng)數(shù)據(jù)庫對應于某一個或多個項目够坐,數(shù)據(jù)倉庫根據(jù)使用者實際需求,將不同數(shù)據(jù)源的數(shù)據(jù)在一個較高的抽象層次上做整合崖面,所有數(shù)據(jù)都圍繞某一主題來組織元咙。
2.集成性
數(shù)據(jù)倉庫中存儲的數(shù)據(jù)是來源于多個數(shù)據(jù)源的集成,原始數(shù)據(jù)來自不同的數(shù)據(jù)源嘶朱,存儲方式各不相同蛾坯。要整合成為最終的數(shù)據(jù)集合,需要從數(shù)據(jù)源經(jīng)過一系列抽取疏遏、清洗脉课、轉換的過程。
3.穩(wěn)定性
數(shù)據(jù)倉庫中保存的數(shù)據(jù)是一系列歷史快照财异,不允許被修改嚼吞。用戶只能通過分析工具進行查詢和分析沙庐。這里說明一點,數(shù)據(jù)倉庫基本上是不許允許用戶進行修改,刪除操作的窖式。大多數(shù)的場景是用來查詢分析數(shù)據(jù)。
4.時變性
數(shù)據(jù)倉庫會定期接收新的集成數(shù)據(jù),反應出最新的數(shù)據(jù)變化。這和穩(wěn)定特點并不矛盾司致。另外說明,上面我們已經(jīng)說了數(shù)據(jù)倉庫中的歷史數(shù)據(jù)是不能修改的聋迎,那我們每天修改或新增的數(shù)據(jù)脂矫,從業(yè)務數(shù)據(jù)庫中導入數(shù)據(jù)倉庫中,可以以時間戳標記版本來標記最新數(shù)據(jù)霉晕,老舊的數(shù)據(jù)就可以定期刪除庭再,保證數(shù)據(jù)分析的準確性。
2.3數(shù)據(jù)倉庫與數(shù)據(jù)庫的區(qū)別
數(shù)據(jù)庫與數(shù)據(jù)倉庫的區(qū)別實際講的是 OLTP 與 OLAP 的區(qū)別牺堰。
操作型處理拄轻,叫聯(lián)機事務處理 OLTP(On-Line Transaction Processing,)伟葫,也可以稱面向交易的處理系統(tǒng)恨搓,它是針對具體業(yè)務在數(shù)據(jù)庫聯(lián)機的日常操作,通常對少數(shù)記錄進行查詢扒俯、修改奶卓。用戶較為關心操作的響應時間、數(shù)據(jù)的安全性撼玄、完整性和并發(fā)支持的用戶數(shù)等問題夺姑。傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)作為數(shù)據(jù)管理的主要手段,主要用于操作型處理掌猛,像Mysql盏浙,Oracle等關系型數(shù)據(jù)庫一般屬于OLTP。
分析型處理荔茬,叫聯(lián)機分析處理 OLAP(On-Line Analytical Processing)一般針對某些主題的歷史數(shù)據(jù)進行分析废膘,支持管理決策。
首先要明白慕蔚,數(shù)據(jù)倉庫的出現(xiàn)丐黄,并不是要取代數(shù)據(jù)庫。數(shù)據(jù)庫是面向事務的設計孔飒,數(shù)據(jù)倉庫是面向主題設計的灌闺。數(shù)據(jù)庫一般存儲業(yè)務數(shù)據(jù),數(shù)據(jù)倉庫存儲的一般是歷史數(shù)據(jù)坏瞄。
數(shù)據(jù)庫設計是盡量避免冗余桂对,一般針對某一業(yè)務應用進行設計,比如一張簡單的User表鸠匀,記錄用戶名蕉斜、密碼等簡單數(shù)據(jù)即可,符合業(yè)務應用,但是不符合分析宅此。數(shù)據(jù)倉庫在設計是有意引入冗余机错,依照分析需求,分析維度父腕、分析指標進行設計毡熏。數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設計,數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設計侣诵。
以銀行業(yè)務為例。數(shù)據(jù)庫是事務系統(tǒng)的數(shù)據(jù)平臺狱窘,客戶在銀行做的每筆交易都會寫入數(shù)據(jù)庫杜顺,被記錄下來,這里蘸炸,可以簡單地理解為用數(shù)據(jù)庫記賬躬络。數(shù)據(jù)倉庫是分析系統(tǒng)的數(shù)據(jù)平臺,它從事務系統(tǒng)獲取數(shù)據(jù)搭儒,并做匯總穷当、加工,為決策者提供決策的依據(jù)淹禾。比如馁菜,某銀行某分行一個月發(fā)生多少交易,該分行當前存款余額是多少铃岔。如果存款又多汪疮,消費交易又多,那么該地區(qū)就有必要設立ATM了毁习。
顯然智嚷,銀行的交易量是巨大的,通常以百萬甚至千萬次來計算纺且。事務系統(tǒng)是實時的盏道,這就要求時效性,客戶存一筆錢需要幾十秒是無法忍受的载碌,這就要求數(shù)據(jù)庫只能存儲很短一段時間的數(shù)據(jù)猜嘱。而分析系統(tǒng)是事后的,它要提供關注時間段內所有的有效數(shù)據(jù)恐仑。這些數(shù)據(jù)是海量的泉坐,匯總計算起來也要慢一些,但是裳仆,只要能夠提供有效的分析數(shù)據(jù)就達到目的了腕让。
數(shù)據(jù)倉庫,是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進一步挖掘數(shù)據(jù)資源纯丸、為了決策需要而產(chǎn)生的偏形,它決不是所謂的“大型數(shù)據(jù)庫”。
3 數(shù)據(jù)倉庫的分層
3.1數(shù)倉分層
數(shù)據(jù)分層是數(shù)據(jù)倉庫設計中一個十分重要的環(huán)節(jié)觉鼻,良好的分層設計能夠讓整個數(shù)據(jù)體系更容易被理解和使用俊扭。本文介紹的是如何理解數(shù)據(jù)倉庫中各個分層的作用。
圖解數(shù)據(jù)分層
3.2何為數(shù)倉DW
Data warehouse(可簡寫為DW或者DWH)數(shù)據(jù)倉庫坠陈,是在數(shù)據(jù)庫已經(jīng)大量存在的情況下萨惑,它是一整套包括了etl、調度仇矾、建模在內的完整的理論體系庸蔼。
數(shù)據(jù)倉庫的方案建設的目的,是為前端查詢和分析作為基礎贮匕,主要應用于OLAP(on-line Analytical Processing)姐仅,支持復雜的分析操作,側重決策支持刻盐,并且提供直觀易懂的查詢結果掏膏。目前行業(yè)比較流行的有:AWS Redshift,Greenplum敦锌,Hive等馒疹。
數(shù)據(jù)倉庫并不是數(shù)據(jù)的最終目的地,而是為數(shù)據(jù)最終的目的地做好準備供屉,這些準備包含:清洗行冰、轉義、分類伶丐、重組悼做、合并、拆分哗魂、統(tǒng)計等
3.3為何要分層
數(shù)據(jù)倉庫中涉及到的問題:
為什么要做數(shù)據(jù)倉庫肛走?
為什么要做數(shù)據(jù)質量管理?
為什么要做元數(shù)據(jù)管理录别?
數(shù)倉分層中每個層的作用是什么朽色?
…...
在實際的工作中,我們都希望自己的數(shù)據(jù)能夠有順序地流轉组题,設計者和使用者能夠清晰地知道數(shù)據(jù)的整個聲明周期葫男,比如下面左圖。
但是崔列,實際情況下梢褐,我們所面臨的數(shù)據(jù)狀況很有可能是復雜性高旺遮、且層級混亂的,我們可能會做出一套表依賴結構混亂盈咳,且出現(xiàn)循環(huán)依賴的數(shù)據(jù)體系耿眉,比如下面的右圖。
為了解決我們可能面臨的問題鱼响,需要一套行之有效的數(shù)據(jù)組織鸣剪、管理和處理方法,來讓我們的數(shù)據(jù)體系更加有序丈积,這就是數(shù)據(jù)分層筐骇。數(shù)據(jù)分層的好處:
- 清晰數(shù)據(jù)結構:讓每個數(shù)據(jù)層都有自己的作用和職責,在使用和維護的時候能夠更方便和理解
- 復雜問題簡化:將一個復雜的任務拆解成多個步驟來分步驟完成江滨,每個層只解決特定的問題
- 統(tǒng)一數(shù)據(jù)口徑:通過數(shù)據(jù)分層拥褂,提供統(tǒng)一的數(shù)據(jù)出口,統(tǒng)一輸出口徑
- 減少重復開發(fā):規(guī)范數(shù)據(jù)分層牙寞,開發(fā)通用的中間層,可以極大地減少重復計算的工作
3.4數(shù)據(jù)分層
每個公司的業(yè)務都可以根據(jù)自己的業(yè)務需求分層不同的層次莫秆;目前比較流行的數(shù)據(jù)分層:數(shù)據(jù)運營層间雀、數(shù)據(jù)倉庫層、數(shù)據(jù)服務層镊屎。
數(shù)據(jù)運營層ODS
數(shù)據(jù)運營層:Operation Data Store 數(shù)據(jù)準備區(qū)惹挟,也稱為貼源層。數(shù)據(jù)源中的數(shù)據(jù)缝驳,經(jīng)過抽取连锯、洗凈、傳輸用狱,也就是ETL過程之后進入本層运怖。該層的主要功能:
- ODS是后面數(shù)據(jù)倉庫層的準備區(qū)
- 為DWD層提供原始數(shù)據(jù)
- 減少對業(yè)務系統(tǒng)的影響
為了考慮后續(xù)可能需要追溯數(shù)據(jù)問題,因此對于這一層就不建議做過多的數(shù)據(jù)清洗工作夏伊,原封不動地接入原始數(shù)據(jù)即可
這層的數(shù)據(jù)是后續(xù)數(shù)據(jù)倉庫加工數(shù)據(jù)的來源摇展。數(shù)據(jù)來源的方式:
業(yè)務庫:sqoop定時抽取數(shù)據(jù);實時方面考慮使用canal監(jiān)聽mysql的binlog日志溺忧,實時接入即可
- 埋點日志:日志一般是以文件的形式保存咏连,可以選擇使用flume來
- 定時同步;可以使用spark streaming或者Flink鲁森、Kafka來實時接入
- 消息隊列:來自ActiveMQ祟滴、Kafka的數(shù)據(jù)等
數(shù)據(jù)倉庫層
數(shù)據(jù)倉庫層從上到下,又可以分為3個層:數(shù)據(jù)細節(jié)層DWD歌溉、數(shù)據(jù)中間層DWM垄懂、數(shù)據(jù)服務層DWS。
- 數(shù)據(jù)細節(jié)層DWD
數(shù)據(jù)細節(jié)層:data warehouse details,DWD
該層是業(yè)務層和數(shù)據(jù)倉庫的隔離層埠偿,保持和ODS層一樣的數(shù)據(jù)顆粒度透罢;主要是對ODS數(shù)據(jù)層做一些數(shù)據(jù)的清洗和規(guī)范化的操作,比如去除空數(shù)據(jù)冠蒋、臟數(shù)據(jù)羽圃、離群值等。
為了提高數(shù)據(jù)明細層的易用性抖剿,該層通常會才采用一些維度退化方法朽寞,將維度退化至事實表中,減少事實表和維表的關聯(lián)斩郎。
- 數(shù)據(jù)中間層DWM
數(shù)據(jù)中間層:Data Warehouse Middle脑融,DWM;
該層是在DWD層的數(shù)據(jù)基礎上缩宜,對數(shù)據(jù)做一些輕微的聚合操作肘迎,生成一些列的中間結果表,提升公共指標的復用性锻煌,減少重復加工的工作妓布。簡答來說,對通用的核心維度進行聚合操作宋梧,算出相應的統(tǒng)計指標
- 數(shù)據(jù)服務層DWS
數(shù)據(jù)服務層:Data Warehouse Service匣沼,DWS;
該層是基于DWM上的基礎數(shù)據(jù)捂龄,整合匯總成分析某一個主題域的數(shù)據(jù)服務層释涛,一般是寬表,用于提供后續(xù)的業(yè)務查詢倦沧,OLAP分析唇撬,數(shù)據(jù)分發(fā)等。
一般來說展融,該層的數(shù)據(jù)表會相對較少局荚;一張表會涵蓋比較多的業(yè)務內容,由于其字段較多愈污,因此一般也會稱該層的表為寬表耀态。
- 數(shù)據(jù)應用層ADS
數(shù)據(jù)應用層:Application Data Service,ADS暂雹;
該層主要是提供給數(shù)據(jù)產(chǎn)品和數(shù)據(jù)分析使用的數(shù)據(jù)首装,一般會存放在ES、Redis杭跪、PostgreSql等系統(tǒng)中供線上系統(tǒng)使用仙逻;也可能存放在hive或者Druid中驰吓,供數(shù)據(jù)分析和數(shù)據(jù)挖掘使用,比如常用的數(shù)據(jù)報表就是存在這里的系奉。
- 事實表 Fact Table
事實表是指存儲有事實記錄的表檬贰,比如系統(tǒng)日志、銷售記錄等缺亮。事實表的記錄在不斷地增長翁涤,比如電商的商品訂單表,就是類似的情況萌踱,所以事實表的體積通常是遠大于其他表葵礼。
- 維表層Dimension
維度表(Dimension Table)或維表,有時也稱查找表(Lookup Table)并鸵,是與事實表相對應的一種表鸳粉;它保存了維度的屬性值,可以跟事實表做關聯(lián)园担,相當于將事實表上經(jīng)常重復出現(xiàn)的屬性抽取届谈、規(guī)范出來用一張表進行管理。維度表主要是包含兩個部分: - 高基數(shù)維度數(shù)據(jù):一般是用戶資料表弯汰、商品資料表類似的資料表疼约,數(shù)據(jù)量可能是千萬級或者上億級別
-
低基數(shù)維度數(shù)據(jù):一般是配置表,比如枚舉字段對應的中文含義蝙泼,或者日期維表等;數(shù)據(jù)量可能就是個位數(shù)或者幾千幾萬劝枣。
常見的維度表有:日期表(存儲與日期對應的周汤踏、月、季度等的屬性)舔腾、地點表(包含國家溪胶、省/州稳诚、城市等屬性)等哗脖。
4 數(shù)據(jù)湖
4.1基本定義
數(shù)據(jù)湖是目前比較熱的一個概念,許多企業(yè)都在構建或者計劃構建自己的數(shù)據(jù)湖扳还。但是在計劃構建數(shù)據(jù)湖之前才避,搞清楚什么是數(shù)據(jù)湖,明確一個數(shù)據(jù)湖項目的基本組成氨距,進而設計數(shù)據(jù)湖的基本架構桑逝,對于數(shù)據(jù)湖的構建至關重要。關于什么是數(shù)據(jù)湖俏让,有如下定義
Wikipedia
Wikipedia是這樣定義的:
數(shù)據(jù)湖(Data Lake)是一個存儲企業(yè)的各種各樣原始數(shù)據(jù)的大型倉庫楞遏,其中的數(shù)據(jù)可供存取茬暇、處理、分析及傳輸寡喝。數(shù)據(jù)湖是以其自然格式存儲的數(shù)據(jù)的系統(tǒng)或存儲庫糙俗,通常是對象Blob或文件。數(shù)據(jù)湖通常是企業(yè)所有數(shù)據(jù)的單一存儲预鬓,包括源系統(tǒng)數(shù)據(jù)的原始副本巧骚,以及用于報告、可視化珊皿、分析和機器學習等任務的轉換數(shù)據(jù)网缝。數(shù)據(jù)湖可以包括來自關系數(shù)據(jù)庫(行和列)的結構化數(shù)據(jù),半結構化數(shù)據(jù)(CSV蟋定,日志粉臊,XML,JSON)驶兜,非結構化數(shù)據(jù)(電子郵件扼仲,文檔,PDF)和二進制數(shù)據(jù)(圖像抄淑,音頻屠凶,視頻)。
AWS
AWS的定義相對就簡潔一點:
數(shù)據(jù)湖是一個集中式存儲庫肆资,允許您以任意規(guī)模存儲所有結構化和非結構化數(shù)據(jù)矗愧。您可以按原樣存儲數(shù)據(jù)(無需先對數(shù)據(jù)進行結構化處理),并運行不同類型的分析 – 從控制面板和可視化到大數(shù)據(jù)處理郑原、實時分析和機器學習唉韭,以指導做出更好的決策。
微軟
微軟的定義就更加模糊了犯犁,并沒有明確給出什么是Data Lake属愤,而是取巧的將數(shù)據(jù)湖的功能作為定義
Azure的數(shù)據(jù)湖包括一切使得開發(fā)者、數(shù)據(jù)科學家酸役、分析師能更簡單的存儲住诸、處理數(shù)據(jù)的能力,這些能力使得用戶可以存儲任意規(guī)模涣澡、任意類型贱呐、任意產(chǎn)生速度的數(shù)據(jù),并且可以跨平臺入桂、跨語言的做所有類型的分析和處理吼句。數(shù)據(jù)湖在能幫助用戶加速應用數(shù)據(jù)的同時,消除了數(shù)據(jù)采集和存儲的復雜性事格,同時也能支持批處理惕艳、流式計算搞隐、交互式分析等。數(shù)據(jù)湖能同現(xiàn)有的數(shù)據(jù)管理和治理的IT投資一起工作远搪,保證數(shù)據(jù)的一致劣纲、可管理和安全。它也能同現(xiàn)有的業(yè)務數(shù)據(jù)庫和數(shù)據(jù)倉庫無縫集成谁鳍,幫助擴展現(xiàn)有的數(shù)據(jù)應用癞季。Azure數(shù)據(jù)湖吸取了大量企業(yè)級用戶的經(jīng)驗,并且在微軟一些業(yè)務中支持了大規(guī)模處理和分析場景倘潜,包括Office 365, Xbox Live, Azure, Windows, Bing和Skype想许。Azure解決了許多效率和可擴展性的挑戰(zhàn)傍妒,作為一類服務使得用戶可以最大化數(shù)據(jù)資產(chǎn)的價值來滿足當前和未來需求健芭。
關于數(shù)據(jù)湖的定義其實很多坷虑,但是基本上都圍繞著以下幾個特性展開。
1养泡、 數(shù)據(jù)湖需要提供足夠用的數(shù)據(jù)存儲能力嗜湃,這個存儲保存了一個企業(yè)/組織中的所有數(shù)據(jù)。
2澜掩、 數(shù)據(jù)湖可以存儲海量的任意類型的數(shù)據(jù)购披,包括結構化、半結構化和非結構化數(shù)據(jù)肩榕。
3刚陡、 數(shù)據(jù)湖中的數(shù)據(jù)是原始數(shù)據(jù),是業(yè)務數(shù)據(jù)的完整副本株汉。數(shù)據(jù)湖中的數(shù)據(jù)保持了他們在業(yè)務系統(tǒng)中原來的樣子筐乳。
4、 數(shù)據(jù)湖需要具備完善的數(shù)據(jù)管理能力(完善的元數(shù)據(jù))郎逃,可以管理各類數(shù)據(jù)相關的要素,包括數(shù)據(jù)源挺份、數(shù)據(jù)格式褒翰、連接信息、數(shù)據(jù)schema匀泊、權限管理等优训。
5、 數(shù)據(jù)湖需要具備多樣化的分析能力各聘,包括但不限于批處理揣非、流式計算、交互式分析以及機器學習躲因;同時早敬,還需要提供一定的任務調度和管理能力忌傻。
6、 數(shù)據(jù)湖需要具備完善的數(shù)據(jù)生命周期管理能力搞监。不光需要存儲原始數(shù)據(jù)水孩,還需要能夠保存各類分析處理的中間結果,并完整的記錄數(shù)據(jù)的分析處理過程琐驴,能幫助用戶完整詳細追溯任意一條數(shù)據(jù)的產(chǎn)生過程俘种。
7、 數(shù)據(jù)湖需要具備完善的數(shù)據(jù)獲取和數(shù)據(jù)發(fā)布能力绝淡。數(shù)據(jù)湖需要能支撐各種各樣的數(shù)據(jù)源宙刘,并能從相關的數(shù)據(jù)源中獲取全量/增量數(shù)據(jù);然后規(guī)范存儲牢酵。數(shù)據(jù)湖能將數(shù)據(jù)分析處理的結果推送到合適的存儲引擎中悬包,滿足不同的應用訪問需求。
8茁帽、 對于大數(shù)據(jù)的支持玉罐,包括超大規(guī)模存儲以及可擴展的大規(guī)模數(shù)據(jù)處理能力。
綜上潘拨,個人認為數(shù)據(jù)湖應該是一種不斷演進中吊输、可擴展的大數(shù)據(jù)存儲、處理铁追、分析的基礎設施季蚂;以數(shù)據(jù)為導向,實現(xiàn)任意來源琅束、任意速度扭屁、任意規(guī)模、任意類型數(shù)據(jù)的全量獲取涩禀、全量存儲料滥、多模式處理與全生命周期管理;并通過與各類外部異構數(shù)據(jù)源的交互集成艾船,支持各類企業(yè)級應用葵腹。
圖1. 數(shù)據(jù)湖基本能力示意
這里需要再特別指出兩點:1)可擴展是指規(guī)模的可擴展和能力的可擴展,即數(shù)據(jù)湖不但要能夠隨著數(shù)據(jù)量的增大屿岂,提供“足夠”的存儲和計算能力践宴;還需要根據(jù)需要不斷提供新的數(shù)據(jù)處理模式,例如可能一開始業(yè)務只需要批處理能力爷怀,但隨著業(yè)務的發(fā)展阻肩,可能需要交互式的即席分析能力;又隨著業(yè)務的實效性要求不斷提升运授,可能需要支持實時分析和機器學習等豐富的能力烤惊。2)以數(shù)據(jù)為導向乔煞,是指數(shù)據(jù)湖對于用戶來說要足夠的簡單、易用撕氧,幫助用戶從復雜的IT基礎設施運維工作中解脫出來瘤缩,關注業(yè)務、關注模型伦泥、關注算法剥啤、關注數(shù)據(jù)。數(shù)據(jù)湖面向的是數(shù)據(jù)科學家不脯、分析師府怯。目前來看,云原生應該是構建數(shù)據(jù)湖的一種比較理想的構建方式防楷,后面在“數(shù)據(jù)湖基本架構”一節(jié)會詳細論述這一觀點牺丙。
4.2數(shù)據(jù)湖的基本特征
根據(jù)要求,典型的組織將需要數(shù)據(jù)倉庫和數(shù)據(jù)湖复局,因為它們可滿足不同的需求和使用案例冲簿。
數(shù)據(jù)倉庫是一個優(yōu)化的數(shù)據(jù)庫,用于分析來自事務系統(tǒng)和業(yè)務線應用程序的關系數(shù)據(jù)亿昏。事先定義數(shù)據(jù)結構和 Schema 以優(yōu)化快速 SQL 查詢峦剔,其中結果通常用于操作報告和分析。數(shù)據(jù)經(jīng)過了清理角钩、豐富和轉換吝沫,因此可以充當用戶可信任的“單一信息源”
。數(shù)據(jù)湖有所不同递礼,因為它存儲來自業(yè)務線應用程序的關系數(shù)據(jù)惨险,以及來自移動應用程序、IoT 設備和社交媒體的非關系數(shù)據(jù)脊髓。捕獲數(shù)據(jù)時辫愉,未定義數(shù)據(jù)結構或 Schema。這意味著您可以存儲所有數(shù)據(jù)将硝,而不需要精心設計也無需知道將來您可能需要哪些問題的答案恭朗。您可以對數(shù)據(jù)使用不同類型的分析(如 SQL 查詢、大數(shù)據(jù)分析袋哼、全文搜索冀墨、實時分析和機器學習)來獲得見解闸衫。
隨著使用數(shù)據(jù)倉庫的組織看到數(shù)據(jù)湖的優(yōu)勢涛贯,他們正在改進其倉庫以包括數(shù)據(jù)湖,并啟用各種查詢功能蔚出、數(shù)據(jù)科學使用案例和用于發(fā)現(xiàn)新信息模型的高級功能弟翘。
通過對比數(shù)據(jù)湖與傳統(tǒng)數(shù)倉的區(qū)別虫腋,可以從數(shù)據(jù)和計算兩個層面進一步分析數(shù)據(jù)湖應該具備哪些特征。在數(shù)據(jù)方面:
1)“保真性”稀余。數(shù)據(jù)湖中對于業(yè)務系統(tǒng)中的數(shù)據(jù)都會存儲一份“一模一樣”的完整拷貝悦冀。與數(shù)據(jù)倉庫不同的地方在于,數(shù)據(jù)湖中必須要保存一份原始數(shù)據(jù)睛琳,無論是數(shù)據(jù)格式盒蟆、數(shù)據(jù)模式、數(shù)據(jù)內容都不應該被修改师骗。在這方面历等,數(shù)據(jù)湖強調的是對于業(yè)務數(shù)據(jù)“原汁原味”的保存。同時辟癌,數(shù)據(jù)湖應該能夠存儲任意類型/格式的數(shù)據(jù)寒屯。
2)“靈活性”: 上表一個點是 “寫入型schema” v.s.“讀取型schema”,其實本質上來講是數(shù)據(jù)schema的設計發(fā)生在哪個階段的問題黍少。對于任何數(shù)據(jù)應用來說寡夹,其實schema的設計都是必不可少的,即使是mongoDB等一些強調“無模式”的數(shù)據(jù)庫厂置,其最佳實踐里依然建議記錄盡量采用相同/相似的結構菩掏。“寫入型schema”背后隱含的邏輯是數(shù)據(jù)在寫入之前农渊,就需要根據(jù)業(yè)務的訪問方式確定數(shù)據(jù)的schema患蹂,然后按照既定schema,完成數(shù)據(jù)導入砸紊,帶來的好處是數(shù)據(jù)與業(yè)務的良好適配传于;但是這也意味著數(shù)倉的前期擁有成本會比較高,特別是當業(yè)務模式不清晰醉顽、業(yè)務還處于探索階段時沼溜,數(shù)倉的靈活性不夠。
數(shù)據(jù)湖強調的“讀取型schema”游添,背后的潛在邏輯則是認為業(yè)務的不確定性是常態(tài):我們無法預期業(yè)務的變化系草,那么我們就保持一定的靈活性,將設計去延后唆涝,讓整個基礎設施具備使數(shù)據(jù)“按需”貼合業(yè)務的能力找都。因此,個人認為“保真性”和“靈活性”是一脈相承的:既然沒辦法預估業(yè)務的變化廊酣,那么索性保持數(shù)據(jù)最為原始的狀態(tài)能耻,一旦需要時,可以根據(jù)需求對數(shù)據(jù)進行加工處理。因此晓猛,數(shù)據(jù)湖更加適合創(chuàng)新型企業(yè)饿幅、業(yè)務高速變化發(fā)展的企業(yè)。同時戒职,數(shù)據(jù)湖的用戶也相應的要求更高栗恩,數(shù)據(jù)科學家、業(yè)務分析師(配合一定的可視化工具)是數(shù)據(jù)湖的目標客戶洪燥。
3)“可管理”:數(shù)據(jù)湖應該提供完善的數(shù)據(jù)管理能力磕秤。既然數(shù)據(jù)要求“保真性”和“靈活性”,那么至少數(shù)據(jù)湖中會存在兩類數(shù)據(jù):原始數(shù)據(jù)和處理后的數(shù)據(jù)捧韵。數(shù)據(jù)湖中的數(shù)據(jù)會不斷的積累亲澡、演化。因此纫版,對于數(shù)據(jù)管理能力也會要求很高床绪,至少應該包含以下數(shù)據(jù)管理能力:數(shù)據(jù)源、數(shù)據(jù)連接其弊、數(shù)據(jù)格式癞己、數(shù)據(jù)schema(庫/表/列/行)。同時梭伐,數(shù)據(jù)湖是單個企業(yè)/組織中統(tǒng)一的數(shù)據(jù)存放場所痹雅,因此,還需要具有一定的權限管理能力糊识。
4)“可追溯”:數(shù)據(jù)湖是一個組織/企業(yè)中全量數(shù)據(jù)的存儲場所绩社,需要對數(shù)據(jù)的全生命周期進行管理,包括數(shù)據(jù)的定義赂苗、接入愉耙、存儲、處理拌滋、分析朴沿、應用的全過程。一個強大的數(shù)據(jù)湖實現(xiàn)败砂,需要能做到對其間的任意一條數(shù)據(jù)的接入赌渣、存儲、處理昌犹、消費過程是可追溯的坚芜,能夠清楚的重現(xiàn)數(shù)據(jù)完整的產(chǎn)生過程和流動過程。
在計算方面斜姥,個人認為數(shù)據(jù)湖對于計算能力要求其實非常廣泛鸿竖,完全取決于業(yè)務對于計算的要求路操。
5)豐富的計算引擎。從批處理千贯、流式計算、交互式分析到機器學習搞坝,各類計算引擎都屬于數(shù)據(jù)湖應該囊括的范疇搔谴。一般情況下,數(shù)據(jù)的加載桩撮、轉換敦第、處理會使用批處理計算引擎;需要實時計算的部分店量,會使用流式計算引擎芜果;對于一些探索式的分析場景,可能又需要引入交互式分析引擎融师。隨著大數(shù)據(jù)技術與人工智能技術的結合越來越緊密右钾,各類機器學習/深度學習算法也被不斷引入,例如TensorFlow/PyTorch框架已經(jīng)支持從HDFS/S3/OSS上讀取樣本數(shù)據(jù)進行訓練旱爆。因此舀射,對于一個合格的數(shù)據(jù)湖項目而言,計算引擎的可擴展/可插拔怀伦,應該是一類基礎能力
6)多模態(tài)的存儲引擎脆烟。理論上,數(shù)據(jù)湖本身應該內置多模態(tài)的存儲引擎房待,以滿足不同的應用對于數(shù)據(jù)訪問需求(綜合考慮響應時間/并發(fā)/訪問頻次/成本等因素)邢羔。但是,在實際的使用過程中桑孩,數(shù)據(jù)湖中的數(shù)據(jù)通常并不會被高頻次的訪問拜鹤,而且相關的應用也多在進行探索式的數(shù)據(jù)應用,為了達到可接受的性價比流椒,數(shù)據(jù)湖建設通常會選擇相對便宜的存儲引擎(如S3/OSS/HDFS/OBS)署惯,并且在需要時與外置存儲引擎協(xié)同工作,滿足多樣化的應用需求镣隶。
5 數(shù)據(jù)中臺
5.1背景
伴隨著云計算极谊、大數(shù)據(jù)、人工智能等技術的迅速發(fā)展安岂,以及這些技術與傳統(tǒng)行業(yè)的快速融合轻猖,企業(yè)數(shù)字化、智能化轉型的步伐逐漸加快域那。
到2021年咙边,全球至少50%的GDP將被數(shù)字化猜煮,而每個行業(yè)的增長都會受到數(shù)字產(chǎn)品與服務、數(shù)據(jù)化運營的驅動败许。
數(shù)字化轉型成功的企業(yè)王带,其內部和外部的交互均以數(shù)據(jù)為基礎。業(yè)務的變化快速反饋在數(shù)據(jù)上市殷,企業(yè)能夠迅速感知并做出反應愕撰,而其決策與考核基于客觀數(shù)據(jù)。同時醋寝,數(shù)據(jù)是活的搞挣,是流動的,越用越多音羞,越用越有價值囱桨。隨著數(shù)據(jù)與業(yè)務場景的不斷交融,業(yè)務場景將逐步實現(xiàn)通過數(shù)據(jù)自動運轉和自動優(yōu)化嗅绰,進而推動企業(yè)進入數(shù)字化和智能化的階段舍肠。
傳統(tǒng)IT建設方式下,企業(yè)的各種信息系統(tǒng)大多是獨立采購或者獨立建設的窘面,無法做到信息的互聯(lián)互通貌夕,導致企業(yè)內部形成多個數(shù)據(jù)孤島。
傳統(tǒng)煙囪式IT建設方式:在一個有一定規(guī)模的企業(yè)中民镜,通常都會存在各種各樣的應用系統(tǒng)啡专,它們分別由企業(yè)的各個不同部門、在各種不同歷史時期制圈、為滿足各種不同業(yè)務目的而開發(fā)们童。由于數(shù)據(jù)格式?jīng)]有統(tǒng)一規(guī)范,相互之間沒有聯(lián)通鲸鹦、數(shù)據(jù)更沒有整合慧库,像一個個煙囪,因此稱其為“煙囪式應用”
互聯(lián)網(wǎng)馋嗜、移動互聯(lián)網(wǎng)的發(fā)展帶來很多新的業(yè)務模式齐板,很多企業(yè)嘗試通過服務號、小程序葛菇、O2O平臺等新模式觸達客戶甘磨、服務客戶,新模式是通過新的平臺支撐的眯停,產(chǎn)生的數(shù)據(jù)與傳統(tǒng)模式下的數(shù)據(jù)也無法互通济舆,這進一步加劇了數(shù)據(jù)孤島問題。分散在各個孤島的數(shù)據(jù)無法很好地支撐企業(yè)的經(jīng)營決策莺债,也無法很好地應對快速變化的前端業(yè)務滋觉。因此需要一套機制签夭,通過這套機制融合新老模式,整合分散在各個孤島上的數(shù)據(jù)椎侠,快速形成數(shù)據(jù)服務能力第租,為企業(yè)經(jīng)營決策、精細化運營提供支撐我纪,這套機制就是數(shù)據(jù)中臺慎宾,如下圖所示。
5.2定義
與許多新概念誕生之初的境遇一樣宣羊,數(shù)據(jù)中臺目前正處于“定義混亂期”。
有人認為數(shù)據(jù)中臺是云平臺的一部分汰蜘,同時包括業(yè)務中臺和技術中臺仇冯;有人認為數(shù)據(jù)中臺是數(shù)據(jù)的共享、整合和深度分析族操;還有人認為數(shù)據(jù)中臺是“計算平臺+算法模型+智能硬件”苛坚,不僅有云端,還需要智能設備幫企業(yè)在終端收集線下數(shù)據(jù)……從服務方到客戶方色难,對數(shù)據(jù)中臺的理解并不相同泼舱,如同一千個觀眾心中就有一千個哈姆雷特。
數(shù)據(jù)中臺是一套可持續(xù)“讓企業(yè)的數(shù)據(jù)用起來”的機制枷莉,是一種戰(zhàn)略選擇和組織形式娇昙,是依據(jù)企業(yè)特有的業(yè)務模式和組織架構,通過有形的產(chǎn)品和實施方法論支撐笤妙,構建的一套持續(xù)不斷把數(shù)據(jù)變成資產(chǎn)并服務于業(yè)務的機制冒掌。 數(shù)據(jù)來自于業(yè)務,并反哺業(yè)務蹲盘,不斷循環(huán)迭代股毫,實現(xiàn)數(shù)據(jù)可見、可用召衔、可運營
5.3數(shù)據(jù)中臺必備的4個核心能力
數(shù)據(jù)中臺需要具備數(shù)據(jù)匯聚整合铃诬、數(shù)據(jù)提純加工、數(shù)據(jù)服務可視化苍凛、數(shù)據(jù)價值變現(xiàn)4個核心能力趣席,讓企業(yè)員工、客戶醇蝴、伙伴能夠方便地應用數(shù)據(jù)
1.匯聚整合
隨著業(yè)務的多元化發(fā)展吩坝,企業(yè)內部往往有多個信息部門和數(shù)據(jù)中心,大量系統(tǒng)哑蔫、功能和應用重復建設钉寝,存在巨大的數(shù)據(jù)資源弧呐、計算資源和人力資源的浪費,同時組織壁壘也導致數(shù)據(jù)孤島的出現(xiàn)嵌纲,使得內外部數(shù)據(jù)難以全局規(guī)劃俘枫。
數(shù)據(jù)中臺需要對數(shù)據(jù)進行整合和完善,提供適用逮走、適配鸠蚪、成熟、完善的一站式大數(shù)據(jù)平臺工具师溅,在簡便有效的基礎上衩茸,實現(xiàn)數(shù)據(jù)采集、交換等任務配置以及監(jiān)控管理沐旨。
數(shù)據(jù)中臺必須具備數(shù)據(jù)集成與運營方面的能力核芽,能夠接入、轉換窿锉、寫入或緩存企業(yè)內外部多種來源的數(shù)據(jù)酌摇,協(xié)助不同部門和團隊的數(shù)據(jù)使用者更好地定位數(shù)據(jù)、理解數(shù)據(jù)嗡载。同時數(shù)據(jù)安全窑多、靈活可用也是絕大多數(shù)企業(yè)看重的,他們期望數(shù)據(jù)中臺能協(xié)助企業(yè)提升數(shù)據(jù)可用性和易用性洼滚,且在系統(tǒng)部署上能支持多種模式埂息。
2.提純加工
數(shù)據(jù)就像石油,需要經(jīng)過提純加工才能使用遥巴,這個過程就是數(shù)據(jù)資產(chǎn)化耿芹。
企業(yè)需要完整的數(shù)據(jù)資產(chǎn)體系,圍繞著能給業(yè)務帶來價值的數(shù)據(jù)資產(chǎn)進行建設挪哄,推動業(yè)務數(shù)據(jù)向數(shù)據(jù)資產(chǎn)的轉化吧秕。
傳統(tǒng)的數(shù)字化建設往往局限在單個業(yè)務流程,忽視了多業(yè)務的關聯(lián)數(shù)據(jù)迹炼,缺乏對數(shù)據(jù)的深度理解砸彬。數(shù)據(jù)中臺必須連通全域數(shù)據(jù),通過統(tǒng)一的數(shù)據(jù)標準和質量體系斯入,建設提純加工后的標準數(shù)據(jù)資產(chǎn)體系砂碉,以滿足企業(yè)業(yè)務對數(shù)據(jù)的需求。
3.服務可視化
為了盡快讓數(shù)據(jù)用起來刻两,數(shù)據(jù)中臺必須提供便捷增蹭、快速的數(shù)據(jù)服務能力,讓相關人員能夠迅速開發(fā)數(shù)據(jù)應用磅摹,支持數(shù)據(jù)資產(chǎn)場景化能力的快速輸出滋迈,以響應客戶的動態(tài)需求霎奢。
多數(shù)企業(yè)還期待數(shù)據(jù)中臺可以提供數(shù)據(jù)化運營平臺,幫助企業(yè)快速實現(xiàn)數(shù)據(jù)資產(chǎn)的可視化分析饼灿,提供包括實時流數(shù)據(jù)分析幕侠、預測分析、機器學習等更為高級的服務碍彭,為企業(yè)數(shù)據(jù)化運營賦能晤硕。
此外,伴隨著人工智能技術的飛速發(fā)展庇忌,AI的能力也被多數(shù)企業(yè)期待能應用到數(shù)據(jù)中臺上舞箍,實現(xiàn)自然語言處理等方面的服務。數(shù)據(jù)洞察來源于分析皆疹,數(shù)據(jù)中臺必須提供豐富的分析功能疏橄,數(shù)據(jù)資產(chǎn)必須服務于業(yè)務分析才能解決企業(yè)在數(shù)據(jù)洞察方面的短板,實現(xiàn)與業(yè)務的緊密結合
4.價值變現(xiàn)
數(shù)據(jù)中臺通過打通企業(yè)數(shù)據(jù)墙基,提供以前單個部門或者單個業(yè)務單元無法提供的數(shù)據(jù)服務能力软族,以實現(xiàn)數(shù)據(jù)的更大價值變現(xiàn)刷喜。
企業(yè)期待數(shù)據(jù)中臺能提升跨部門的普適性業(yè)務價值能力残制,更好地管理數(shù)據(jù)應用,將數(shù)據(jù)洞察變成直接驅動業(yè)務行動的核心動能掖疮,跨業(yè)務場景推進數(shù)據(jù)實踐初茶。同時,企業(yè)對于如何評估業(yè)務行動的效果也十分關注浊闪,因為沒有效果評估就難以得到有效反饋恼布,從而難以迭代更新數(shù)據(jù)應用,難以持續(xù)為客戶帶來價值搁宾,如圖2-6所示折汞。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JeaFmN3M-1658833684981)(en-resource://database/1460:1)]
如前所述,數(shù)據(jù)中臺是一套持續(xù)地讓企業(yè)的數(shù)據(jù)用起來的機制盖腿,要想把數(shù)據(jù)用起來爽待,四個核心能力都需要不斷迭代和提升。從戰(zhàn)略上來看翩腐,匯聚整合鸟款、提純加工、服務可視化和價值變現(xiàn)的能力是數(shù)據(jù)中臺最核心的競爭力茂卦, 是企業(yè)真正將數(shù)據(jù)轉化為生產(chǎn)力何什、實現(xiàn)數(shù)字化轉型和商業(yè)創(chuàng)新、永葆競爭力的保障
5.4數(shù)據(jù)中臺的價值
業(yè)務價值
業(yè)務價值:從洞察走向賦能業(yè)務創(chuàng)新等龙,形成核心壁壘
在以客戶為中心的時代处渣,數(shù)據(jù)中臺對數(shù)字化轉型具有重要作用伶贰,以數(shù)據(jù)中臺為基礎的數(shù)據(jù)系統(tǒng)將位于企業(yè)應用的核心,通過數(shù)據(jù)從企業(yè)降本增效霍比、精細化經(jīng)營等方面為企業(yè)帶來巨大收益幕袱。具體來說,筆者們認為包含以下三個層面:
1.以客戶為中心悠瞬,用洞察驅動企業(yè)穩(wěn)健行動
在以客戶為中心的時代们豌,客戶的觀念和行為正在從根本上改變企業(yè)的經(jīng)營方式以及企業(yè)與客戶的互動方式。
數(shù)據(jù)中臺建設的核心目標就是以客戶為中心的持續(xù)規(guī)那匙保化創(chuàng)新望迎,而數(shù)據(jù)中臺的出現(xiàn),將會極大提升數(shù)據(jù)的應用能力凌外,將海量數(shù)據(jù)轉化為高質量數(shù)據(jù)資產(chǎn)辩尊,為企業(yè)提供更深層的客戶洞察,從而為客戶提供更具個性化和智能化的產(chǎn)品和服務康辑。
譬如摄欲,數(shù)據(jù)中臺能夠匯聚全渠道的數(shù)據(jù),在標簽管理疮薇、營銷圈人胸墙、效果分析等應用上實現(xiàn)全域的閉環(huán),優(yōu)化對客戶全生命周期的理解按咒。此外迟隅,以數(shù)據(jù)中臺為基礎,通過數(shù)據(jù)化運營提升客戶留存励七、復購和忠誠度智袭,也得到諸多企業(yè)的認可。
2.以數(shù)據(jù)為基礎掠抬,支持大規(guī)模商業(yè)模式創(chuàng)新
只有依托數(shù)據(jù)和算法吼野,將由海量數(shù)據(jù)提煉的洞察轉化為行動,才能推動大規(guī)模的商業(yè)創(chuàng)新两波。數(shù)據(jù)中臺在通過算法將洞察直接轉化為行動瞳步、實現(xiàn)大規(guī)模商業(yè)創(chuàng)新方面的能力,令人矚目雨女。
另一方面谚攒,數(shù)據(jù)無法被業(yè)務用起來的一個原因是數(shù)據(jù)沒辦法變得可閱讀、易理解氛堕。信息技術人員不夠懂業(yè)務馏臭,而業(yè)務人員不夠懂數(shù)據(jù),導致數(shù)據(jù)應用到業(yè)務變得很困難,數(shù)據(jù)中臺需要考慮將信息技術人員與業(yè)務人員之間的障礙打破括儒,信息技術人員將數(shù)據(jù)變成業(yè)務人員可閱讀绕沈、易理解的內容,業(yè)務人員看到內容后能夠很快結合到業(yè)務中去帮寻,這樣才能更好地支撐商業(yè)模式的創(chuàng)新
乍狐。此外,數(shù)據(jù)中臺提供標準的數(shù)據(jù)訪問能力固逗,簡化集成復雜性浅蚪、促進互操作性等特性也非常受企業(yè)CIO們的青睞。同時烫罩,在快速構建服務能力惜傲、加快商業(yè)創(chuàng)新、提升業(yè)務適配等方面贝攒,數(shù)據(jù)中臺也將會發(fā)揮重要的作用盗誊。
3.盤活全量數(shù)據(jù),構筑堅實壁壘以持續(xù)領先
在以客戶為中心的時代隘弊,只有贏得客戶的企業(yè)才能在競爭中保持優(yōu)勢哈踱。企業(yè)能否真正做到“客戶至上”,并不斷提高對客戶的快速響應力來滿足客戶的需求梨熙,甚至引領市場潮流开镣,持續(xù)推進規(guī)模化創(chuàng)新串结,終將決定企業(yè)能否在充滿挑戰(zhàn)和機遇的市場上發(fā)展壯大哑子,長久保持生命力與競爭力舅列。
面對紛繁復雜而又分散割裂的海量數(shù)據(jù)肌割,數(shù)據(jù)中臺的突出優(yōu)勢在于,能充分利用內外部數(shù)據(jù)帐要,打破數(shù)據(jù)孤島的現(xiàn)狀把敞,打造持續(xù)增值的數(shù)據(jù)資產(chǎn),在此基礎上榨惠,能夠降低使用數(shù)據(jù)服務的門檻奋早,繁榮數(shù)據(jù)服務的生態(tài),實現(xiàn)數(shù)據(jù)“越用越多”的價值閉環(huán)赠橙,牢牢抓住客戶耽装,確保競爭優(yōu)勢。
技術價值
技術價值:能力多期揪、成本低掉奄、應用廣
數(shù)字化轉型的需求必將催生多元化的數(shù)據(jù)場景,而多元化的數(shù)據(jù)場景將會帶來以下技術需求凤薛,企業(yè)數(shù)據(jù)中臺建設勢在必行姓建。
1.應對多數(shù)據(jù)處理的需求
針對不同的數(shù)據(jù)應用場景诞仓,需要能夠快速應對多數(shù)據(jù)處理需求,比如:
要保持原來的報表需求速兔,仍需要保持批量離線計算的能力(Hadoop墅拭、Oracle RAC);
針對準實時的指標統(tǒng)計和實時推薦涣狗,需要實時流式計算的能力(Storm谍婉、Spark Streaming、Flink)镀钓;
針對決策類業(yè)務如海量人群的圈人需求和ad-hoc需求屡萤,需要即席計算能力(Greenplum、Elasticsearch掸宛、Impala)死陆;
針對高并發(fā)業(yè)務場景(如用戶畫像),需要在線計算能力(MySQL唧瘾、Redis措译、Oracle)。
因此饰序,企業(yè)需要一個統(tǒng)一的數(shù)據(jù)中臺來滿足離線/實時計算需求领虹、各種查詢需求(實時查詢和ad hoc),同時在將來新數(shù)據(jù)引擎(更快的計算框架求豫,更快的查詢響應)出現(xiàn)時塌衰,又不需要重構目前的大數(shù)據(jù)體系。
2.豐富標簽數(shù)據(jù)蝠嘉,降低管理成本
根據(jù)全國信標委大數(shù)據(jù)標準工作組發(fā)布的《數(shù)據(jù)管理能力成熟度模型》(DCMM)最疆,針對數(shù)據(jù)標準提到的數(shù)據(jù)分類主要有主數(shù)據(jù)、參考數(shù)據(jù)和指標數(shù)據(jù)蚤告,但根據(jù)目前真實的數(shù)據(jù)建設情況來看努酸,需要對一類數(shù)據(jù)進行定義和分類,譬如標簽名為“消費特征”杜恰,標簽值為“促銷敏感”“貨比三家”“猶豫不決”获诈。數(shù)據(jù)中臺能對這類標簽進行快速定義和有效管理。
3.數(shù)據(jù)的價值能體現(xiàn)業(yè)務系統(tǒng)效果而不僅是準確度
過去的數(shù)據(jù)應用場景主要為報表需求心褐,注重數(shù)據(jù)的準確性舔涎,但在更多數(shù)據(jù)場景下,特別是對于標簽數(shù)據(jù)的應用逗爹,越來越多的數(shù)據(jù)是需要不斷“優(yōu)化”的亡嫌,數(shù)據(jù)本身沒有準不準確之分,比如某個會員是屬于促銷敏感人群,這個數(shù)據(jù)其實更多的說的是概率昼伴。
4.支持跨主題域訪問數(shù)據(jù)
企業(yè)早期建設的應用數(shù)據(jù)層ADS(傳統(tǒng)數(shù)據(jù)倉庫ODS/DW/ADS)更多是為某個主題域所服務的匾旭,如營銷域、人力資源域圃郊、風控域价涝,而企業(yè)在數(shù)據(jù)應用的時候往往需要打破各個業(yè)務主題,會從業(yè)務對象主體出發(fā)來考慮數(shù)據(jù)應用持舆,如人(會員色瘩、供應商、渠道逸寓、員工)和物(商品居兆、倉庫、合同)竹伸,從全域角度設計完整的面向對象的數(shù)據(jù)標簽體系泥栖。
5.數(shù)據(jù)可以快速復用而不僅是復制
傳統(tǒng)的架構中,要將數(shù)據(jù)應用到業(yè)務中勋篓,通用的做法都是通過數(shù)據(jù)同步能力吧享,把計算的結果同步給業(yè)務系統(tǒng),由業(yè)務系統(tǒng)自行處理譬嚣,這會帶來一個數(shù)據(jù)管理問題钢颂,即無法獲取數(shù)據(jù)在應用場景中的具體價值和熱度,整個數(shù)據(jù)血緣鏈路也是割裂的拜银。這種方式筆者們認為是復制數(shù)據(jù)殊鞭,而不是復用數(shù)據(jù)。如何快速復用數(shù)據(jù)尼桶,正是可以在數(shù)據(jù)中臺中解決的問題操灿。
數(shù)字化浪潮席卷全球,企業(yè)正面臨著前所未有的挑戰(zhàn)和機遇疯汁,必須不斷加速數(shù)字化轉型才能生存和保持領先牲尺。數(shù)據(jù)中臺能夠幫助企業(yè)聚合內外部數(shù)據(jù)卵酪,支撐高效的數(shù)據(jù)服務幌蚊,最終提升企業(yè)決策水平和業(yè)務表現(xiàn)。企業(yè)期待通過數(shù)據(jù)中臺把原始數(shù)據(jù)轉化為數(shù)據(jù)資產(chǎn)溃卡,快速構建數(shù)據(jù)服務溢豆,使企業(yè)可以持續(xù)、充分地利用數(shù)據(jù)瘸羡,實現(xiàn)數(shù)據(jù)可見漩仙、可用、可運營的目標,以數(shù)據(jù)來驅動決策和運營队他,不斷深化數(shù)字化轉型卷仑。總結一句話:數(shù)據(jù)中臺是把數(shù)據(jù)這種生產(chǎn)資料轉變?yōu)閿?shù)據(jù)生產(chǎn)力的過程麸折。
else
通過數(shù)據(jù)中臺把數(shù)據(jù)變?yōu)橐环N服務能力锡凝,既能提升管理、決策水平垢啼,又能直接支撐企業(yè)業(yè)務窜锯。數(shù)據(jù)中臺不僅僅是技術,也不僅僅是產(chǎn)品芭析,而是一套完整的讓數(shù)據(jù)用起來的機制锚扎。既然是“機制”,就需要從企業(yè)戰(zhàn)略馁启、組織驾孔、人才等方面來全方位地規(guī)劃和配合,而不能僅僅停留在工具和產(chǎn)品層面惯疙。
數(shù)據(jù)中臺通過對企業(yè)內外部多源異構的數(shù)據(jù)采集助币、治理、建模螟碎、分析和應用眉菱,使數(shù)據(jù)對內優(yōu)化管理提高業(yè)務價值,對外進行數(shù)據(jù)合作讓業(yè)務價值得到釋放掉分,使之成為企業(yè)數(shù)據(jù)資產(chǎn)管理中樞俭缓。數(shù)據(jù)中臺建立后,會形成數(shù)據(jù)API服務酥郭,為企業(yè)和客戶提供高效各種數(shù)據(jù)服務华坦。數(shù)據(jù)中臺對一個企業(yè)的數(shù)字化轉型和可持續(xù)發(fā)展起著至關重要的作用。數(shù)據(jù)中臺為解耦而生不从,企業(yè)建設數(shù)據(jù)中臺的最大意義就是應用與數(shù)據(jù)之間的解藕惜姐,這樣企業(yè)就可以不受限制地按需構建滿足業(yè)務需求的數(shù)據(jù)應用。
- 構建了開放椿息、靈活歹袁、可擴展的企業(yè)級統(tǒng)一數(shù)據(jù)管理和分析平臺, 將企業(yè)內寝优、外部數(shù)據(jù)隨需關聯(lián)条舔,打破了數(shù)據(jù)的系統(tǒng)界限。
- 利用大數(shù)據(jù)智能分析乏矾、數(shù)據(jù)可視化等技術孟抗,實現(xiàn)了數(shù)據(jù)共享迁杨、日常報表自動生成、快速和智能分析凄硼,滿足企業(yè)各級部門之間的數(shù)據(jù)分析應用需求铅协。
- 深度挖掘數(shù)據(jù)價值,助力企業(yè)數(shù)字化轉型落地摊沉。實現(xiàn)了數(shù)據(jù)的目錄警医、模型、標準坯钦、認責预皇、安全、可視化婉刀、共享等管理吟温,實現(xiàn)數(shù)據(jù)集中存儲、處理突颊、分類與管理鲁豪,建立大數(shù)據(jù)分析工具庫、算法服務庫律秃,實現(xiàn)報表生成自動化爬橡、數(shù)據(jù)分析敏捷化、數(shù)據(jù)挖掘可視化棒动,實現(xiàn)數(shù)據(jù)質量評估糙申、落地管理流程。
6 數(shù)據(jù)平臺
數(shù)據(jù)平臺是在大數(shù)據(jù)基礎上出現(xiàn)的融合了結構化和非結構化數(shù)據(jù)的數(shù)據(jù)基礎平臺船惨,為業(yè)務提供服務的方式主要是直接提供數(shù)據(jù)集柜裸。數(shù)據(jù)平臺的出現(xiàn)是為了解決數(shù)據(jù)倉庫不能處理非結構化數(shù)據(jù)和報表開發(fā)周期長的問題,所以先撇開業(yè)務需求粱锐、把企業(yè)所有的數(shù)據(jù)都抽取出來放到一起疙挺,成為一個大的數(shù)據(jù)集,其中有結構化數(shù)據(jù)怜浅、非結構化數(shù)據(jù)等铐然。當業(yè)務方有需求的時候,再把他們需要的若干個小數(shù)據(jù)集單獨提取出來恶座,以數(shù)據(jù)集的形式提供給數(shù)據(jù)應用搀暑。大數(shù)據(jù)時代,數(shù)據(jù)平臺一般被稱之為大數(shù)據(jù)平臺奥裸。狹義上的大數(shù)據(jù)平臺和傳統(tǒng)數(shù)據(jù)平臺的功能一致险掀,只是技術架構和數(shù)據(jù)容量方面的不同,但廣義的大數(shù)據(jù)平臺通常被賦予更多的使命湾宙,它不僅存儲多樣化的數(shù)據(jù)類型樟氢,還具有報表分析等數(shù)據(jù)倉庫的功能,以及其他數(shù)據(jù)分析挖掘方面的高級功能侠鳄。
數(shù)據(jù)倉庫 VS 數(shù)據(jù)湖
相較而言埠啃,數(shù)據(jù)湖是較新的技術,擁有不斷演變的架構伟恶。數(shù)據(jù)湖存儲任何形式(包括結構化和非結構化)和任何格式(包括文本碴开、音頻、視頻和圖像)的原始數(shù)據(jù)博秫。根據(jù)定義潦牛,數(shù)據(jù)湖不會接受數(shù)據(jù)治理,但專家們一致認為良好的數(shù)據(jù)管理對預防數(shù)據(jù)湖轉變?yōu)閿?shù)據(jù)沼澤不可或缺挡育。數(shù)據(jù)湖在數(shù)據(jù)讀取期間創(chuàng)建模式巴碗。與數(shù)據(jù)倉庫相比,數(shù)據(jù)湖缺乏結構性即寒,而且更靈活橡淆,并且提供了更高的敏捷性。值得一提的是母赵,數(shù)據(jù)湖非常適合使用機器學習和深度學習來執(zhí)行各種任務逸爵,比如數(shù)據(jù)挖掘和數(shù)據(jù)分析,以及提取非結構化數(shù)據(jù)等凹嘲。
數(shù)據(jù)倉庫 VS 數(shù)據(jù)平臺
由于數(shù)據(jù)倉庫具有歷史性的特性师倔,其中存儲的數(shù)據(jù)大多是結構化數(shù)據(jù);而數(shù)據(jù)平臺的出現(xiàn)解決了數(shù)據(jù)倉庫不能處理非結構化數(shù)據(jù)和報表開發(fā)周期長的問題周蹭。
數(shù)據(jù)倉庫 VS 數(shù)據(jù)中臺
數(shù)據(jù)倉庫和傳統(tǒng)的數(shù)據(jù)平臺溯革,其出發(fā)點為一個支撐性的技術系統(tǒng),即一定要先考慮我具有什么數(shù)據(jù)谷醉,然后我才能干什么致稀,因此特別強調數(shù)據(jù)質量和元數(shù)據(jù)管理;而數(shù)據(jù)中臺的第一出發(fā)點不是數(shù)據(jù)而是業(yè)務俱尼,一開始不用看你系統(tǒng)里面有什么數(shù)據(jù)抖单,而是去解決你的業(yè)務問題需要什么樣的數(shù)據(jù)服務。
在具體的技術處理環(huán)節(jié)遇八,二者也有明顯不同矛绘,數(shù)據(jù)的預處理流程正在從傳統(tǒng)的ETL結構向ELT結構轉變。傳統(tǒng)的數(shù)據(jù)倉庫集成處理架構是ETL結構刃永,這是構建數(shù)據(jù)倉庫的重要一環(huán)货矮,即用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù)兼雄,經(jīng)過數(shù)據(jù)清洗种呐,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。而大數(shù)據(jù)背景下的架構體系是ELT結構,其根據(jù)上層的應用需求庞呕,隨時從數(shù)據(jù)中臺中抽取想要的原始數(shù)據(jù)進行建模分析宜咒。
7 總結
根據(jù)以上數(shù)據(jù)平臺裹粤、數(shù)據(jù)倉庫邑贴、數(shù)據(jù)湖和數(shù)據(jù)中臺的概念論述和對比,我們進行如下總結:
- 數(shù)據(jù)中臺铃在、數(shù)據(jù)倉庫和數(shù)據(jù)湖沒有直接的關系阵具;
- 數(shù)據(jù)中臺、數(shù)據(jù)平臺定铜、數(shù)據(jù)倉庫和數(shù)據(jù)湖在某個維度上為業(yè)務產(chǎn)生價值的形式有不同的側重阳液;
- 數(shù)據(jù)中臺是企業(yè)級的邏輯概念,體現(xiàn)企業(yè)數(shù)據(jù)向業(yè)務價值轉化的能力揣炕,為業(yè)務提供服務的主要方式是數(shù)據(jù) API帘皿;
- 數(shù)據(jù)倉庫是一個相對具體的功能概念,是存儲和管理一個或多個主題數(shù)據(jù)的集合祝沸,為業(yè)務提供服務的方式主要是分析報表矮烹;
- 數(shù)據(jù)平臺是在大數(shù)據(jù)基礎上出現(xiàn)的融合了結構化和非結構化數(shù)據(jù)的數(shù)據(jù)基礎平臺,為業(yè)務提供服務的方式主要是直接提供數(shù)據(jù)集罩锐;
- 數(shù)據(jù)中臺距離業(yè)務更近奉狈,能夠更快速的響應業(yè)務和應用開發(fā)需求,從而為業(yè)務提供速度更快的服務涩惑;
- 數(shù)據(jù)倉庫是為了支持管理決策分析仁期,而數(shù)據(jù)中臺則是將數(shù)據(jù)服務化之后提供給業(yè)務系統(tǒng),不僅限于分析型場景竭恬,也適用于交易型場景跛蛋;
- 數(shù)據(jù)中臺可以建立在數(shù)據(jù)倉庫和數(shù)據(jù)平臺之上,是加速企業(yè)從數(shù)據(jù)到業(yè)務價值的過程的中間層痊硕。
8 API
API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數(shù)赊级,目的是提供應用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼岔绸,或理解內部工作機制的細節(jié)理逊。
舉個常見的例子,在京東上下單付款之后盒揉,商家選用順豐發(fā)貨晋被,然后你就可以在京東上實時查看當前的物流信息。京東和順豐作為兩家獨立的公司刚盈,為什么會在京東上實時看到順豐的快遞信息羡洛,這就要用到API,當查看自己的快遞信息時藕漱,京東利用順豐提供的API接口欲侮,可以實時調取信息呈現(xiàn)在自己的網(wǎng)站上崭闲。除此,你也可以在快遞100上輸入訂單號查取到快遞信息锈麸。只要有合作镀脂,或是有允許牺蹄,別的公司都可以通過順豐提供的API接口調取到快遞信息忘伞。既然有多方調用,那提供一個統(tǒng)一的調用規(guī)范會方便很多沙兰。
9 云原生
“云原生”氓奈,很多人會對這個新名詞感到困惑,到底什么是云原生鼎天,云原生又能給我們帶來什么呢舀奶?其實云原生的概念最早是由來自Pivotal的MattStine于2013年首次提出,這是他根據(jù)自身多年的架構和咨詢經(jīng)驗總結出來的一個思想集合斋射,得到了開源社區(qū)的不斷完善育勺,并被一直延續(xù)使用至今。
9.1定義
那么到底什么是“云原生”呢罗岖?我們試圖先從字面意思理解“云(Cloud)”和“原生(Native)”涧至。
- “云(Cloud)”這個字面意識不難理解簡單的看就是天空中漂浮的一朵云,那么這個“云”放在科技環(huán)境下由從指代網(wǎng)絡桑包、互聯(lián)網(wǎng)的標識到現(xiàn)在的云計算南蓬,所以可以說“云”在現(xiàn)在我們默認指代云計算。
- “原生(Native)”字面的意識理解為本地人哑了,那么同樣的放到現(xiàn)今的科技大環(huán)境下就是指"應用所處的環(huán)境"赘方。
所以"云原生"可以簡單的理解為:“一個應用系統(tǒng)借助云計算相關的周邊技術進行設計研發(fā),從而使該應用能完美的適配云上環(huán)境”弱左。
云原生計算基金會總經(jīng)理Priyanka Sharma對云原生的解釋為:“云原生技術是指工程師和軟件人員利用云計算構建更快窄陡、更有彈性的技術,這樣做是為了快速滿足客戶的需求”拆火。
而官網(wǎng)(CNCF)上則將云原生的定義概況為:服務網(wǎng)格跳夭、聲明式API、不可變基礎設施榜掌、微服務优妙、容器這五大特征,這也成了很多人對云原生的基礎印象憎账。
總結來說套硼,云原生就是一個快速構建應用的理念,一種快速交付應用的技術集合胞皱。
云原生還有一個非常重要的知識點邪意,那就是云原生基金會九妈,畢竟云原生這個理念需要落地推行的話還是需要靠眾人來拾材,CNCF(云原生計算基金會)致力于培育和維護一個廠商中立的開源生態(tài)系統(tǒng)雾鬼,來推廣云原生技術萌朱,可以說CNCF的主要目的是培育云原生工具市場。
9.2云原生的代表技術
上文提到過云原生是一種理念策菜,一個技術棧的集合晶疼。那么相對應的技術棧主要有:容器、服務網(wǎng)格又憨、微服務翠霍、不可變基礎設施和聲明式API。
- 容器:容器是與系統(tǒng)其他部分隔開的一系列進程蠢莺。運行這些進程所需的所有文件都由一個鏡像提供寒匙,這意味著從開發(fā)到測試再到生產(chǎn)的整個過程中,容器都具有可移植性和一致性躏将。簡單的說容器就是存放應用和應用相關依賴的“獨立集裝箱”锄弱,根據(jù)運送的貨物的不同特性可以制定多種集裝箱類型(即容器鏡像)
- 服務網(wǎng)格:服務網(wǎng)格簡單的說可以看做是我們平時用的代理軟件,但這個代理軟件又更加的智能祸憋。Service Mesh可以看做是傳統(tǒng)代理的升級版会宪,用來解決現(xiàn)在微服務框架中出現(xiàn)的問題,可以把 Service Mesh看做是分布式的微服務代理夺衍。
- 微服務:將應用程序構造為一組松散耦合的服務狈谊。在微服務體系結構中,服務是細粒度的沟沙,協(xié)議是輕量級的河劝。簡單的說就是其中單個應用程序由許多松散耦合且可獨立部署的較小組件或服務組成。
- 不可變基礎設施:這里基礎設施可以理解為一個應用運行所需要的基本需求矛紫,不可變性最基本的就是指運行服務的服務器在完成部署后赎瞎,就不在進行更改。這里指代容器鏡像颊咬。
- 聲明式API:描述最終運行環(huán)境的狀態(tài)务甥,而由系統(tǒng)來決定如何來創(chuàng)建這個環(huán)境。例如喳篇,你的描述就變成“創(chuàng)建一個有三個Nginx的集群”敞临,而不是把創(chuàng)建Nginx的命令運行三次組成一個集群。這樣的好處是當運行環(huán)境與描述不符合時麸澜,系統(tǒng)能檢測到差異挺尿,并自動修復,這樣系統(tǒng)就有了自動容錯的功能。
這些技術能夠構建容錯性好编矾、易于管理和便于觀察的松耦合系統(tǒng)熟史。結合可靠的自動化手段,云原生技術使工程師能夠輕松地對系統(tǒng)作出頻繁和可預測的重大變更窄俏。
9.3云原生能帶來什么
在去年IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)對企業(yè)的調研中蹂匹,有將近70%已經(jīng)將云策略落地,卻只有3%能帶來明顯的獲利突破凹蜈,差異就在技術面的“云實踐成熟度”也就是云原生化限寞。
MSP團隊(基礎設施平臺服務商)在面對一個云化項目時大致的流程,首先需要做相關的業(yè)務系統(tǒng)的調研踪区,然后選擇相對應的云平臺昆烁,然后給出相關的云化方案吊骤,最后根據(jù)方案對業(yè)務系統(tǒng)進行遷移或者云化的改造缎岗。但是面對混合云或多云環(huán)境的下云特色存在差異性,導致了在云實踐上的差異性白粉。
而云原生化的云服務平臺传泊,不僅能夠顯著的降低基礎建設與管理成本、提高布署靈活性與可擴充性鸭巴,而且還有較高的安全性眷细。
- 在微服務化方面:云原生將應用程序代碼解耦成獨立模塊化單元,降低微服務的部屬時間與互依性鹃祖,提高應用的擴展性等溪椎。
- 在容器化包裝方面:過去程序開發(fā)者可能需要創(chuàng)建多個虛擬機好讓不同的應用程序運作,但程序容器化讓多個應用程序得以存在同一操作環(huán)境中恬口,開發(fā)人員將代碼校读、微服務放置在可復制、搬移的容器中祖能,輕松地復制歉秫、發(fā)布到任意云平臺,多個容器間不會互相干擾(沙盒機制)养铸,不僅減少管理工作還能更有效地利用硬件資源雁芙,實現(xiàn)更快的持續(xù)集成、交付與發(fā)布钞螟。
- 在動態(tài)管理方面:通過集中的編排調度系統(tǒng)進行動態(tài)管理和調度兔甘,達到高速、低風險鳞滨、迅速擴展和部署的方式洞焙,進行應用或服務的構建、測試、部署闽晦。
借助以上優(yōu)勢以及相對一致的實踐方式扳碍,云原生能快速的打通各家云環(huán)境的壁壘,企業(yè)可以對市場變化做出最快的反應仙蛉,使得新創(chuàng)云原生企業(yè)擁有能不斷顛覆傳統(tǒng)企業(yè)的威力笋敞。
9.4云原生的挑戰(zhàn)
根據(jù)CNCF的統(tǒng)計自2016年以來,生產(chǎn)中使用容器的數(shù)量增加了300%荠瘪。根據(jù)這個規(guī)模來看若是在大型應用云化部署后(這里假設都是以容器實例在運行)夯巷,那么這個應用數(shù)以百計或者千計的容器該如何做好全生命周期的管理,如:監(jiān)控日志的采集告警哀墓、調度趁餐、以及應用模塊與模塊之間鏈路調用追蹤等將會是我們即將面臨的最大的挑戰(zhàn)之一。