非关系型数据库之MongoDB

9 篇文章 0 订阅
1 篇文章 0 订阅

mongdb命令及java使用https://www.runoob.com/mongodb/mongodb-sort.html

redis与mongdb的对比:

redis与mongoDB的区别

  • 内存管理

Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据(redis本质是内存数据库,内存大小决定了redis的可用空间,而2.0后支持virtual Memory(虚拟内存),但是本质上就是磁盘存储了,影响性能)。

MongoDB 数据会优先存于内存,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。

需要注意的是Redis 和mongoDB特别消耗内存,一般不建议将它们和别的服务部署在同一台服务器上。

  • 数据结构

Redis 支持的数据结构丰富,包括hash、set、list等。

MongoDB 数据结构比较单一,但是支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。

  • 数据量和性能

当物理内存够用的时候,性能,redis>mongodb>mysql

数据量,mysql>mongodb>redis

注意mongodb可以存储文件,适合存放大量的小文件,内置了GirdFS 的分布式文件系统。

  • 可靠性

mongodb从1.8版本后,采用binlog方式(MySQL同样采用该方式)支持持久化,增加可靠性;

Redis依赖快照进行持久化;AOF增强可靠性;增强可靠性的同时,影响访问性能。

可靠性上MongoDB优于Redis。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

mysql&redis&mongdb的使用场景和优缺点:

MySQL使用场景以及优缺点
使用场景

    1, 高度事务性的系统;

    2, 重要数据, 关系性数据;

    3, 需要sql语句的问题;

    ......

优点  

    1, 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性;

    2, 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;

    3, 为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等;

    4, 支持多线程,充分利用CPU资源;

    5, 价格便宜:Mysql是开源的,所以不需要支付额外的费用;

    6, MySQL使用标准的SQL数据语言形式

    ......

缺点

    1, 比较难学;

    2, MySQL也缺乏一些存储程序的功能;

    3, 使用缺省的ip端口,但是有时候这些ip也会被一些黑客闯入;

    4, 使用myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失

    ......

redis使用场景和优缺点
使用场景

    1, 取最新N个数据的操作

    2, 排行榜应用, 取top N 操作

    3, 需要精准设定过期时间的应用

    4, 计数器应用

    5, uniq 操作,获取某段时间所有数据排重值

    6, pub/sub 构建实时消息系统

    7, 构建队列系统

    8, 缓存

优点

    1 读写性能优异

    2 支持数据持久化,支持AOF 和 RDB 两种持久化方式

    3 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离

    4 数据结构丰富 有string,hash,set,sortedset,list 

缺点

    1 不具备自动容错和恢复功能

    2 较难支持在线扩容

mongodb使用场景和优缺点
使用场景

    1 网站数据

    2 缓存

    3 大尺寸,低价值的数据

    4 高伸缩性的场景

    5 用于对象及json数据的存储

    6 一般数据存储

    7 把mongodb当作MySQL的一个view,view是将表数据整合成业务数据的关键

优点

    1 弱一致性,更能保证用户的访问速度

    2 文档结构的存储方式,能够更便捷的获取数据

    3 内置GridFS,高效存储二进制大对象

    4 支持复制集,主备,互为主备,自动分片等特性

    5 动态查询

    6 全索引支持,扩展到内部对象和内嵌数组

缺点

    1 不支持事务

    2 占用空间过大

    3 维护工具不够成熟 

ssm配置mongdb:

https://blog.csdn.net/zzqtty/article/details/80842131

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值