1

大数据一般人听着比较复杂,觉得可能需要很大成本来部署和实施。幸运地是市面上已经有一些云服务来帮助我们让大数据变得更简单。另外,如果你选择合适的开源工具,也往往会使你的大数据之路起到事半功倍的效果。下面会列出实用并且较低成本的大数据实施系统,供参考。

请注意本文不讨论实时或者流数据处理,如果你在寻找那些方面的解决方案,为了节省你的时间,我们建议你忽略本文。

在选择据具体大数据工具之前,你最好回答两个问题:

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数据源。利用这些工具组合,你不需要任何编程工作,就可以在企业内部搭建起一个端到端大数据解决方案。

综上,你可以看到,根据不同的大数据需求,可以选择不同的工具组合。希望本文可以帮助你快速进入大数据领域。如有任何问题或者反馈,欢迎联系作者本人(boyang798@gmail.com)。

扫描微信二维码联系作者
扫描微信二维码联系作者


BoYang
132 声望9 粉丝

Big Data, SQL on Hadoop