当前位置: 首页 > news >正文

广州市红十字会医院网站建设项目/成人职业培训机构

广州市红十字会医院网站建设项目,成人职业培训机构,定制网站模板,深圳 旅游 网站建设数据库 MysSQL5.7/MongoDB4.0插入的数据为随机生产,不重复.MySQL使用的连接库是 sqlalchemyMongoDB使用的连接库是pymongo测试分三个部分写入测试查询测试事务测试MysSQL 5.7 VS MOngoDB 4.0插入测试表很简单.只有一个sn字符串的字段.和一个_id._id作为主键都是由数据库自行生成…

数据库 MysSQL5.7/MongoDB4.0

插入的数据为随机生产,不重复.

MySQL使用的连接库是 sqlalchemy

MongoDB使用的连接库是pymongo

测试分三个部分

写入测试

查询测试

事务测试

MysSQL 5.7 VS MOngoDB 4.0

插入测试

表很简单.只有一个sn字符串的字段.和一个_id.

_id作为主键都是由数据库自行生成的.

mysql表使用的是InnoDB引擎.字符集utf-8

mysql和mongodb都使用批量插入的方法,插入2万条数据.

两者都是有连接池的.

mongodb (w0)分组插入2万条记录耗时 1.798202秒

mongodb (w1)分组插入2万条记录耗时 2.229613秒

mongodb (w:majority)分组插入2万条记录耗时 3.3718秒

mongodb (w1, j1)分组插入2万条记录耗时 3.332055秒

mongodb (w:majority, j1)分组插入2万条记录耗时 3.594414秒

mysql 分组插入2万条记录耗时 33.024626秒

对写测试结果稍微做一下说明:

w和j是mongodb的写关注选项.w0,w1....之类的分别代表写关注处于不同的模式(写关注可以理解为mongodb对写入数据的可靠用使用何种确认方式?).

mongodb w0模式 只要网络和硬件没故障,写函数没报错.就认为正确的写入了.这是性能损失最少的工作模式.早期的mongodb默认就是这种模式.这也给了某些人说mongodb会丢数据的口实.虽然这是使用者自己设置不当导致的.但至少这恶名是传开了.哈哈

mongodb w1模式 这是现在的mongodb的默认模式.会确认写函数正确返回才会认为是写入数据了.这种情况下.当系统处于失去响应的状态或者将要宕机时还是会丢失数据.不过这个模式已经很可靠了.

mongodb w:majority模式 当集群中的超过半数的主机写入函数都正确返回才会认为是写入数据了.

mongodb w1 j1模式 在w1的基础上, 还要确认日志完整写入了才会认为是写入数据了.会占用额外的空间.这是单机状态下最高的安全性了.可以认为这个写关注的程度基本上和mysql的正常工作模式类似.

mongodb w:majority, j1 当集群中的超过半数的主机写入函数都正确返回,并且日志都完整记录了.才认为是写入数据了.这是mongodb工作时的最高安全模式.一般认为这种模式只会在硬件故障时才有丢失数据的可能.

mysql 分组插入是批量插入的意思. 如果模拟实际中的单条数据插入.这个结果估计要后面加个0,还好.那不在本次测试范围之类.

插入测试结果:可以看到,我们即使让mongodb工作在和mysql类似的工作模式下.mongodb还是有着10倍左右的写入速度上的优势.这和其他人的测试结果基本吻合(mongodb的写入速度比mysql高一个数量级)

查询测试

查询测试使用的是同一张表:

表中只有一个字段sn. 没有索引.使用一个数据库不存在的sn进行条件查询以便让数据库遍历所有的记录.

测试的结果如下:

mongodb 1万次查询记录耗时 17.88544秒

mysql 1万次查询记录耗时 86.453012秒

可以看出来,查询的速度差别没写入那么大.(大约是5倍上下的速度差距)

事务测试

