Java程序员使用的20几个大数据工具

jopen 8年前

Java程序员使用的20几个大数据工具

英文原文:What Big Data Tools Do Java Developers Use?

最近我问了很多 Java 开发人员关于最近 12 个月内他们使用的是什么大数据工具。

这是一个系列,主题为:

  • 语言
  • web 框架
  • 应用服务器
  • SQL 数据访问工具
  • SQL 数据库
  • 大数据
  • 构建工具
  • 云提供商

今天我们就要说说大数据。根据维基百科,大数据是数据集的一个广义的术语,并且该数据集是如此庞大和复杂,以致于传统的数据处理应用程序无法胜任。

在许多情况下,使用 SQL 数据库用于存储/检索数据就足够了。但在另一些情况下,要么 SQL 数据库规模不够,要么还有更好的工具。这一切都取决于使用情况。

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

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

Elasticsearch——专为云而构建的分布式 REST 风格搜索引擎。

Cassandra——一个开源的分布式数据库管理系统,最初由 非死book 开发,被设计用来处理横跨多个商用服务器的大量数据,提供了无单点故障的高度可用性。

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 写的完全事务式的,支持云的,分布式数据库。

-

译文链接:http://www.codeceo.com/article/big-data-tools-java-programmer-use.html

翻译作者:码农网 – 小峰

来自: www.codeceo.com