MongoDB 概念:
MongoDB 是一个文档型的 NoSql 数据库,和关系型数据库相比,没有结构化的存储要求,扩大更灵便。
存储构造:
DataBase: 相似于关系数据库中的 DataBase。
Collection: 相似于关系数据库中的表。
Document:MongoDB 中的最小存储单元,相似于关系数据库中的行。每一个 Document 都是一个 BSON 键值对。
BSON:是一种网络数据交换格局,是 JSON 的二进制示意。构造相似于 JSON。扩大了 JSON 反对的数据格式:date,byte array。BSON 内元素前记录了此元素的字节长度,因而绝对于 JSON,遍历更快,解决更高效。毛病是须要更多的存储空间。
索引
单键索引
最常见的索引类型,基于一个字段进行索引,能够疾速定位到指定字段的值。
复合索引
基于多个字段组合创立的索引,能够放慢多个字段的查问效率,实用于多字段联结查问。
惟一索引
确保索引字段的唯一性,避免反复值的插入和更新。
文本索引
用于全文搜寻,反对文本关键字的匹配和查问。
多键索引
用于索引数组或嵌套文档中的多个键值,实用于查问和筛选数组字段中的值。
TTL 索引
Time-to-Live Index,依据指定的工夫字段主动删除过期的文档,实用于数据的主动清理和过期治理。
hash 索引
将索引字段的值进行散列哈希,用于疾速查找和比拟,不反对范畴查问。
wiredTiger 存储引擎
wiredTiger 是用 B + 树,写操作会先写到内存中,并记录日志。每过一段时间,会生成一个内存快照,而后以 page 为根本单位往磁盘读写数据,每一次写都会从新生成新的 root page。
适宜场景
适宜存价值不高,构造灵便扩大,数据结构比较复杂。