您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Java开发者必会的大数据工具和框架有哪些

2025/11/23 11:04:43发布16次查看
1、mongodb——最受欢迎的,跨平台的,面向文档的数据库。
mongodb是一个基于分布式文件存储的数据库,使用c++语言编写。旨在为web应用提供可扩展的高性能数据存储解决方案。应用性能高低依赖于数据库性能,mongodb则是非关系数据库中功能最丰富,最像关系数据库的,随着mongdb 3.4版本发布,其应用场景适用能力得到了进一步拓展。
mongodb的核心优势就是灵活的文档模型、高可用复制集、可扩展分片集群。你可以试着从几大方面了解mongodb,如实时监控mongodb工具、内存使用量和页面错误、连接数、数据库操作、复制集等。
2、elasticsearch ——为云构建的分布式restful搜索引擎。
elasticsearch是基于lucene的搜索服务器。它提供了分布式多用户能力的全文搜索引擎,基于restful web接口。elasticsearch是用java开发的,并作为apache许可条款下的开放源码发布,是比较流行的企业级搜索引擎。
elasticsearch不仅是一个全文本搜索引擎,还是一个分布式实时文档存储,其中每个field均是被索引的数据且可被搜索;也是一个带实时分析功能的分布式搜索引擎,并且能够扩展至数以百计的服务器存储及处理pb级的数据。elasticsearch在底层利用lucene完成其索引功能,因此其许多基本概念源于lucene。
3、cassandra——开源分布式数据库管理系统,最初是由facebook开发的,旨在处理许多商品服务器上的大量数据,提供高可用性,没有单点故障。
apache cassandra是一套开源分布式nosql数据库系统。集google bigtable的数据模型与amazon dynamo的完全分布式架构于一身。于2008开源,此后,由于cassandra良好的可扩展性,被digg、twitter等web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
因cassandra是用java编写的,所以理论上在具有jdk6及以上版本的机器中都可以运行,官方测试的jdk还有openjdk 及sun的jdk。 cassandra的操作命令,类似于我们平时操作的关系数据库,对于熟悉mysql的朋友来说,操作会很容易上手。
4、redis ——开源(bsd许可)内存数据结构存储,用作数据库,缓存和消息代理。
redis是一个开源的使用ansi c语言编写的、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的api。redis 有三个主要使其有别于其它很多竞争对手的特点:redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的; redis相比许多键值数据存储系统有相对丰富的数据类型; redis可以将数据复制到任意数
5、hazelcast ——基于java的开源内存数据网格。
hazelcast 是一种内存数据网格 in-memory data grid,提供java程序员关键任务交易和万亿级内存应用。虽然hazelcast没有所谓的“master”,但是仍然有一个leader节点(the oldest member),这个概念与zookeeper中的leader类似,但是实现原理却完全不同。同时,hazelcast中的数据是分布式的,每一个member持有部分数据和相应的backup数据,这点也与zookeeper不同。
hazelcast的应用便捷性深受开发者喜欢,但如果要投入使用,还需要慎重考虑。
6、ehcache——广泛使用的开源java分布式缓存。主要面向通用缓存、java ee和轻量级容器。
ehcache 是一个纯java的进程内缓存框架,具有快速、精干等特点,是hibernate中默认的cacheprovider。主要特性有:快速简单,具有多种缓存策略;缓存数据有两级,内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重启的过程中写入磁盘;可以通过rmi、可插入api等方式进行分布式缓存;具有缓存和缓存管理器的侦听接口;支持多缓存管理器实例,以及一个实例的多个缓存区域;提供hibernate的缓存实现。
7、hadoop ——用java编写的开源软件框架,用于分布式存储,并对非常大的数据用户可以在不了解分布式底层细节的情况下,开发分布式程序。
充分利用集群进行高速运算和存储。hadoop实现了一个分布式文件系统(hadoop distributed file system),简称hdfs。hadoop的框架最核心的设计就是:hdfs和mapreduce。hdfs为海量的数据提供了存储,mapreduce则为海量的数据提供了计算。
8、solr ——开源企业搜索平台,用java编写,来自apache lucene项目。
solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的api接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的xml文件,生成索引;也可以通过http get操作提出查找请求,并得到xml格式的返回结果。
与elasticsearch一样,同样是基于lucene,但它对其进行了扩展,提供了比lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化。
9、spark ——apache software foundation中最活跃的项目,是一个开源集群计算框架。
spark 是一种与 hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些不同之处使 spark 在某些工作负载方面表现得更加优越,换句话说,spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
spark 是在 scala 语言中实现的,它将 scala 用作其应用程序框架。与 hadoop 不同,spark 和 scala 能够紧密集成,其中的 scala 可以像操作本地集合对象一样轻松。
10、memcached ——通用分布式内存缓存系统。
memcached是一套分布式快取系统,当初是danga interactive为了livejournal所发展的,但被许多软件(如mediawiki)所使用。memcached作为高速运行的分布式缓存服务器,具有以下的特点:协议简单,基于libevent的事件处理,内置内存存储方式。
11、apache hive --在hadoop之上提供类似sql的层。
hive是一个基于hadoop的数据仓库平台。通过hive,可以方便地进行etl工作。hive定义了一个类似于sql的查询语言,能够将用户编写的sql转化为相应的mapreduce程序基于hadoop执行。目前,已经发布了apache hive 2.1.1 版本。
12、apache kafka --最初是由linkedin开发的高吞吐量,分布式订阅消息系统。
apache kafka是一个开源消息系统项目,由scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。kafka维护按类区分的消息,称为主题(topic)。生产者(producer)向kafka的主题发布消息,消费者(consumer)向主题注册,并且接收发布到这些主题的消息。
13、akka --用于在jvm上构建高并发,分布式和弹性消息驱动应用程序的工具包。
akka 是一个用 scala 编写的库,用于简化编写容错的、高可伸缩性的 java 和 scala 的 actor 模型应用。它已经成功运用在电信行业,系统几乎不会宕机。
14、hbase --开放源代码,非关系型,分布式数据库,采用google的bigtable建模,用java编写,并在hdfs上运行。
与fujitsu cliq等商用大数据产品不同,hbase是google bigtable的开源实现,类似google bigtable利用gfs作为其文件存储系统,hbase利用hadoop hdfs作为其文件存储系统;google运行mapreduce来处理bigtable中的海量数据,hbase同样利用hadoop mapreduce来处理hbase中的海量数据;google bigtable利用 chubby作为协同服务,hbase利用zookeeper作为对应。
15、neo4j --在java中实现的开源图形数据库。
neo4j是一个高性能的nosql图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全事务特性的java持久化引擎。
以上就是java开发者必会的大数据工具和框架有哪些的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product