MongoDB特性

本文深入探讨了MongoDB的主要特性,包括其文档数据模型、ad hoc查询、索引、复制集(用于灾备和读写分离)、数据持久化策略以及水平扩展能力如分片。MongoDB以BSON格式存储数据,支持灵活的文档结构,提供丰富的查询功能,通过B-树索引优化查询效率,并具备自动化的复制和灾备机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要参考《MongoDB 实战》第二版

1.文档数据模型

    MongoDB以二进制JSON格式存储文档数据,或者叫做BSON。BSON有相似的数据结构,它是专门为文档存储设计。当查询MongoDB并返回结果时,这些数据就会转换为易于阅读的数据格式。

    关系型数据库包含表,MongoDB拥有集合。即关系型数据库在表的行里保存数据,而MongoDB在集合的文档里保存数据。集合是MongoDB中非常重要的概念,集合中的数据存储在磁盘上,而且大部分查询需要指定查询的目标集合。面向文档的数据模型非常适合表示集中形式的数据,允许我们处理整个数据,而这些数据只包含在一个数据库对象中。

    MongoDB在支持丰富的数据结构外,文档不需要遵守严格的数据定义schema。我们在关系型数据库存储数据时,每个表都有严格的schema,指定每个列的数据类型。如果某行需要扩展字段,就必须修改表结构。MongoDB的文档放在集合中,集合不需要定义schema,理论上,每个集合中的文档都可以拥有不同的数据结构,实际上,集合中的文档都是相对一致的。

2.ad hoc查询

    系统支持主动查询模式(ad hoc queries)是指不需要事先定义系统接收何种查询,关系型数据库忠实地执行格式正确的包含各种条件的SQL查询,而键值存储的查询只支持一个领域的查询:键Key,键-值存储数据库牺牲丰富的查询功能来换取更简单的伸缩模型。MongoDB的设计目标之一是保留大部分关系型数据库的功能。

3.索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值