2023年7月21日发(作者:)
mongodb与mysql区别(超详细)
MySQL是关系型数据库。 优势:在不同的引擎上有不同 的存储⽅式。查询语句是使⽤传统的sql语句,拥有较为成熟的体系,成熟度很⾼。开源数据库的份额在不断增加,mysql的份额页在持续增长。 缺点:在海量数据处理的时候效率会显著变慢。Mongodb是⾮关系型数据库(nosql ),属于⽂档型数据库。⽂档是mongoDB中数据的基本单元,类似关系数据库的⾏,多个键值对有序地放置在⼀起便是⽂档,语法有点类似javascript⾯向对象的查询语⾔,它是⼀个⾯向集合的,模式⾃由的⽂档型数据库。存储⽅式:虚拟内存+持久化。查询语句:是独特的Mongodb的查询⽅式。适合场景:事件的记录,内容管理或者博客平台等等。架构特点:可以通过副本集,以及分⽚来实现⾼可⽤。数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从⽽达到⾼速读写。成熟度与⼴泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,⽐较完善的DB之⼀,适⽤⼈群不断在增长。优点:快速!在适量级的内存的Mongodb的性能是⾮常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得⼗分快。⾼扩展性,存储的数据格式是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/1689900302a293358.html
评论列表(0条)