比较mongodb和mysql在存储结构化数据时的异同

比较mongodb和mysql在存储结构化数据时的异同,第1张

1 MongoDB比MySQL快在它有Memory-Mapping以及它不用处理事物

2 MySQL适用于传统的对关联要求高的方面,MongoDB更多用于Logging、SNS等以K-V居多的需求,但是两种数据库其实都能胜任大多数需求。

对MongoDB来说,关联一般是做成内联的,最大程度发挥其优势。而如果内联起来比较纠结或者冗余太多处理麻烦的时候当然用SQL更恰当了

3 新项目可以考虑用MongoDB 如果经验不足而时间紧迫则可以继续用MySQL

4 总之适当的任务用适当的工具

5 MongoDB有比较好的扩展能力,可以很容易做成分布式架构

6 对MongoDB来说,内存越多越好

MongoDB已经流行了很长一段时间,相对于MySQL,究竟什么场景更需要用MongoDB?下面是一些总结。

更高的写入负载

默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景。但是应当避免在高事务安全性的系统中使用MongoDB,除非能从架构设计上保证事务安全。

高可用性

MongoDB的复副集(Master-Slave)配置非常简洁方便,此外,MongoDB可以快速响应的处理单节点故障,自动、安全的完成故障转移。这些特性使得MongoDB能在一个相对不稳定(如云主机)的环境中,保持高可用性。

数据量很大或者未来会变得很大

依赖数据库(MySQL)自身的特性,完成数据的扩展是较困难的事,在MySQL中,当一个单达表到5-10GB时会出现明显的性能降级,此时需要通过数据的水平和垂直拆分、库的拆分完成扩展,使用MySQL通常需要借助驱动层或代理层完成这类需求。而MongoDB内建了多种数据分片的特性,可以很好的适应大数据量的需求。

基于位置的数据查询

MongoDB支持二维空间索引,因此可以快速及精确的从指定位置获取数据。

表结构不明确,且数据在不断变大

在一些传统RDBMS中,增加一个字段会锁住整个数据库/表,或者在执行一个重负载的请求时会明显造成其它请求的性能降级。通常发生在数据表大于1G的时候(当大于1TB时更甚)。 因MongoDB是文档型数据库,为非结构货的文档增加一个新字段是很快速的 *** 作,并且不会影响到已有数据。另外一个好处当业务数据发生变化时,是将不在需要由DBA修改表结构。

没有DBA支持

如果没有专职的DBA,并且准备不使用标准的关系型思想(结构化、连接等)来处理数据,那么MongoDB将会是你的首选。MongoDB对于对像数据的存储非常方便,类可以直接序列化成JSON存储到MongoDB中。 但是需要先了解一些最佳实践,避免当数据变大后,由于文档设计问题而造成的性能缺陷。

我的回答是不建议都使用MongoDB。NOSQL数据库和关系型数据库各有各的优劣,在项目里面一般需要根据不同的需求和场景来搭配使用。对于非关系型数据库MongoDB来说,可以存放访问频繁的数据,而且SNS里确实存在一些业务适合MongoDB,但是我们开发系统,是功能和性能的综合考虑,一般需要关系型数据库和非关系型数据库配合使用。

MYSQL是硬盘,SQLITE是U盘,MongoDB是内存条

用途上,MYSQL和SQLITE是一样的。。都是用来存数据。。区别在于MYSQL需要启动后台服务,而SQLITE只需要一个文件,并不需要启动服务。。MYSQL的表空间的最大容量为64TB。。而整体容量几乎是无上限的,前提是你要有足够的硬盘空间。。而SQLITE的最大数据量,经过实际测试,大约在2TB左右。。

MYSQL只能部署在电脑上,而SQLITE既可以部署在电脑上,也可以用于手机等移动设备。。。但MYSQL支持的数据量比较大,SQLITE数据量小。。。这两个数据库对于数据储存都不够精确,小数点位数过多时,会丢失精度。一半用于互联网行业,做图文类网站。不能用于金融、财务、军事、科研、测绘等需要保证小数点精度的工作。更高端的数据库有SqlServer和ORACLE,这两个数据库则十分精确。

MongoDB是NOSQL数据库,这玩意和MYSQL,SQLITE不是一回事。。。里面其实是一大堆类似JSON的键值对。。。主要作用是作为临时储存,相当于变相起到了给关系型数据库加速的作用。。简单讲,它的作用主要用于加速,而并不是用于最终储存。。所以它是选配,并不是必须的。注意MongoDB有安全问题,非常容易攻击。若是有重要数据,最好别用。

以上就是关于比较mongodb和mysql在存储结构化数据时的异同全部的内容,包括:比较mongodb和mysql在存储结构化数据时的异同、对比MySQL,什么场景MongoDB更适用、一个大型的SNS网站,是否适合数据库全部用mongodb来做,为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9510068.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存