常见的nosql数据库有哪些 - 网站

常见的nosql数据库有哪些

分类:前端答疑 - 常见问题 · 发布时间:2020-12-13 10:34 · 阅读:13180

常见的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数据库

相关文章

相互宝逾期一年才发现怎么办

相互宝逾期一年才发现,可以尝试可通过支付宝相互宝页面“待补缴”入口进行补缴,且补缴需从原加入相互宝并逾期的支付宝账户中进入。一般情况下,相互宝的每月分摊日为14日/28日,首次扣划失败,系统会在该分摊日后第二个公示日前2个自然日24时前持续扣划,超过这个时间则会被退出该计划。

pat是什么文件格式

pat是用pcstitch软件做出的图自动保存的格式;PAT文件可以是ACAD的定义填充图案文件,也可以是moto手机的权限文件,需上传到手机才能访问相应的java文件,甚至可以是支持亮片功能的绣花机花版数据格式。

前端和后端的区别是什么

区别:1、前端开发人员需要精通HTML、CSS和JavaScript;后端开发人员应该拥有数据库、服务器、API等技能。2、前端开发人员团队设计网站的外观,并通过测试不断修改;后端开发人员团队开发软件,并构建支持前端的数据库架构。

img标签属于什么元素

img标签属于行内元素;img标签没有独占一行,所以是行内元素。尽管img是行内元素,但同时它也是置换元素,置换元素一般内置框高属性,因此可以设置其框高。

前端三大框架是什么

前端三大框架是:1、angular,一个客户端的JavaScript MVC框架,用于开发动态Web应用程序;2、vue,一个用于创建用户界面的开源JavaScript框架;3、react,一个用来构建用户界面的JavaScript库。

返回分类 返回首页