大數(shù)據(jù)——這個(gè)詞看起來(lái)比較深?yuàn)W,一般非專業(yè)人士聽(tīng)著覺(jué)得相對(duì)復(fù)雜,覺(jué)得可能需要很大成本來(lái)部署和實(shí)施。然而幸運(yùn)地是市面上已經(jīng)有一些云服務(wù)來(lái)幫助我們讓大數(shù)據(jù)變得更簡(jiǎn)單。另外,如果你選擇合適的工具,也往往會(huì)使你的大數(shù)據(jù)之路起到事半功倍的效果。
因此在實(shí)際應(yīng)用上,大數(shù)據(jù)的實(shí)際實(shí)施系統(tǒng)可以有很多種方式。通過(guò)你的預(yù)算和思考規(guī)劃,你將能使用最便捷、最實(shí)用、又最低成本的大數(shù)據(jù)實(shí)施系統(tǒng)。
在選擇據(jù)具體大數(shù)據(jù)工具之前,你最好回答三個(gè)問(wèn)題:
1. 你的數(shù)據(jù)有多大?
2. 你希望你的數(shù)據(jù)查詢要多快?
3. 你想要怎樣展現(xiàn)數(shù)據(jù)?
第一個(gè)問(wèn)題決定你需要什么樣的大數(shù)據(jù)存儲(chǔ)系統(tǒng),第二個(gè)問(wèn)題決定你需要什么樣的查詢或者執(zhí)行引擎。第三個(gè)問(wèn)題決定了你需要怎樣功能的相關(guān)數(shù)據(jù)可視化工具。第三個(gè)問(wèn)題相對(duì)簡(jiǎn)單,市面上的數(shù)據(jù)可視化工具特色明顯:大數(shù)據(jù)魔鏡可視化效果達(dá)500種以上,展現(xiàn)效果絢麗,適合需要多種展現(xiàn)方式的數(shù)據(jù);Tableau可視化效果少,但數(shù)據(jù)展示功能依然很強(qiáng),能夠直觀展示普通可視化需求的數(shù)據(jù)。
下面是基于對(duì)前兩個(gè)問(wèn)題的不同回答,推薦采用的一些工具。
1. 超大數(shù)據(jù)(幾百TB),查詢時(shí)間容忍度很高(幾小時(shí))
這個(gè)是批處理(batch processing)適用的場(chǎng)景。一個(gè)可行的方案是:AWS S3 + Apache Spark。你可以執(zhí)行Spark任務(wù),讀取S3中的數(shù)據(jù),然后將計(jì)算結(jié)果存成CSV文件,最后用Excel分析或者可視化結(jié)果。
2. 中等規(guī)模數(shù)據(jù)(幾十TB),希望查詢快速響應(yīng)(幾秒鐘)
這個(gè)通常是交互式查詢適用的場(chǎng)景。一個(gè)可行的方案是:AWS Redshift + Tableau。 Redshift提供低延遲查詢處理,Tableau提供很好的數(shù)據(jù)可視化功能,二者結(jié)合起來(lái)可以輕松的分析大量數(shù)據(jù),只是需要一定的成本。需要提醒的是,你最好提前規(guī)劃好 Redshift集群的規(guī)模和容量,減少隨機(jī)動(dòng)態(tài)調(diào)整, 因?yàn)樵赗edshift中,擴(kuò)展集群(scale up or scale out)是個(gè)比較痛苦的過(guò)程。
3. 中等規(guī)模數(shù)據(jù)(幾十TB),一定的查詢響應(yīng)容忍度(幾分鐘),低成本
這個(gè)場(chǎng)景適用于預(yù)算有限的情況,或者你不想在AWS Redshift和Tableau上投入太多。你將需要對(duì)大數(shù)據(jù)比較了解的開(kāi)發(fā)人員,從而可以自己搭建企業(yè)內(nèi)部的大數(shù)據(jù)集群。一個(gè)可行的解決方案是:Apache Cassandra + Presto Query Engine + H2 Console (from H2 Database Engine)。
Cassandra提供高可靠性大數(shù)據(jù)存儲(chǔ)系統(tǒng),并且比較容易部署。Presto提供分布式SQL執(zhí)行引擎,可以運(yùn)行在Cassandra之上,并提供 JDBC支持。H2 Console是一個(gè)簡(jiǎn)單但是有效的Web界面,用來(lái)查詢JDBC數(shù)據(jù)源。利用這些工具組合,你不需要任何編程工作,就可以在企業(yè)內(nèi)部搭建起一個(gè)端到端大數(shù)據(jù)解決方案。