我知道MongoDB WiredTiger使用聚集索引来存储数据。WiredTiger是在_id字段上使用聚集索引,还是由WiredTiger生成另一个键?
发布于 2021-03-09 08:55:00
WiredTiger使用类似二叉树的结构来存储文档。它是一个基本的键值存储,其中键是内部生成的标识符,值是文档。
所有索引,包括_id字段上的索引,都将字段值映射到内部标识符。
发布于 2021-03-10 08:25:11
是的,它们是群集的,并存储在有线老虎文件中。对于在集合上定义的每个索引,wiredtiger创建和管理单独的索引文件。
在MongoDB 3.2之前,只有B树在存储层可用。为了提高它的可伸缩性,MongoDB在收购了WiredTiger“[1]”之后,在以后的版本中添加了LSM树。
当我们有一个随机插入的工作负载时,LSM树可以提供更好的性能,否则会溢出我们的页面缓存并开始从磁盘分页,以保持我们的索引更新。
若要覆盖默认的有线老虎存储类型配置,请执行以下操作:
mongod --wiredTigerIndexConfigString "type=lsm,block_compressor=zlib"
https://stackoverflow.com/questions/66542614
复制相似问题