当前位置:网站首页>《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 为个人提供了用于学习的免费数据库服务。
边栏推荐
- 2021-10-21
- JS uses the for loop in the function to insert and delete the array at the specified position
- Resolution of PPT paper drawing
- 5 kinds of viewer for browser
- 英语口语 - 弱读
- KDD 2022 | GraphMAE:自监督掩码图自编码器
- WIN10环境下配置pytorch
- Possible problems when idea encounters errors occurred while compiling module (solved)
- 量化交易之回测篇 - 期货CTA策略策略(TQZFutureRenkoWaveStrategy)
- JS SMS countdown implementation (simple code)
猜你喜欢
线上服务应急攻关方法论
利用cmd(命令提示符)安装mysql&&配置环境
Update PIP & Download jupyter Lab
三行代码简单修改jar包的项目代码
CUDA error: unspecified launch failure
[visio] solving the fuzzy problem of parallelogram in word
Sword finger offer II 025 Adding two numbers in a linked list
2021-09-22
Meichuang was selected into the list of "2022 CCIA top 50 Chinese network security competitiveness"
Serevlt初识
随机推荐
[machine learning] model and cost function
nacos无法修改配置文件Mysql8.0的解决方法
[转]以终为始,详细分析高考志愿该怎么填
Oracle backup or restore database (expdp, impdp)
几分钟上线一个网站 真是神器
leetcode - 384. Scramble array
浏览器的5种观察器
Match regular with fixed format beginning and fixed end
Command line garbled
英语口语 - 弱读
Elemntui's select+tree implements the search function
Summer Ending
Oracle trigger error report table or view does not exist
CUDA error: unspecified launch failure
画图常用配色
Visual studio2019 link opencv
Update PIP & Download jupyter Lab
深圳民太安智能二面_秋招第一份offer
leetcode - 384. 打乱数组
Slice() and slice() methods of arrays in JS