当前位置:网站首页>MongoDB系列之适用场景和不适用场景
MongoDB系列之适用场景和不适用场景
2022-06-26 14:52:00 【SmileNicky】
MongoDB是一款开源的分布式架构的NoSQL数据库管理系统。在前面的NoSQL和SQL对比学习中,我们知道了NoSQL数据库系统和传统的RDBMS的不同和优点
1、MongoDB优点
可以简单列举MongoDB一些明显的主要的优点
- 速度:MongoDB比一般的关系型数据库快很多,作为面向文档的NoSQL数据库,MongoDB可以通过索引使访问文档变得很容易而且快速
- 分片:MongoDB另外一个优势是允许用户存储大量的数据,其通过分片的方式将数据分发到多个服务器上。
- 灵活性:因为MongoDB是非结构化的数据库系统,而且多种数据类型,所以不需要像关系型数据那样,进行特别的表结构设计,存储数据更加灵活
- 分布式:MongoDB数据库默认支持分布式,内带分布式的解决方案
2、MongoDB局限性
- 不支持连接:与支持连接的理性数据库不同,MongoDB 不支持。尽管可以通过手动编码来添加连接功能,但执行起来可能会很慢并影响性能。
- 数据大小有限制:MongoDB允许的文档最大值为16MB
- 不能无限嵌套:MongoDB的数据格式是BSON的,但是其不支持无限的嵌套,用户不能超过100级的文档嵌套
- 高内存:MongoDB会存储每个值对的键名。它还受到数据冗余的影响,因为它缺乏连接的功能。这会导致高内存使用率。
- 不支持业务复杂查询:MySQL这些类型数据库都可以进行表连接等等复杂业务查询,MongoDB是文档型的数据库,所以不支持联表(Collection)查询
3、适用场景
归纳了MongoDB一些比较明显的特征后,我们可以知道MongoDB的一些适用场景。
在MongoDB官网也会列举了MongoDB的适用场景:
- 1)网站实时数据:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及 高度伸缩性。
- 2)数据缓存:由于性能很高,MongoDB 也适合作为信息基础设施的缓存层。在系统重启之后,由 MongoDB 搭建的持久化缓存层可以避免下层的数据源过载。
- 3)大尺寸、低价值数据存储:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很 多时候程序员往往会选择传统的文件进行存储。
- 4)高伸缩性场景:MongoDB 非常适合由数十或数百台服务器组成的数据库。MongoDB 的路线图中已经包 含对 MapReduce 引擎的内置支持。
- 5)对象或 JSON 数据存储:MongoDB 的 BSON 数据格式非常适合文档化格式的存储及查询。
4、不适用场景
- 1)高度事务性系统:例如银行或会计这些金融系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
- 2)传统的商业智能应用:针对特定问题的 BI 数据库会对产生高度优化的查询方式。对于此类应用,关系型可能是更合适的选择。
所以,对于需要复杂 SQL 查询的问题。MongoDB是不太适合的,在技术选项上需要根据业务场景和公司实际情况选择合适的数据库,关系型数据库和NoSQL数据库各有优缺点,应该根据实际场景合理选择数据库
5、参考资料
- MongoDB应用场景:https://hevodata.com/learn/mongodb-use-case/
- MongoDB 官网地址:https://www.mongodb.com/
- MongoDB 官方英文文档:https://docs.mongodb.com/manual/
- MongoDB 各平台下载地址:https://www.mongodb.com/download-center#community
边栏推荐
- 大学生值得珍藏的实用网站推荐
- 文献1
- SAP gui 770 下载
- It's natural for the landlord to take the rent to repay the mortgage
- clustermeet
- Redis cluster messages
- TCP拥塞控制详解 | 1. 概述
- Optimizing for vectorization
- Minister of investment of Indonesia: Hon Hai is considering establishing electric bus system and urban Internet of things in its new capital
- 杜老师说网站更新图解
猜你喜欢

聊聊 RPA 方向的规划:简单有价值的事情长期坚持做

View touch analysis

Mark: unity3d cannot select resources in the inspector, that is, project locking
![[cloud native] codeless IVX editor programmable by](/img/10/7c56e46df69be6be522a477b00ec05.png)
[cloud native] codeless IVX editor programmable by "everyone"

【soloπ】adb连接单个多个手机

Naacl2022: (code practice) good visual guidance promotes better feature extraction, multimodal named entity recognition (with source code download)

Common operation and Principle Exploration of stream

Unity uses skybox panoramic shader to make panorama preview. There is a gap. Solution

Program analysis and Optimization - 8 register allocation

使用卷积对数据进行平滑处理
随机推荐
The tablestack function of the epidisplay package of R language makes a statistical summary table (descriptive statistics of groups, hypothesis test, etc.), does not set the by parameter to calculate
Numpy基本使用
Keil4打开单片机工程一片空白,cpu100%程序卡死的问题解决
Halcon C# 设置窗体字体,自适应显示图片
Principle of TCP reset attack
Use of subqueries
710. 黑名单中的随机数
The heavyweight white paper was released. Huawei continues to lead the new model of smart park construction in the future
Redis cluster messages
nvidia-smi 报错
Document 1
重磅白皮书发布,华为持续引领未来智慧园区建设新模式
Unity UnityWebRequest 下载封装
NVIDIA SMI error
10分钟了解BIM+GIS融合,常见BIM数据格式及特性
Notes on writing questions in C language -- table tennis competition
R language dplyr package summary_ The at function calculates the mean and median of multiple data columns (specified by vectors) in the dataframe data, and specifies na RM parameter configuration dele
获取两个dataframe的交并差集
Flex & bison start
Deploy the flask environment using the pagoda panel