我不明白mongodb中存储引擎的区别。 除了那些:
哪些是其他? 例如关于日记
这里的答案有很多不同之处,但是在很高的层次上,我会说“有线泰格是未来”,“MMAP是过去”。
WiredTiger是MongoDB 3.2+的新部署的默认存储引擎,最近版本中的一些MongoDBfunction(例如configuration服务器作为Replica Sets又名CSRS )依赖于WiredTiger。 在改进WiredTiger方面投入了大量的工程工作,并实现了MMAP不可能实现的并发性,正确性和一致性水平(例如, 通过了对分布式数据库的严格的Jepsentesting )。
除了您提到的差异之外,WiredTiger还提供了改进的并发性和压缩(适用于数据和索引),还包括cachingpipe理,更好地利用硬件资源,数据完整性校验和以及构build更高级存储function。
如果不了解存储引擎的含义,其中一些function就无法直接进行比较。 例如,对于MMAP,重点在于为就地更新devise模式,因为文档移动涉及更昂贵的索引更新:MMAP中的索引直接指向文件位置和偏移量。 WiredTiger对于索引条目具有间接的级别,并在内部使用MVCC来启用文档级并发性和事务性文档更新。
WiredTiger存储引擎具有与MMAP日志和磁盘刷新间隔类似的设置,但内存和磁盘数据格式等详细信息由存储引擎pipe理。
有关更多信息,请参阅: