谈谈mongodb,mysql的区别和具体应用场景

谈谈mongodb,mysql的区别和具体应用场景

2023年7月21日发(作者:)

谈谈mongodb,mysql的区别和具体应⽤场景最近对数据库⽐较感兴趣,于是就去研究了下部分相关热门的数据库。MySQL关系型数据库。在不同的引擎上有不同 的存储⽅式。查询语句是使⽤传统的sql语句,拥有较为成熟的体系,成熟度很⾼。开源数据库的份额在不断增加,mysql的份额页在持续增长。缺点就是在海量数据处理的时候效率会显著变慢。Mongodb⾮关系型数据库(nosql ),属于⽂档型数据库。先解释⼀下⽂档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备⾃述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。存储⽅式:虚拟内存+持久化。查询语句:是独特的Mongodb的查询⽅式。适合场景:事件的记录,内容管理或者博客平台等等。架构特点:可以通过副本集,以及分⽚来实现⾼可⽤。数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从⽽达到⾼速读写。成熟度与⼴泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,⽐较完善的DB之⼀,适⽤⼈群不断在增长。优势:快速!在适量级的内存的Mongodb的性能是⾮常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得⼗分快,⾼扩展!⾃⾝的Failover机制!json的存储格式!缺点:主要是⽆事物机制!分析⼀下Mysql和Mongodb应⽤场景1.如果需要将mongodb作为后端db来代替mysql使⽤,即这⾥mysql与mongodb 属于平⾏级别,那么,这样的使⽤可能有以下⼏种情况的考量: (1)mongodb所负责部分以⽂档形式存储,能够有较好的代码亲和性,json格式的直接写⼊⽅便。(如⽇志之类) (2)从datamodels设计阶段就将原⼦性考虑于其中,⽆需事务之类的辅助。开发⽤如nodejs之类的语⾔来进⾏开发,对开发⽐较⽅便。(3)mongodb本⾝的failover机制,⽆需使⽤如MHA之类的⽅式实现。2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端⽇志收集分析。 考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql⽽使⽤的类redis memcache 之类的缓存db来使⽤。 亦或是仅作⽇志收集分析。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1689900511a293388.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信