MongoDB

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。

适合场景

适合存价值不高,结构灵活扩展,数据结构比较复杂。

你可能感兴趣的:(nosql数据库)