这是阅读《MongoDB 实战》所做的,关于基础、编码和优化方面的读书笔记。

MongoDB 特性和介绍

1. 简介

MongoDB 的特点:扩展策略、直观的数据模型。在 mongodb 中,编程语言定义的对象能被“原封不变”地持久化,消除对象结构和程序映射的复杂性。

2. 主要特性

数据模型

关系型与正规化:对于关系型数据库,数据表本质上是扁平的,因此表示多个一对多关系就需要多张表。经常用到的技术是拆表,这种技术是正规化

但对于 Mongo 来说,文档支持嵌套等多种格式,无需事先定义Schema

即时查询

mysql 和 mongodb 都支持即时查询,不同的是:前者依赖正则化的模型;后者假定查询字段是存储与文档中的。

二级索引

mongodb 支持二级索引,是通过 b-tree 实现的。

复制

通过副本集的拓扑结构来提供复制功能,其目的是:提供数据的冗余

副本集的主节点能接受读写操作,但从节点是只读的。主节点出问题,会自动故障转移,选取一个从节点升级为主节点。

写速度和持久性

写速度:给定时间内,数据库可以处理的插入、更新和删除操作的数量。

持久性:数据库保持上述写操作的结果不改变的,所用的时间长短。

DB 领域,写速度和持久性存在一种相反关系。很好理解,例如 memcached,直接写入内存,写速度非常快,但同时数据完全易失。

Powered by Fruition