MongoDB入门:副本集初始化与NoSQL特点详解

需积分: 49 61 下载量 167 浏览量 更新于2024-08-15 收藏 2.26MB PPT 举报
副本集是MongoDB中的一种高可用性和数据复制机制,它允许在一个集群中维护多个节点,每个节点都保存着完整的数据副本。在MongoDB中,通过`mongo`命令行工具和`db.runCommand()`函数来初始化副本集。以下是一些关键知识点: 1. **副本集的初始化**: - 副本集初始化是在MongoDB的一个节点上执行的,通常是使用`localhost`和预设的端口号(如10001)作为初始节点。 - 使用`mongo localhost:10001/admin`命令连接到admin数据库,然后运行`db.runCommand()`函数,传入`replSetInitiate`命令,定义副本集的名称(如`itcast`),成员列表包含各个服务器的配置,如`_id`表示节点编号,`host`指定服务器地址,`priority`定义优先级。 2. **初始化文档结构**: - `_id`字段是副本集的唯一标识符,用于区分不同的副本集。 - `members`数组列出集群中的所有成员,每个成员包含`_id`、`host`和可选的`priority`,`priority`用于确定在故障恢复时哪个节点将接收写入请求。 3. **NoSQL与关系型数据库对比**: - NoSQL数据库,如MongoDB,是非关系型数据库,支持非结构化数据存储,更灵活,扩展性好,但可能牺牲了SQL支持和丰富的标准特性。 - MongoDB特点包括面向集合存储、模式自由、动态查询支持、索引灵活以及高效的数据存储(BSON格式)。 4. **MongoDB简介**: - MongoDB是一款C++编写的高性能非关系型数据库,特别适合处理大量复杂数据和快速查询,支持复制和故障恢复,适合大数据场景。 - 数据模型基于文档,文档与关系型数据库中的行类似,但更为灵活;集合对应表,数据库内可以包含多个集合;使用JavaScript shell进行管理和数据操作。 5. **核心概念**: - 文档是MongoDB的基本存储单位,类似关系数据库中的行,但具有更多字段。 - 集合是一组相关的文档,类似于关系数据库的表。 - MongoDB允许单机上运行多个数据库,每个数据库有独立的集合和权限。 - `_id`字段是文档的唯一标识,相当于关系数据库的主键。 6. **数据类型**: - MongoDB支持多种数据类型,包括但不限于字符串、数字、日期、布尔值、数组、对象、二进制数据等,提供了丰富的数据灵活性。 了解这些要点后,你可以开始学习如何在MongoDB中创建、管理副本集,并利用其特性构建可扩展的应用程序。