大数据时代下对NoSQL数据库的理解

原文:https://baijiahao.baidu.com/s?id=1573613363660652&wfr=spider&for=pc

http://www.10tiao.com/html/612/201806/2651329723/1.html

Web 2.0时代的到来,关系数据库越来越不能满足互联网应用的需求,导致了NoSQL的兴起

NoSQL数据库在大数据领域里越来越受欢迎。

  • 数据的高并发读写
  • 数据的高可用性
  • 海量数据存储
  • 海量数据的实时分析

文档型数据库

代表:MongoDB、CouchDB、CouchBase、MarkLogic、Clusterpoint

应用场景:适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。

键值存储数据库

代表:Dynamo、FoundationDB、MemcacheDB、Redis、Riak、Aerospike

应用场景:高读取、快速检索。

图数据库

代表:Neo4j、OrientDB、ArangoDB、MapGraph

应用场景:社会关系,公共交通网络,地图及网络拓谱。

列式数据库

代表:Cassandra、HBase、Accumulo、Druid、Vertica

应用场景:适合于批量数据处理和即席查询。

内存数据库

代表:Redis、Membase

主流非关系型数据库(NoSQL)排名:

 第一名:MongoDB

MongoDB是最有名的NoSQL数据库之一。

它由C++撰写而成,是一个面向文档(Document-oriented)的开源数据库,支持扩展且非常易用。

MongoDB由于面向文档,也可以用作文件系统。通过使用分片(Sharding),MongoDB可以实现水平扩展。

在MongoDB中,支持JavaScript作为查询语言,对于流行的JavaScript框架配合使用非常高效。

惊人的性能和新功能将这个NoSQL数据库推向了我们排名中的第一名。

程序员们非常喜欢MongoDB的分片,高级文本检索,gridFS和map-reduce等功能

第二名:Cassandra

Cassandra是一个处理大量结构化数据的分布式数据存储系统。

通常,这些数据分布在许多commodity server上。Cassandra为分配数据提供了最大灵活性。

用户可以添加数据的存储容量,使服务持续保持在线状态,并且这个任务可以轻松完成。

由于群集中的所有节点都是相同的,因此不需要处理复杂的配置。Cassandra是用Java编写的。

它支持Apache Hadoop的 MapReduce 。Cassandra查询语言(CQL)是一种用于查询Cassandra数据库的类似于SQL的语言。

因此,我认为Cassandra排名第二。

第三名:Redis

Redis是最著名的键值存储系统之一,使用C语言编写,遵循BSD协议。

支持多种语言,比如C ++,PHP,Ruby,Python,Perl,Scala等等。

第四名:HBase

HBase是基于Google为BigTable设计开发的一款分布式非关系型数据库。

HBase的主要目标之一是承受数十亿行X数百列的数据。

可以随时添加服务器为HBase增加容量。多个主节点来确保数据的高可用性。

HBase由Java开发,可以简单地利用Java API进行客户访问。目前已经是Apache基金会的顶级项目。

猜你喜欢

转载自blog.csdn.net/weixin_38134491/article/details/88085429