大數據一般人聽著比較復雜,覺得可能需要很大成本來部署和實施。幸運地是市面上已經有一些云服務來幫助我們讓大數據變得更簡單。另外,如果你選擇合適的開源工具,也往往會使你的大數據之路起到事半功倍的效果。下面會列出實用并且較低成本的大數據實施系統,供參考。
請注意本文不討論實時或者流數據處理,如果你在尋找那些方面的解決方案,為了節省你的時間,我們建議你忽略本文。
在選擇據具體大數據工具之前,你最好回答兩個問題:
1. 你的數據有多大?
2. 你希望你的數據查詢要多快?
第一個問題決定你需要什么樣的大數據存儲系統,第二個問題決定你需要什么樣的查詢或者執行引擎。下面是基于對這兩個問題的不同回答,推薦采用的一些工具。
1. 超大數據(幾百TB),查詢時間容忍度很高(幾小時)
這個是批處理(batch processing)適用的場景。一個可行的方案是:AWS S3 + Apache Spark。你可以執行Spark任務,讀取S3中的數據,然后將計算結果存成CSV文件,最后用Excel分析或者可視化結果。
2. 中等規模數據(幾十TB),希望查詢快速響應(幾秒鐘)
這個通常是交互式查詢適用的場景。一個可行的方案是:AWS Redshift + Tableau。 Redshift提供低延遲查詢處理,Tableau提供很好的數據可視化功能,二者結合起來可以輕松的分析大量數據,只是需要一定的成本。需要提醒的是,你最好提前規劃好Redshift集群的規模和容量,減少隨機動態調整, 因為在Redshift中,擴展集群(scale up or scale out)是個比較痛苦的過程。
3. 中等規模數據(幾十TB),一定的查詢響應容忍度(幾分鐘),低成本
這個場景適用于預算有限的情況,或者你不想在AWS Redshift和Tableau上投入太多。你將需要對大數據比較了解的開發人員,從而可以自己搭建企業內部的大數據集群。一個可行的解決方案是:Apache Cassandra + Presto Query Engine + H2 Console (from H2 Database Engine)。
Cassandra提供高可靠性大數據存儲系統,并且比較容易部署。Presto提供分布式SQL執行引擎,可以運行在Cassandra之上,并提供JDBC支持。H2 Console是一個簡單但是有效的Web界面,用來查詢JDBC數據源。利用這些工具組合,你不需要任何編程工作,就可以在企業內部搭建起一個端到端大數據解決方案。
綜上,你可以看到,根據不同的大數據需求,可以選擇不同的工具組合。希望本文可以幫助你快速進入大數據領域。如有任何問題或者反饋,歡迎聯系作者本人([email protected])。