当前位置:首页>开发>正文

nosql数据库包含哪几个数据库

2024-01-10 10:58:17 互联网 未知 开发

nosql数据库包含哪几个数据库?

nosql数据库包含哪几个数据库

常见的nosql数据库有:1、Redis支持多种数据结构,支持持久化操作,支持通过Replication进行数据复制;2、Memcache可以利用多核优势,单实例吞吐量极高;3、MongoDB处理很大的规模的单表。


常见的nosql数据库有:


1.Redis


优点:


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


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


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


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


5.支持pub/sub消息订阅机制,可以用来进行消息订阅与通知。


6.支持简单的事务需求,但业界使用场景很少,并不成熟。


缺点:


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


2.支持简单的事务需求,但业界使用场景很少,并不成熟,既是优点也是缺点。


3.Redis在string类型上会消耗较多内存,可以使用dict(hash表)压缩存储以降低内存


耗用。


2.Memcache


优点:


1.Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。


2.支持直接配置为session handle。


缺点:


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


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


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


4.Memcached内存分配采用Slab Allocation机制管理内存,value大小分布差异较大时会造成内存利用率降低,并引发低利用率时依然出现踢出等问题。需要用户注重value设计。


3.MongoDB


优点:


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


2.处理很大的规模的单表,当数据表太大的时候可以很容易的分割表。


3.高可用性,设置M-S不仅方便而且很快,MongoDB还可以快速、安全及自动化的实现节点


(数据中心)故障转移。


4.快速的查询,MongoDB支持二维空间索引,比如管道,因此可以快速及精确的从指定位置


获取数据。MongoDB在启动后会将数据库中的数据以文件映射的方式加载到内存中。如果内


存资源相当丰富的话,这将极大地提高数据库的查询速度。


5.非结构化数据的爆发增长,增加列在有些情况下可能锁定整个数据库,或者增加负载从而


导致性能下降,由于MongoDB的弱数据结构模式,添加1个新字段不会对旧表格有任何影响,


整个过程会非常快速。


缺点:


1.不支持事务。


2.MongoDB占用空间过大 。


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

NoSQL数据库是指非关系型数据库,其包含多种不同类型的数据库。其中最常见的包括:文档型数据库(MongoDB、Couchbase)、键值型数据库(Redis、Memcached)、列式数据库(HBase、Cassandra)、图形数据库(Neo4j、ArangoDB)等。这些数据库的共同特点是它们不采用传统的关系表格来存储数据,更加灵活,适用于处理非结构化和半结构化的数据。NoSQL数据库在大数据分析、实时处理和云计算等领域中得到了广泛应用。

最新文章