据日前的一则大数据工具使用情况调查,我们知道了Java程序猿最喜欢用的大数据工具。
问题:他们最近一年最喜欢用什么工具或者是框架?
受访者可以选择列表中的选项或者列出自己的,本文主要关心的是大数据工具。上一篇Java调查包括下列内容:
- 开发语言
- Web框架
- 应用服务器
- 数据库工具
- SQL数据
- 大数据
- 开发工具
- 云供应商
现在,来看看维基百科上对大数据的定义:
大数据,广义上来说是一组量很大很复杂的数据集合,在这种情况下传统的数据处理方式将不再适用。
对于一般情况来说传统的SQL数据库足够用。再另外一些场景下,传统的数据库能够承载的数据库量级有限,并且现在有了越来越多的工具可供使用。关键取决于场景。
现在让我们来讨论不同的非SQL工具来存储/处理数据 - NoSQL数据库、内存缓存、全文搜索引擎、实时流媒体、图形数据库等。
大数据-调查结果
- MongoDB-一种非常流行的、跨平台、面向document的数据库。
- Elasticsearch-专为云计算设计的分布式REST风格的搜索引擎。
- Cassandra-一个开源的分布式数据库管理系统。最初是Facebook设计和开发的,部署在大量商用服务器上来处理大量的数据。高可用,无单点故障。
- Redis-开源的(BSD)内存数据结构存储、内存库、缓存、消息代理。
- Hazelcast-基于Java开发的内存数据网格。
- EHCache-广泛使用的开源Java分布式缓存、J2ee、轻量级容器。
- Hadoop-用java开发的开源分布式大数据框架,用来处理非常大规模数据,hadoop是集群化部署。
- Solr-使用java开发的开源企业级搜索平台。最初归属在Apache Lucene项目中。
- Spark-ASF中最活跃的项目,是一个开源的集群化计算框架。
- Memcached–通用分布式缓存系统。
- Apache Hive-在Hadoop支持类SQL封装,将SQL语句变成mr程序来执行。
- Apache Kafka–高吞吐量、分布式、消息发布-订阅系统,最早是Linkin开发的。
- Akka–Java开发的用来建造高并发,基于jvm弹性消息驱动的应用。
- Hbase-根据Google的BigTable论文开发的开源分布式非关系型数据库。开发语言是Java,用HDFS作为底层存储。
- Neo4j–用Java实现的开源图形数据库。
- CouchBase–面向Document的开源分布式NoSQL数据库,并且针对交互应用做过优化。
- Apache Storm–开源分布式实时计算系统。
- CouchDB–使用json来存储数据的开放源码面向文档的NoSQL数据库。
- Oracle Coherence–内存数据网格解决方案,使企业通过提供快速访问热数据来预测关键任务应用的规模。
- Titan–可扩展的图形数据库,针对集群存储和查询数千亿的图形数据做过优化。
- 亚马逊 DynamoDB – 一个快速、灵活NoSQL数据库,能够应对所有规模应用程序的需求,包括持久化、毫秒级延迟。
- Amazon Kinesis–AWS上的实时数据计算平台。
- Datomic–提供完整事务支持,云计算,分布式的数据库,开发语言用Clojure。