事务能力测试的需要至少2张表. 在对第一张表操作后,接着操作第二张表.操作过程中涉及的查询不使用索引.

mongodb 1000次事物操作耗时 5.91422秒

mysql 1000次事物操作耗时 42.471786秒

双方的事务操作速度大概是7倍的差距.

本来还是打算做一个连接(join)查询的测试.不过估计结果也不会有什么太大的改变.就是打住吧.

总结

目前来看,至少在速度上,MongoDB是让MySQL在后面吃灰. 功能上,以前没有的连接查询和事务都已经完美的支持了.如果是没有历史包袱的新项目的话,还是很推荐大家使用MongoDB的.

MysSQL 5.7 VS MOngoDB 4.0

功能上,股让MongoDB提供的功能异常强大.瞅瞅MongoDB的API上那让人眼花缭乱的查询函数.各种函数的嵌套和组合.还有内置javascript支持(可以使用js函数组合出你想要的查询和过滤条件),aggregate和map-reduce.虽然提供了几乎你能想到的各种查询.不好的消息是学习成本跟MySQL相比大幅度上升.对于新手来说,那汗牛充栋的文档数量让人望而却步.学习成本比MySQL不是高一星半点.

速度上, 这个毋庸置疑.MongoDB在查询写入事务等方面的速度快的那都是一骑绝尘.

稳定性上,这几个测试根本无法对两者的稳定性上作出对比.不过以笔者20多年的工作经验来看,现在的MongoDB的稳定性满足商业运作已经完全没问题了.只是对于更多的人来说.MongoDB需要更多的时间来证明自己的稳定性不输自己的那些老前辈.

http://www.lbrq.cn/news/731611.html

相关文章:

  • 做网站的你选题的缘由是什么/公司网络搭建
  • 龙口网站建设/百度世界500强排名
  • 孝感个人网站建设/全球搜
  • 苏州市建设中心网站首页/宁波seo入门教程
  • 微信如何添加小程序/seo推广费用需要多少
  • 广东网站备案查询/百度招商加盟推广
  • 网站服务器和网站备案/网页优化公司
  • 黑色炫酷灯饰照明科技企业商务网站模板/百度站长工具域名查询
  • 西安市高新区建设局网站/如何制作微信小程序
  • 某企业网站建设规划书/昆明网站seo优化
  • 做网站备案的问题/信息流优化师怎么入行
  • 凡客诚品售后/郑州官网网站优化公司
  • 重庆网站推广营销/网站开发框架
  • 优秀个人网站推荐/营销推广是什么意思
  • 可以做营销任务的网站/阿里数据
  • 个人备案转企业网站期间/武汉seo首页优化报价
  • 专业彩票网站开发/西安百度公司官网
  • 哪里有网站制作平台/seo如何优化关键词
  • 郑州网站建设公司qq/网站优化排名软件哪些最好
  • 1网站建设/企业网站建设费用
  • 建设部职称网站/谷歌seo零基础教程
  • 佛山出格建站/百度seo排名点击器
  • 购物网站开发需求分析/在线客服系统平台有哪些
  • 临朐网站建设价格/在百度上怎么注册网站
  • 高端网站建设企业/网站联盟推广
  • 东莞网站建设牛魔网a/广东省最新疫情
  • 河北软件开发网站建设/朋友圈广告
  • 成都网站建设公司电话/市场调查报告
  • 品牌vi设计理念/谷歌seo排名公司
  • 蓬莱做网站价格/seo中介平台
  • LeetCode第1695题 - 删除子数组的最大得分
  • 探索Thompson Shell:Unix初代Shell的智慧
  • IntelliJ IDEA 常用快捷键笔记(Windows)
  • 从YOLOv5到RKNN:零冲突转换YOLOv5模型至RK3588 NPU全指南
  • DBLens 业界首创AI表结构变更审查,智能评估影响,助力开发效率跃升。
  • 基于Spring Cloud Gateway动态路由与灰度发布方案对比与实践指导