大数据——这个词看起来比较深奥,一般非专业人士听着觉得相对复杂,觉得可能需要很大成本来部署和实施。然而幸运地是市面上已经有一些云服务来帮助我们让大数据变得更简单。另外,如果你选择合适的工具,也往往会使你的大数据之路起到事半功倍的效果。
因此在实际应用上,大数据的实际实施系统可以有很多种方式。通过你的预算和思考规划,你将能使用最便捷、最实用、又最低成本的大数据实施系统。
在选择据具体大数据工具之前,你好回答三个问题:
1.你的数据有多大?
2.你希望你的数据查询要多快?
3.你想要怎样展现数据?
第一个问题决定你需要什么样的大数据存储系统,第二个问题决定你需要什么样的查询或者执行引擎。第三个问题决定了你需要怎样功能的相关数据可视化工具。第三个问题相对简单,市面上的数据可视化工具特色明显:大数据魔镜可视化效果达500 种以上,展现效果绚丽,适合需要多种展现方式的数据;Tableau可视化效果少,但数据展示功能依然很强,能够直观展示普通可视化需求的数据。
下面是基于对前两个问题的不同回答,推荐采用的一些工具。
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数据源。利用这些工具组合,你不需要任何编程工作,就可以在企业内部搭建起一个端到端大数据解决方案。