java程序员使用的20几个大数据工具-mile米乐体育
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!
最近我问了很多java开发人员关于最近12个月内他们使用的是什么大数据工具。
这是一个系列,主题为:
- 语言
- web框架
- 应用服务器
- sql数据访问工具
- sql数据库
- 大数据
- 构建工具
- 云提供商
今天我们就要说说大数据。根据维基百科,大数据是数据集的一个广义的术语,并且该数据集是如此庞大和复杂,以致于传统的数据处理应用程序无法胜任。
在许多情况下,使用sql数据库用于存储/检索数据就足够了。但在另一些情况下,要么sql数据库规模不够,要么还有更好的工具。这一切都取决于使用情况。
现在让我们来讨论一下存储/处理数据用的不同的非sql工具——nosql数据库,内存缓存,全文搜索引擎,实时流,图形数据库,等等。
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—— 一个内存的数据网格mile米乐体育的解决方案,通过提供快速访问常用数据的渠道,使得企业可预测地扩展关键任务应用程序。
titan—— 一个可扩展的图形数据库,优化的目的在于存储和查询包含数千亿顶点和边的图形,分布在多机集群。
amazon dynamodb——一个快速、灵活、完全管理的nosql数据库服务,用于在任何规模需要一致的、个位数毫秒延迟的所有应用程序。
amazon kinesis—— 用于在aws上的流数据的实时平台。
datomic—— 一个用clojure写的完全事务式的,支持云的,分布式数据库。
译文链接:http://www.codeceo.com/article/big-data-tools-java-programmer-use.html
英文原文:what big data tools do java developers use?
翻译作者:码农网 – 小峰
[ 转载必须在正文中标注并保留原文链接、译文链接和译者等信息。]