天天看点

Java程序员使用哪些大数据开发工具?

这是作者在另一个帖子中发布的一项近期调查结果,调查为作者询问一些java程序员,其在12个月内使用了什么框架开发工具。本次调查中覆盖了大数据工具。

以下是调查所覆盖的主题:

1、语言

2、web框架

3、应用服务器

4、sql数据访问工具

5、sql数据库

6、大数据

7、构建工具

8、云提供商

今天让我们来看看大数据。

根据维基百科,大数据是一个广义的术语,所包含的的内容十分庞大且复杂,以至于传统的数据处理应用程序根本不足以应对。

在许多情况下,使用sql数据库用于存储/检索数据已经足够了。但在一些其他情况下,例如数据库规模不够,或是还有更好的工具,这一切都取决于使用情况。

现在让我们来讨论一下不同的存储/处理数据所用的非sql工具——nosql数据库、内存缓存、全文搜索引擎、实时流媒体、图形数据库,等等。

大数据-调查结果

Java程序员使用哪些大数据开发工具?

  mongodb—— 一种流行的,跨平台的面向文档的数据库。

elasticsearch——为云构建的分布式rest内置搜索引擎。

cassandra——开源的分布式数据库管理系统,最初在facebook开发和设计,用来处理横跨多个商用服务器的海量数据,提供了无单点故障的高度可用性。

redis—— 开源的(bsd许可),内存数据结构存储,作为数据库、缓存和消息代理使用。

hazelcast——开源,基于java的内存数据网格。

ehcache——一种被广泛使用的开源java分布式缓存,用于通用缓存、java ee和轻量级容器。ehcache相关介绍

hadoop——以java编写的一个开源软件框架,用于分布式存储和对在计算机集群上的超大型数据集的分布式处理。

solr——开源的企业搜索平台,java编写,来自apache lucene项目。

spark——apache software foundation中最活跃的项目,一个开源的集群计算框架。

memcached—— 通用的分布式内存缓存系统。

apache hive——提供了hadoop之上类似于sql的层。

apache kafka—— 高通量、分布式的发布-订阅式消息系统,最初开发在linkedin上。windows上脱离cygwin运行apache kafka

akka—— 工具包,运行时,用于在jvm上构建高度并行的、分布式的、有弹性的消息驱动的应用程序。

hbase—— 一个开源的,非关系型的,分布式数据库,在谷歌的bigtable后建模,用java编写,并运行在hdfs上。

neo4j——用java编写的开源图形数据库。

couchbase——一个开源的、面向文档的分布式nosql数据库,特别为了交互式应用而优化。

apache storm——开源的分布式实时计算系统。

couchdb——使用json来存储数据的面向文档的开源nosql数据库。

oracle coherence—— 一个内存的数据网格解决方案,通过提供快速访问常用数据的渠道,使得企业可预测地扩展关键任务应用程序。

titan—— 一个可扩展的图形数据库,优化的目的在于存储和查询包含数千亿顶点和边的图形,分布在多机集群。

amazon dynamodb——一个快速、灵活、完全管理的nosql数据库服务,用于在任何规模需要一致的、个位数毫秒延迟的所有应用程序。

amazon kinesis—— 用于在aws上的流数据的实时平台。

datomic—— 一个用clojure写的完全事务式的,支持云的,分布式数据库。

本文转自d1net(转载)