昌鑫号

nosql数据库有哪些(NOSQL数据库有哪些)

nosql数据库有哪些, 什么是nosql数据库?不知道小伙伴们今天来看看边肖的分享吧!

一个议员普通的关于NoSQLDie Datenbank hatRedis,Memcache,MongoDB .

二标籤:Redis、Memcache、MongoDB的特点:

Redis

优势:

1.支持多种数据结构,如string(字符串)、list(链表)、dict(哈希表)、set(集合)、zset(排序集)、hyperloglog(基数估计)。

2.支持持久化操作,可以将aof和rdb数据持久化到磁盘,以便进行数据备份或数据恢复,是防止数据丢失的较好手段。

3.支持通过复制进行数据复制,通过主从机制实时同步数据复制,支持多级复制和增量复制。主从机制是Redis进行HA的重要手段。

4.单线程请求,所有命令串行执行,在并发的情况下不需要考虑数据一致性。

5.支持pub/sub消息订阅机制,可用于消息订阅和通知。

6.支持简单的交易需求,但行业内使用场景较少,不太成熟。

缺点:

1.Redis只能使用单线程,性能受限于CPU的性能,所以单实例CPU最高可以达到每秒5-6wQPS(具体取决于数据结构、数据大小和服务器硬件性能,日常环境下QPS峰值在1-2w左右)。

2.支持简单的交易需求,但行业内的场景少且不成熟,有利也有弊。

3.Redis在字符串类型上会消耗更多内存,可以用dict(哈希表)压缩存储来减少内存。

消费。

NOSQL数据库有哪些

Memcache

优势:

1.Memcached可以利用多核的优势,单实例吞吐量极高,达到几十万QPS(取决于key和值的字节大小和服务器的硬件性能,日常环境下QPS峰值在4-6w左右)。适合最大承载能力。

2.支持直接配置为会话句柄。

缺点:

1只支持简单的键/值数据结构,不像Redis可以支持丰富的数据类型。

2.不能持久化,数据不能备份,只能用于缓存,重启后数据全部丢失。

3.无法执行数据同步,MC中的数据无法迁移到其他MC实例。

4.Memcached内存分配使用Slab分配机制来管理内存。当值大小分布差异较大时,会降低内存利用率,造成利用率低时踢出等问题。用户需要重视价值设计。

MongoDB

优势:

1.在更高的写负载下,MongoDB具有更高的插入速度。

2.处理大规模的单表。数据表过大时,很容易分表。

3.高可用性,设置M-S不仅方便而且快捷,MongoDB还可以快速、安全、自动地实现节点(数据中心)故障切换。

4.快速查询,MongoDB支持二维空间索引,比如管道,所以可以快速准确的从指定位置获取数据。启动后,MongoDB会将数据库中的数据以文件映射的形式加载到内存中。如果内存资源非常充足,

这将大大提高数据库的查询速度。

5.随着非结构化数据的爆炸式增长,添加列在某些情况下可能会锁定整个数据库,或者增加负载,从而导致性能下降。由于MongoDB的弱数据结构模式,添加一个新字段不会对旧表产生任何影响,整个过程会非常快。

缺点:

1.不支持交易。

2.MongoDB占用空间太大。

3.MongoDB没有成熟的维护工具。

NOSQL数据库有哪些

Three labels: Redis, Memcache and MongoDB:

1.表演

三者性能比较高。总的来说,Memcache和Redis差不多,高于MongoDB。

2.便利

Memcache只有一个数据结构。

Redis更丰富,数据操作方面,redis更好,网络IO次数更少。

Mongodb支持丰富的数据表达、索引,最类似于关系数据库,支持非常丰富的查询语言。

3、储物空间

Redis在2.0版本之后加入了自己的VM特性,突破了物理内存的限制;您可以为键值设置过期时间(类似于memcache)。

Memcache可以修改最大可用内存,并采用LRU算法。

MongoDB适合存储大量数据,依靠操作系统VM进行内存管理,吃内存也很厉害。服务不应与其他服务放在一起。

4.有效性

Redis,依托客户端实现分布式读写;在主从复制中,每次从节点重新连接到主节点时,都依赖于整个快照,没有增量复制。由于性能和效率问题,单点问题更加复杂。不支持自动分片,但这是必需的。

依靠程序来设置一致的散列机制。一个替代方案是自己做主动复制(多存储),没有redis本身的复制机制,或者改成增量复制(需要自己实现),一致性问题,性能权限。

恒。

Memcache本身没有数据冗余机制,没有必要;对于故障预防,采用成熟的hash或ring算法解决单点故障引起的抖动问题。

MongoDB支持主从、replicaset(内部paxos选举算法、自动故障恢复)和自动分片机制,为客户端屏蔽了故障转移和分段机制。

5.可靠性

Redis支持(快照,aof):依赖于快照的持久性,AOF在影响性能的同时增强了可靠性。

memcache不支持,通常用在做缓存,提升性能。

MongoDB从1.8版本开始采用binlog方式支持持久化的可靠性。

6.一致性

Memcache 在并发场景下,用cas保证一致性。

redis事务支持比较弱,只能保证事务中的每个操作连续执行。

mongoDB不支持事务。

7.数据分析

mongoDB内置了数据分析的功能(mapreduce),其他两者不支持。

8.应用场景

redis:数据量较小的更性能操作和运算上。

memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)。

MongoDB:主要解决海量数据的访问效率问题。

nosql数据库有哪些,以上就是本文为您收集整理的nosql数据库有哪些最新内容,希望能帮到您!更多相关内容欢迎关注。

      
上一篇