Java开发人员经常使用哪些大数据工具?
本文为Java开发人员总结了23个大数据工具,其中包括MongoDB、Elasticsearch、Cassandra和Redis等等,快来看看吧!1、MongoDB——***的,跨平台的,面向文档的数据库。
MongoDB是一个基于散布式文件存储的数据库,经常使用C++言语编写。旨在为Web运行提供可裁减的高性能数据存储处置打算。运行性能高下依赖于数据库性能,MongoDB则是非相关数据库中性能最丰盛,最像相关数据库的,随着MongDB3.4版本颁布,其运行场景实用才干失掉了进一步拓展。
MongoDB的**长处就是灵敏的文档模型、高可用复制集、可裁减沛片集群。你可以试着从几慷慨面了解MongoDB,照实时监控MongoDB工具、内存经常使用量和页面失误、衔接数、数据库操作、复制集等。
2、Elasticsearch ——为云构建的散布式RESTful搜查引擎。
ElasticSearch是基于Lucene的搜查主机。它提供了散布式多用户才干的全文搜查引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache容许条款下的放开源码颁布,是比拟盛行的企业级搜查引擎。
ElasticSearch不只是一个全文本搜查引擎,还是一个散布式实时文档存储,其中每个field均是被索引的数据且可被搜查;也是一个带实时剖析性能的散布式搜查引擎,并且能够裁减至数以百计的主机存储及处置PB级的数据。ElasticSearch在底层应用Lucene成功其索引性能,因此其许多基本概念源于Lucene。
3、Cassandra——开源散布式数据库治理系统
最后是由Facebook开发的,旨在处置许多商品主机上的少量数据,提供高可用性,没有单点缺点。
ApacheCassandra是一套开源散布式NoSQL数据库系统。集Google BigTable的数据模型与AmazonDynamo的齐全散布式架构于一身。于2008开源,尔后,由于Cassandra良好的可裁减性,被Digg、Twitter等Web2.0网站所采用,成为了一种盛行的散布式结构化数据存储打算。
因Cassandra是用Java编写的,所以通常上在具有JDK6及以上版本的机器中都可以运转,官网测试的JDK还有OpenJDK及Sun的JDK。 Cassandra的操作命令,相似于咱们往常操作的相关数据库,关于相熟MySQL的好友来说,操作会很容易上手。
4、Redis ——开源(BSD容许)内存数据结构存储,用作数据库,缓存和信息代理。
Redis是一个开源的经常使用ANSIC言语编写的、支持网络、可基于内存亦可耐久化的日志型、Key-Value数据库,并提供多种言语的API。Redis有三个重要使其有别于其它很多竞争对手的特点:Redis是齐全在内存中保留数据的数据库,经常使用磁盘只是为了耐久性目的;Redis相比许多键值数据存储系统有相对丰盛的数据类型; Redis可以将数据复制到恣意数量的从主机中。
5、Hazelcast ——基于Java的开源内存数据网格。
Hazelcast是一种内存数据网格 in-memory>
重要面向通用缓存、Java EE和轻量级容器。
EhCache是一个纯Java的进程内缓存框架,具有极速、精干等特点,是Hibernate中自动的CacheProvider。重要个性有:极速繁难,具有多种缓存战略;缓存数据有两级,内存和磁盘,因此无需担忧容量疑问;缓存数据会在虚构机重启的环节中写入磁盘;可以经过RMI、可拔出API等方式启动散布式缓存;具有缓存缓和存治理器的侦听接口;支持多缓存治理器实例,以及一个实例的多个缓存区域;提供Hibernate的缓存成功。
7、Hadoop ——用Java编写的开源软件框架,用于散布式存储,并对十分大的数据集启动散布式处置。
用户可以在不了遣散布式底层细节的状况下,开发散布式程序。充沛应用集群启动高速运算和存储。Hadoop成功了一个散布式文件系统(HadoopDistributed FileSystem),简称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是一套散布式快取系统,现在是DangaInteractive为了LiveJournal所开展的,但被许多软件(如MediaWiki)所经常使用。Memcached作为高速运转的散布式缓存主机,具有以下的特点:协定繁难,基于libevent的事情处置,内置内存存储方式。
11、Apache Hive ——在Hadoop之上提供相似SQL的层。
Hive是一个基于Hadoop的数据仓库平台。经过hive,可以繁难地启动ETL上班。hive定义了一个相似于SQL的查问言语,能够将用户编写的SQL转化为相应的Mapreduce程序基于Hadoop口头。目前,曾经颁布了ApacheHive 2.1.1 版本。
12、Apache Kafka ——最后是由LinkedIn开发的高吞吐量,散布式订阅信息系统。
ApacheKafka是一个开源信息系统名目,由Scala写成。该名目的指标是为处置实时数据提供一个一致、高通量、低期待的平台。Kafka保养按类辨别的信息,称为主题(topic)。消费者(producer)向kafka的主题颁布信息,消费者(consumer)向主题注册,并且接纳颁布到这些主题的信息。kafka以一个领有一台或多台主机的集群运转着,每一台主机称为broker。
13、Akka ——用于在JVM上构建高并发,散布式和弹性信息驱动运行程序的工具包。
Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型运行。它曾经成功运用在电信行业,系统简直不会宕机。
14、HBase ——放开源代码,非相关型,散布式数据库,采用Google的BigTable建模,用Java编写,并在HDFS上运转。
与FUJITSUCliq等商用大数据产品不同,HBase是Google Bigtable的开源成功,相似GoogleBigtable应用GFS作为其文件存储系统,HBase应用HadoopHDFS作为其文件存储系统;Google运转MapReduce来处置Bigtable中的海量数据,HBase雷同应用HadoopMapReduce来处置HBase中的海量数据;Google Bigtable应用Chubby作为协同服务,HBase应用Zookeeper作为对应。
15、Neo4j ——在Java中成功的开源图形数据库。
Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具有齐全事务个性的Java耐久化引擎。
16、CouchBase ——开源散布式的NoSQL面向文档数据库,针对交互式运行程序启动了提升。
假设以前没有NoSQL的经常使用阅历,那么了解couchbase的时刻关键有两点:延后写入和松懈存储。该产品基于Apache CouchDB,并整合了GeoCouch(一个基于Erlang、严密集成的天文空间索引系统,可支持LBS运行)。
17、Apache Storm——开源散布式实时计算系统。
Apache Storm 是一个能近实时地在数据之上运转用户代码片段的流式数据处置框架。它实践上是一系列连在一同的管道。通罕用于繁难的剖析义务 ,诸如计算,以及荡涤,使其惯例化,并且预备摄入用于常年存储的数据。
18、CouchDB——开源的面向文档的NoSQL数据库,经常使用JSON存储数据。
CouchDB 是一个开源的面向文档的数据库治理系统,可以经过 RESTful JavaScript Object Notation (JSON) API 访问。CouchDB落实到***层的数据结构就是两类B+Tree 。
19、Oracle Coherence——内存数据网格处置打算,经过提供对罕用数据的极速访问,使企业能够可预测地裁减关键义务运行程序。
繁难来说,Coherence仅支持Java,.NET和C++ API三个版本,这三个都是面向对象的言语,这也说明Coherence和运行开发的亲和性。
20、Titan——可裁减的图形数据库,提升用于存储和查问蕴含散布在多机集群上的数百亿个顶点和边的图形。
支持不同的散布式存储层:Cassandra1.1和HBase 0.92。原生成功 Blueprints graph API,Gremlin graph traversallanguage,Frames graph-to-object mapper,Rexster graph server。
21、Amazon DynamoDB——极速,灵敏的片面治理NoSQL的数据库服务,实用于任何规模的要求分歧性,单位毫秒提前的运行程序。
Amazon DynamoDB 是一种齐全托管的 NoSQL 数据库服务,提供极速而可预测的性能,能够成功无缝裁减。
22、Amazon Kinesis——AWS上的实时流式传输数据平台。
Web 运行程序、移动设施、可穿戴设施、行业传感器和许多软件运行程序和服务都或者生成少量的流数据(有时到达每小时数 TB),须要对其启动延续地搜集、存储和处置。Amazon Kinesis 就是针对这种需求发生的。
23、Datomic——齐全事务,云就绪,散布式数据库,用Clojure编写。
Datomic 是一个灵敏的、基于期间因子的数据库,支持联结查问,具有弹性的可裁减性以及支持ACID事务性。Datomic 提供高可用的、散布式存储服务