专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

Mysql冗余查询,mongodb主要用来干嘛_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 12:52:05       共计:3584 浏览
Mysql冗余查询,mongodb主要用来干嘛?

随着云计算的高速发展,越来越多的应用需要存储海量数据,并且对高并发和处理海量数据提出了更高的要求,传统的关系型数据库对于这些应用场景难以满足应用需求。

作为NoSQL数据库之一的MongoDB数据库能够完全满足和解决在海量数据存储方面的应用,越来越多的大网站和企业选择MongoDB代替Mysql进行存储。

什么是MongoDB?

MongoDB[1] 是一个基于分布式文件存储的数据库。由C 语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB[2] 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB的主要特点

(1)文件存储格式为Bson,使用易于掌握和理解的Json风格语法。相对Json来说,Bson拥有更好的性能,主要表现为更快的遍历速度、操作更简易、增加了额外的数据类型。(2)模式自由,支持嵌入子文档和数组,无需事先创建数据结构,属于逆规范化的数据模型,有利于提高查询速度。(3)动态查询,支持丰富的查询表达式,使用Json形式的标记,可轻易查询文档中内嵌的对象和数组及子文档。(4)完整的索引支持,包括文档内嵌对象和数据,同时还提供了全文索引方式,MongoDB的查询优化器会分析查询表达式,并生成一个高效的查询计划。(5)使用高效的二进制数据存储,适合存储大型对象(如高清图片、视频等)。(6)支持多种复制模式,提供冗余及自动故障转移。支持Master-Slave、Replica Pairs/Replica Sets、有限Master-Master模式。(7)支持服务端脚本和Map/Reduce,可以实现海量数据计算,即实现云计算功能。(8)性能高、速度快。在多数场合,其查询速度对于MySQL要快的多,对于CPU占用非常小。部署很简单,几乎是零配置。(9)自动处理碎片,支持自动分片功能实现水平扩展的数据库集群,可以动态添加或移除节点。(10)内置GridFS,支持海量存储。(11)可通过网络访问,采用高效的MongoDB网络协议,在性能方面要优于http或Rest协议。(12)第三方支持丰富,MongoDB社区活跃,越来越多的公司和网站在生产环境中使用MongoDB进行技术架构优化,同时由10gen公司官方提供强大技术支持。

MongoDB的适用场景

MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。(1)网站数据:MongoDB非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。(2)缓存:由于性能很高,MongoDB也适合作为信息基础设施的缓存层。在系统重启之后,由MongoDB搭建的持久化缓存层可以避免下层的数据源过载。(3)大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。(4)高伸缩性的场景:MongoDB非常适合由数十或数百台服务器组成的数据库。MongoDB的路线图中已经包含对MapReduce引擎的内置支持。(5)用于对象及JSON数据的存储:MongoDB的Bson数据格式非常适合文档化格式的存储及查询。

如有不同观点,欢迎发表评论。如果喜欢我的回答,欢迎“点赞、分享”。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql构建查询,mysql数据库中怎么查看自己创建的数据库_数据库 | ·下一条:mysql挨个查询,电脑上有哪些厉害的程序软件_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有