MongoDB是一个基于分布式文件存储的数据库,应用C++说话编写。旨在为Web应用供给可扩大的高机能数据存储解决筹划。应用机能高低依附于数据库机能,MongoDB则长短关系数据库中功能最丰富,最像关系数据库的,跟着MongDB 3.4版本宣布,其应用处景实用才能获得了进一步拓展。
当今IT开辟人员面对的最大年夜挑衅就是复杂性,硬件越来越复杂,OS越来越复杂,编程说话和API越来越复杂,我们构建的应用也越来越复杂。根据外媒的一项查询拜访申报,中软卓越专家列出了Java法度榜样员在以前12个月内一向应用的一些对象或框架,或许会对你有意义。
先来看看大年夜数据的概念。根据维诽谤科,大年夜数据是宏大年夜或复杂的数据集的广义术语,是以传统的数据处理法度榜样不足以支撑如斯宏大年夜的体量。
如今来评论辩论一些不合的非SQL存储/处理数据对象,例如,NoSQL数据库,全文搜刮引擎,及时流式处理,图形数据库等。
1、MongoDB——最受迎接的,跨平台的,面向文档的数据库。
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的缓存实现。
10、Memcached ——通用分布式内存缓存体系。
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更为丰富的萌芽说话,同时实现了可设备、可扩大并对萌芽机能进行了优化。
在很多情况下,应用SQL数据库存储/检索数据都是很好的选择。而现如今的很多情况下,它都不再能知足我们的目标,这一切都取决于用例的变更。
推荐阅读
显然,跟着企业经由过程诸如物联网和大年夜数据分析等方法转型到数字办事模式,>>>详细阅读
本文标题:给Java开发者的10个大数据工具和框架
地址:http://www.17bianji.com/lsqh/35261.html
1/2 1