大数据通常人听着比较复杂,以为可能须要很大成原本部署和实施。幸运地是市面上已经有一些云服务来帮助咱们让大数据变得更简单。另外,若是你选择合适的开源工具,也每每会使你的大数据之路起到事半功倍的效果。下面会列出实用而且较低成本的大数据实施系统,供参考。编程
请注意本文不讨论实时或者流数据处理,若是你在寻找那些方面的解决方案,为了节省你的时间,咱们建议你忽略本文。微信
在选择据具体大数据工具以前,你最好回答两个问题:分布式
1. 你的数据有多大?工具
2. 你但愿你的数据查询要多快?大数据
第一个问题决定你须要什么样的大数据存储系统,第二个问题决定你须要什么样的查询或者执行引擎。下面是基于对这两个问题的不一样回答,推荐采用的一些工具。spa
1. 超大数据(几百TB),查询时间容忍度很高(几小时)rest
这个是批处理(batch processing)适用的场景。一个可行的方案是:AWS S3 + Apache Spark。你能够执行Spark任务,读取S3中的数据,而后将计算结果存成CSV文件,最后用Excel分析或者可视化结果。code
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)。
扫描微信二维码联系做者