关于后端:MongoDB-官方文档笔记之存储-Storage

49次阅读

共计 819 个字符,预计需要花费 3 分钟才能阅读完成。

两种存储引擎

WiredTiger 存储引擎,默认

In-memory 内存存储引擎

WiredTiger

文档级并发模型

反对多个客户端同时批改汇合的不同文档。

快照和检查点 checkpoint

WiredTiger 应用 MultiVersion(MVVC)并发管制。

检查点能够充当复原点

日志 Journal

日志与检查点联合应用,确保数据持久性。日志保留检查点之间的数据批改

日志通过疾速压缩库进行压缩,通过 storage.wiredTiger.engineConfig.journalCompressor 配置压缩算法或不压缩。

压缩

MongoDB 反对对汇合和索引压缩,压缩能够缩小存储空间,但减少 CPU 开销。

MongoDB Wiredtiger 存储引擎实现原理:https://mongoing.com/archives/2540

MongoDB 存储引擎 WiredTiger 原理解析:https://mongoing.com/archives/5367

In-Memory 内存存储引擎

文档级并发模型

同样反对文档级并发

持久性

没有长久化反对,所有数据均在内存中,包含应用程序数据和零碎数据,例如用户,权限,索引,正本集配置,分片群集配置等。

日志性能不实用内存引擎

日志

应用日志记录的复原过程:

1. 在数据文件中查找最初一个检查点 checkpoint 的标识符。

2. 在日记 journal 文件中搜寻与最初一个检查点 checkpoint 的标识符匹配的记录。

3. 从上一个检查点 checkpoint 开始,将操作利用于日志文件。

应用日志性能,WiredTiger 为每个客户端发动的写操作创立一个日记记录。日志记录包含由初始写入引起的任何外部写入操作。

例如,对汇合中文档的更新可能会导致对索引的批改;WiredTiger 创立单个日志记录,其中蕴含更新操作及其关联的索引批改。

https://docs.mongoing.com/cun-chu/journaling

本文由 mdnice 多平台公布

正文完
 0