当前位置:网站首页>《MongoDB入门教程》第01篇 MongoDB简介
《MongoDB入门教程》第01篇 MongoDB简介
2022-06-25 12:33:00 【不剪发的Tony老师】
MongoDB
MongoDB 是一个开源、跨平台、分布式文档数据库,属于 NoSQL(Not Only SQL)数据库的一种。
简单易用
MongoDB 是一个面向文档的数据库,使用文档(document)对象存储数据,这种方式比关系型数据库(RDBMS)中的数据行格式更加灵活。
文档可以支持在单个记录中表示复杂的层级关系。
MongoDB 不需要预定义模式结构(schema),可以更加方便快捷地增加或删除文档中的字段。
可扩展
随着数据量的增长,我们将会面临可扩展性的挑战。一般来说,扩展方式有两种:
- 纵向扩展(Scaling up),升级服务器的资源(CPU、RAM 等)。
- 横向扩展(Scaling out),为集群增加更多的服务器。这种方式比纵向扩展更加经济、可扩展性更好,缺点就是管理更加复杂。
MongoDB 天生具有横向扩展性。
MongoDB 可以将数据分布式存储到多个服务器中,同时可以自动管理跨节点的负载均衡,将数据操作路由到相应的服务器。下图演示了 MongoDB 使用 sharding 分片进行横向扩展的示意:
功能丰富
作为一个数据库管理系统,MongoDB 支持数据的插入、更新、删除以及查询。除此之外,MongoDB 还提供了以下功能:
- 索引
- 聚合
- 指定集合与索引的类型
- 文件存储
我们将会在后面的教程中详细介绍这些功能。
高性能
MongoDB 提供了高性能的数据存储,例如,嵌入式数据模型可以减少 I/O 操作,索引可以加速查询。
MongoDB 的理念就是创建一个可扩展、灵活且高性能的全功能数据库。
MongoDB 版本
MongoDB 提供了三种不同的版本:社区版、企业版以及云数据库(Atlas)。
MongoDB 社区版
MongoDB 社区版可以免费使用,支持 Windows、Linux 以及 macOS 平台。
MongoDB 社区版使用(SSPL) 许可证,意味着如果我们将 MongoDB 作为一个公共服务提供给其他人使用,必须开源支持该服务的软件代码,例如管理或者监控该服务的工具。否则,我们需要购买企业版。
如果我们使用 MongoDB 社区版作为应用程序的一个组件,而不是最终的产品,可以免费使用。
MongoDB 企业版
MongoDB 企业版是 MongoDB 的商业版本,也是 MongoDB 企业高级订阅的一部分。
MongoDB 企业版提供了很多社区版不支持的功能,例如:
- 内存(In-Memory)存储引擎
- 审计功能
- Kerberos 认证
- LDAP 代理认证和 LDAP 授权
- 静态加密
MongoDB Atlas
MongoDB Atlas 是一个全球云数据库服务。它是一种数据库即服务(database as a service),可以让我们专注于应用开发,而不是管理数据库。
MongoDB Atlas 支持各种常见的云平台,包括 AWS、Azure 以及 GCP,国内的阿里云、腾讯云也提供了相应的服务。MongoDB Atlas 为个人提供了用于学习的免费数据库服务。
边栏推荐
- 量化交易之回测篇 - 期货CTA策略策略(TQZFutureRenkoWaveStrategy)
- Sword finger offer day 1 stack and queue (simple)
- Flutter automatically disappears after receiving push
- 5 kinds of viewer for browser
- 英语口语 - 连读
- And console Log say goodbye
- 剑指 Offer II 028. 展平多级双向链表
- KDD 2022 | GraphMAE:自监督掩码图自编码器
- leetcode - 384. 打乱数组
- Connect with the flight book and obtain the user information according to the userid
猜你喜欢

1251- Client does not support authentication protocol MySql错误解决方案

【AI助力科研】loss曲线傻瓜式绘制

Sword finger offer II 028 Flatten multi-level bidirectional linked list

3+1保障:高可用系统稳定性是如何炼成的?

架构师需要具备的能力

CUDA error: unspecified launch failure
![[flask tutorial] flask development foundation and introduction](/img/c4/fb80fbe6b563e3b304d59623ef6465.jpg)
[flask tutorial] flask development foundation and introduction

剑指Offer 第 2 天链表(简单)
![[machine learning] parameter learning and gradient descent](/img/28/bb0a66b5f0702c995ca9cd7546b678.jpg)
[machine learning] parameter learning and gradient descent

微信全文搜索技术优化
随机推荐
深圳民太安智能二面_秋招第一份offer
药物设计新福音:腾讯联合中科大、浙大开发自适应图学习方法,预测分子相互作用及分子性质
利用cmd(命令提示符)安装mysql&&配置环境
Possible problems when idea encounters errors occurred while compiling module (solved)
Command line garbled
And console Log say goodbye
torch.tensor拼接与list(tensors)
Used in time filter (EL table)
Methods of strings in JS charat(), charcodeat(), fromcharcode(), concat(), indexof(), split(), slice(), substring()
美创入选“2022 CCIA中国网络安全竞争力50强”榜单
20220620 interview reply
Sword finger offer day 2 linked list (simple)
原生js---无限滚动
nacos无法修改配置文件Mysql8.0的解决方法
又是被Visdom搞崩溃的一夜
Oracle trigger error report table or view does not exist
Event triggered when El select Clear clears content
Jenkins pipeline uses
Capabilities required by architects
Reload cuda/cudnn/pytorch