作者简介
张嘉江,网易乐德高级工程师。
贵金属报价系统提供的界面(注:贵金属是作者所在部门的业务)通过Redis获取数据。目前使用Redis存储的k分钟报价数据只有8000条左右。考虑到未来可能会有更大的查询需求,需要查询几个月甚至几年的报价数据,数据库需要在保证性能和稳定性的同时提供功能。Redis通常只用作内存中的数据库,数据量很小,而传统的关系数据库存在一些查询性能瓶颈,因此考虑调查其他NoSQL数据库。
1.为什么要调查MongoDB?
图1-1是2017年11月DB-Engines2017数据库排名统计。可以看出,蒙古数据库在总数上排名第五,在NoSQL数据库中排名第一。
图1-1 2017年11月数据库引擎排名统计
优点:
社区活跃,用户众多,应用广泛
当MongoDB有足够的内存时,数据被放入内存,并有完整的索引支持,因此查询效率很高
MongoDB的碎片机制支持海量数据的存储和扩展
缺点:
不支持事务
不支持连接和复杂查询
根据初步调查,MongoDB具备我们需要的特性,缺点不影响应用场景,所以我们就开始做实际的性能压力测试。
二、压力测量性能比较
1.准备条件
不适用的情况
(1)MongoDB不支持事务操作,建议需要事务的应用不要使用MongoDB。(2)MongoDB目前不支持join操作,对于需要复杂查询的应用,不建议使用MongoDB。
2.关系数据库和非关系数据库应用场景的比较
关系数据库适用于存储结构化数据,如用户的账号和地址:
这些数据通常需要结构化查询,如连接。此时,关系数据库将获胜
这些数据的规模和增长率通常是可以预测的
事务性、一致性
NoSQL适合存储非结构化数据,如张文和评论:
这些数据通常用于模糊处理,如全文搜索和机器学习
这些数据是巨大的,而且增长率是不可预测的
根据数据的特点,NoSQL数据库通常具有无限的可扩展性(至少接近于此)
通过键获取数据非常有效,但是对连接或其他结构化查询的支持相对较差
1.《mongodb和mysql的区别 从MySQL和MongoDB的对比,看SQL与NoSQL的较量》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《mongodb和mysql的区别 从MySQL和MongoDB的对比,看SQL与NoSQL的较量》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1456870.html