為了應(yīng)對數(shù)據(jù)管理和數(shù)據(jù)應(yīng)用的問題,越來越多的企業(yè)選擇了數(shù)據(jù)湖方案(DataLake)。
我一直覺得DataLake的中文翻譯非常傳神,在漢語文化中,“江河湖?!备鐑核膫€,個頂個兒的非常大,數(shù)據(jù)湖也如上圖所示,功能很強大,能做的事情非常多,而且,還有很強的包容性。
包容性體現(xiàn)在三個方面:
首先,容量特別大,互聯(lián)網(wǎng)時代數(shù)據(jù)洪流經(jīng)常有突發(fā)性和不可預(yù)測性,比如新浪微博上的明星戀愛、結(jié)婚、分手、離婚新聞就有突然性。從數(shù)據(jù)的角度看,好比夏天突如其來的暴雨,它可能會帶來洪澇災(zāi)害,而有個湖就能將降水蓄積起來,數(shù)據(jù)湖能做到這點,來多少數(shù)據(jù)都不怕。
其次,能容納的數(shù)據(jù)類型非常多,無論是原始的未經(jīng)處理的數(shù)據(jù),還是結(jié)構(gòu)化的數(shù)據(jù),還是非結(jié)構(gòu)化的數(shù)據(jù),只要是能以0101的方式存在硬盤里的數(shù)據(jù),數(shù)據(jù)湖都能存進來。
第三點,能干的事兒多,數(shù)據(jù)湖不僅能做以前數(shù)據(jù)倉庫(DataWareHouse)做的工作,包括數(shù)據(jù)分類提煉還有數(shù)據(jù)分析之類的,而且還有各種方法對這些數(shù)據(jù)可以進行查詢,所以能對接機器學(xué)習(xí),人工智能這類新型應(yīng)用。
數(shù)據(jù)湖這么強大,強大意味著復(fù)雜,如何以最簡單的方式構(gòu)建數(shù)據(jù)湖呢?答案是基于云的數(shù)據(jù)湖方案。
AWS的云上數(shù)據(jù)湖方案
作為公有云領(lǐng)頭羊的AWS在許多技術(shù)方案方面都非常有代表性,是許多云廠商爭相研究和對比的標桿,AWS的數(shù)據(jù)湖是怎樣的存在呢?
AWS的數(shù)據(jù)湖平臺有多種多樣的服務(wù),能以多種多樣的方式獲取多種多樣來源的數(shù)據(jù),然后存起來進行多種多樣的分析利用。
首先,解決數(shù)據(jù)從哪兒來的問題。
AWS有一系列的數(shù)據(jù)遷移工具,比如做數(shù)據(jù)庫遷移的AWS Database Migration Service數(shù)據(jù)庫遷移服務(wù) (DMS),還有數(shù)據(jù)快遞箱AWS Snowball (雪球),還有混合云場景下的AWS Storage Gateway存儲網(wǎng)關(guān),還有AWS Backup數(shù)據(jù)備份方案。
然后,解決數(shù)據(jù)存儲的問題。
AWS的數(shù)據(jù)湖方案的核心是Amazon S3存儲,作為AWS第一個云服務(wù),AWS的S3樹立了對象存儲的標準,另外,S3 Bucket(桶)的概念也是一個神命名,桶作為生活常用容器可以裝各種東西,作為數(shù)據(jù)存儲可以存各種二進制的數(shù)據(jù)。
作為一個能存放大量數(shù)據(jù)的容器,價格自然得親民,為了降低價格,S3衍生出的Amazon Glacier讓價格降了一大截兒,后來又推出了Amazon S3 Glacier Deep Archive歸檔方案,價格又降了一大截兒。
數(shù)據(jù)湖方案里的數(shù)據(jù)庫類型可以說是應(yīng)有盡有,包括有鍵值數(shù)據(jù)庫Amazon DynamoDB,還有支持SQL Server、Oracle、MariaDB、PostgreSQL和MySQL托管的關(guān)系型數(shù)據(jù)庫服Amazon 務(wù)RDS,還有AWS專屬的Amazon Aurora數(shù)據(jù)庫,AWS一再強調(diào)Amazon Aurora是增長最快的一個服務(wù),但目前尚不清楚與別的數(shù)據(jù)庫相比的概況。
以上幾個方面,包括S3存儲和各種數(shù)據(jù)庫解決了數(shù)據(jù)存的問題。第三點,數(shù)據(jù)要如何使用起來呢?
Amazon Redshift是AWS的數(shù)據(jù)倉庫,據(jù)說成本是傳統(tǒng)數(shù)據(jù)倉庫的十分之一;Amazon EMR是AWS的MapReduce集群,可以運行包括Spark,Hadoop,Hive,Hbase等大數(shù)據(jù)分析工具。Amazon Elasticsearch是做一些運維分析;Amazon Kinesis可以做實時的數(shù)據(jù)分析。
AWS的數(shù)據(jù)分析方案并不是簡單把別人做過的開源的方案放到云上,同時,AWS也按照自己的理解提供自己獨有的分析方案,這是AWS在很多方案上都慣用的策略。
比如,AWS Glue(膠水)是一個專業(yè)的ETL工具,能做數(shù)據(jù)分析的準備工作。AWS Glue首先是一個Servless服務(wù),成本比較低,它能為數(shù)據(jù)生成數(shù)據(jù)目錄(DataCatalog),能自動完成ETL操作將數(shù)據(jù)傳遞給數(shù)據(jù)倉庫,它支持對AWS上的各種關(guān)系型數(shù)據(jù)庫,S3對象存儲的數(shù)據(jù)進行操作,作為一個ETL工具,Glue非常簡單易用。
ETL是一個非常復(fù)雜,非常難的操作,基于數(shù)據(jù)倉庫的工作中,大部分時間可能都在做ETL,ETL的工具非常多,好用的特別貴,便宜的非常不好用,AWS的AWS Glue把一些共性的東西做出來,以Serveless的方式提供,可以說是AWS數(shù)據(jù)湖方案里的一大亮點了。也可以說是很多人想用AWS數(shù)據(jù)湖方案的一個原因。
又比如,Amazon Athena是一個Servless服務(wù),它提供的是一個交互式的數(shù)據(jù)查詢服務(wù),可以用它對S3里的數(shù)據(jù)進行查詢,支持用標準的SQL語句進行查詢,做數(shù)據(jù)分析用,使用起來非常簡單。3月24日,AWS宣布AWS Glue和Amazon Athena在中國(寧夏)區(qū)域上線,已經(jīng)可以上手使用了。
數(shù)據(jù)湖是處理數(shù)據(jù)的技術(shù),而人工智能是非常依賴數(shù)據(jù)的,如果想用數(shù)據(jù)湖的數(shù)據(jù)做一些人工智能的項目,Amazon SageMaker等AI服務(wù)也支持從數(shù)據(jù)庫拿數(shù)據(jù)進行訓(xùn)練。這點在AWS上也是水到渠成的。
以上,就是AWS數(shù)據(jù)分析組件的大部分內(nèi)容,大致的邏輯關(guān)系可以參照上圖。
AWS提供的各種服務(wù)之間可以在云上相互協(xié)作,從而組合而成數(shù)據(jù)湖方案,不過,光是看到有這么多服務(wù)就知道這事兒其實還是有點費勁。為了簡化數(shù)據(jù)湖的構(gòu)建過程,AWS還推出了一個叫AWS Lake Formation的服務(wù),可以自動構(gòu)建一個數(shù)據(jù)湖。目前中國區(qū)暫時還不提供Lake Formation,AWS首席云計算企業(yè)戰(zhàn)略顧問張俠博士表示中國區(qū)很快就會有。
他們怎么用AWS數(shù)據(jù)湖方案
遷移上公有云的用戶越來越多了,云計算也越來越成熟了,包括Amazon EC2,Amazon S3等基礎(chǔ)性服務(wù)用戶已經(jīng)非常熟悉了,在AWS上,像數(shù)據(jù)庫已經(jīng)能對Oracle進行替代了。這些都已經(jīng)經(jīng)過亞馬遜電商平臺的實戰(zhàn)驗證了,AWS推出的方案成熟度非常高。
張俠博士介紹說,亞馬遜曾經(jīng)是Oracle全球數(shù)據(jù)庫最大的用戶,它用了75PB的數(shù)據(jù)庫容量,7500多個數(shù)據(jù)庫,整個亞馬遜里1000多個不同的團隊原本都是用Oracle的數(shù)據(jù)庫。過去一年半到兩年時間,亞馬遜全方位將Oracle數(shù)據(jù)庫遷移到了自己對應(yīng)的產(chǎn)品,不僅如此,遷移過程并不困難,費用方面,數(shù)據(jù)庫成本減少60%,管理費用減少70%,性能提升高達40%。
亞馬遜電商的核心競爭之一就是在內(nèi)部使用的一個叫Galaxy(銀河)的數(shù)據(jù)湖,這就是亞馬遜有時候比你自己還了解你自己的秘密武器。這個數(shù)據(jù)湖里有50PB到100PB數(shù)據(jù),可以把亞馬遜的數(shù)據(jù)進行整合后做大數(shù)據(jù)分析,亞馬遜每天有60多萬的分析任務(wù),從用戶推薦、運營信息、庫存信息、購買信息、物價信息等等,都依賴于數(shù)據(jù)湖。這個數(shù)據(jù)湖就是AWS數(shù)據(jù)湖方案構(gòu)成的。
FINRA是一家美國的金融監(jiān)管機構(gòu),每天有超過1500億的事件,每天要監(jiān)測20PB的市場活動數(shù)據(jù),F(xiàn)INRA使用AWS的數(shù)據(jù)湖方案,把所有金融交易的信息都整合在一起進行分析,與原來相比,每年節(jié)省1000萬美元到2000萬美元的費用。
納斯達克每天要處理300-500億次付款、交易、詢價操作,而且要能查詢這些記錄,此前,多種數(shù)據(jù)散落在不同的系統(tǒng)中,在采用AWS的數(shù)據(jù)湖方案之后,能處理歷史數(shù)據(jù)并進行交互式查詢,對納斯達克來說,不僅降低了成本,而且把上市時間縮短為原來的三分之一。
Club Factory是一家中國的跨境電商平臺,它的業(yè)務(wù)需要做個性化推薦、內(nèi)部運營分析以及供應(yīng)商管理等場景,每天要處理15億條行為日志,支撐180個活躍數(shù)據(jù)分析調(diào)度,每天需要把4000多個業(yè)務(wù)數(shù)據(jù)同步到AWS的數(shù)據(jù)倉庫Redshift。AWS的數(shù)據(jù)湖滿足了其業(yè)務(wù)增長需求,同時成本也有優(yōu)化,Club Factory還特別提到了Glue自動化ETL操作帶來的便利性。
AWS的數(shù)據(jù)湖方案也是不錯的選擇
云體驗好就好在,它極大降低了安裝部署方案的復(fù)雜性,云計算本身就是最佳推薦配置和方案,云上方案的安裝部署配置能滿足絕大多數(shù)人的需求,而且,在規(guī)模效應(yīng)的加持下,成本會越來越有競爭力。
從個人學(xué)習(xí)或者企業(yè)嘗試新方案的角度講,在不夠充分了解一些新事物的時候,在云端走一遍是最快捷,最廉價,最高效的學(xué)習(xí)途徑。當然,理論上技術(shù)愛好者自己搭建一些方案也是可行的,但企業(yè)生產(chǎn)環(huán)境容不下嘗試性的方案。
筆者一直以來都認為,云上的數(shù)據(jù)分析是數(shù)據(jù)分析的最佳實踐環(huán)境,無論是企業(yè)還是個人,如果致力于從數(shù)據(jù)中挖掘價值,那么云上數(shù)據(jù)分析一定是繞不開的。
云計算是講究規(guī)模效應(yīng)的,不是因為選擇AWS的用戶多AWS就一定好,用戶多,規(guī)模大,AWS可以用更先進的技術(shù)進行降本增效,AWS的Nitro和即將推出的ARM服務(wù)器都是降本增效的典型例子,這讓AWS的方案更有成本優(yōu)勢。
云計算作為公開的服務(wù)形式,用戶可以對其服務(wù)進行評價和反饋,AWS的企業(yè)文化能接受這些反饋并作用于產(chǎn)品中,AWS從不畫大餅講未來的Roadmap,有的只是聽需求,然后評估之后做產(chǎn)品方案,這會讓產(chǎn)品和服務(wù)的體驗變得越來越好。
有鑒于這兩點,我覺得AWS云計算是一個不錯的選擇,數(shù)據(jù)湖方案里,AWS的數(shù)據(jù)湖方案也是不錯的選擇。