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

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

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

1、语言

2、Web框架

3、应用服务器

4、SQL数据访问工具

5、SQL数据库

6、大数据

7、构建工具

8、云提供商

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

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

在许多情况下,使用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—— 一个内存的数据网格解决方案,通过提供快速访问常用数据的渠道,使得企业可预测地扩展关键任务应用程序。

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

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

Amazon Kinesis—— 用于在AWS上的流数据的实时平台。

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

本文转自d1net(转载)

时间: 2024-10-08 12:12:04

Java程序员使用哪些大数据开发工具?的相关文章

.net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线!

问题描述 .net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线! .net程序员想转大数据云计算方面的可行性,或者有什么好的学习路线!正如我所说的,我是学习.net出身,自认为基础还可以,对大数据和云计算方面充满了好奇和向往,就想找个这方面的工作,并且想学习学习这方面的知识,不知道各位有没有好的意见,或者说这样可行吗? 解决方案 补充一下,我是本科生,所以基础知识方面应该还可以! 解决方案二: 云计算本身没有什么好学的,除非你是做基础架构的运维.云计算是商业模式而不是技术,这种模式

草根狂欢:程序员对《大数据时代》感悟

文章讲的是草根狂欢:程序员对<大数据时代>感悟,2012年被称作中国的大数据元年,有两本书功不可没.前有涂子沛的<大数据>(从美国政府的数据信仰.政策和实践娓娓道来,让中国政坛和知识精英接受了一次思维洗礼),后有舍恩伯格的<大数据时代>(此书是系统论述大数据理念的奠基之作).如果说前者着力于启蒙--大数据可以做什么,那么后者则注重解惑--大数据该怎么做. 大数据的引爆点在2011年,对大数据的认知也随即经历了一个拨云见雾的过程,先是体量(Volume)大,到类型杂(Va

Java程序员的日常——SpringMVC+Mybatis开发流程、推荐系统

今天大部分时间都在写业务代码,然后算是从无到有的配置了下spring与mybatis的集成. SpringMVC+Mybatis Web开发流程 配置数据源 在applicationContext.xml中引入数据源的配置: <context:component-scan base-package="com.test" ></context:component-scan> <context:property-placeholder location=&qu

Java程序员常用工具集

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了.我想列下我能想到的一个Java程序员会用到的常用工具. 一.编码工具 1.IDE:Eclipse或者IDEA,熟悉尽可能多的快捷键,<Eclipse常见快捷键列表> 2.插件:  (1) Findbugs,在release之前进行一次静态代码检查是必须的 (2) Clover,关心你的单元测试覆盖率 (3) Checkstyle 代码风格检查 3.构建和部署工具:an

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

最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具. 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数据库 大数据 构建工具 云提供商 今天我们就要说说大数据.根据维基百科,大数据是数据集的一个广义的术语,并且该数据集是如此庞大和复杂,以致于传统的数据处理应用程序无法胜任. 在许多情况下,使用SQL数据库用于存储/检索数据就足够了.但在另一些情况下,要么SQL数据库规模不够,要么还有更好的工具.这一切都取决于使用情况. 现在让我们来讨论一

java程序员用ssh+oracle怎么把一张用户数据大表拆分成几个表

问题描述 java程序员用ssh+oracle怎么把一张用户数据大表拆分成几个表,有没有现成的博客可以查看学习,例子demo 解决方案 解决方案二:可以利用view啊,把大表生成不同的view解决方案三:oracle分区解决方案四:这个不是用程序来做的,直接操作数据库.分区处理

官方数据:程序员年纪越大越出色、越稀有

导读:本文是从<It's official: developers get better with age. And scarcer>这篇文章翻译而来,译文来自外刊IT评论<官方数据:程序员年纪越大越出色.越稀有>. 内容如下: 作为一个资深的开发人员,我有时会被人问到:是否这永不停息的技术革新会让我落伍.个人而言,我并不认为如今这高速发展的科学技术会成为问题.事实上,我喜欢新事物. 但问题还没完:随着年龄的增长,程序员对这些暴增的新技术的掌握情况如何? 像这样的数据你很难收集到,

Java程序员转Android开发必读经验一份

啰哩啰嗦的说说Java和Android程序的区别: Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择.学安卓从事移动互联方向开发,学Java从事软件.网站开发.而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好. 言简意赅的说说"转"前的准备: 其实Java程序员要自学安卓开发的基础知识还是没有什么难度的,毕竟语言相通,特性相似,阅读安卓源代码的门槛以比较低一些,作为能够考虑"转&

java 转行 c++-java程序员转C++开发问题

问题描述 java程序员转C++开发问题 我是一名2014届毕业生,今天去一家公司面试,应聘的岗位是软件工程师,我是学java的,公司开发部经理跟我谈话之后让我考虑转C++开发. 我在大学期间学过C/c++ ,不知道转C++难度大不大,大概需要多久时间. 解决方案 我个人认为:C++是世界上最难的语言 结论:给自己留两年时间吧 无GC 构造/析构 异常/stack unwinding 多继承/虚虚数 RTTI/static.dynamic.reinterpret.const casts 私有/公