暂无图片
如何评价WiredTiger这个存储引擎?
我来答
分享
杨培瑜
2023-11-04
如何评价WiredTiger这个存储引擎?

wiredTiger解耦了磁盘和内存的存储形式,从而使得数据在内存中可以有更高的并发度,而不受限于物理的page页面,并在存储时通过WAL + consolidation + 压缩的形式进行增量存储。同样是使用b+作为index的innoDB跟wiredTiger既有相似点也有不同点。这个问题主要是想了解WiredTiger整了这么一个大创新(跟innodb比或者其他关系数据库的index),优劣点具体在哪?

1. 从并发角度来说,大家都支持行级锁,且关系数据库还能支持更复杂的大型事务,那wiredTiger的优势在哪?

2. 从存储角度来说,wiredTiger将数据进行压缩后增量存储,但是这依然是对物理存储空间造成了很大消耗,且空间的垃圾回收也是个很大的问题,因为数据压缩后大小都不是定长的,那么这么做又是为什么?


我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
雪狼sunny


WiredTiger相对于InnoDB等关系数据库引擎在几个方面有所不同:

  1. 并发性能方面:

    • WiredTiger通过解耦磁盘和内存的存储形式,实现了更高的内存并发度,这意味着更多的数据可以在内存中进行处理,而不受物理页面的限制。这为高并发环境下的数据处理提供了更大的灵活性和性能优势。
    • 它还采用了乐观并发控制机制,这意味着它可以更好地处理多个事务对同一数据的并发操作。这使得WiredTiger在高并发负载下表现更为出色。
  2. 存储方面:

    • 数据压缩和增量存储的方式可以在一定程度上减少物理存储空间的消耗。虽然压缩后的数据大小不是定长的,但通过压缩可以减小磁盘占用空间。
    • 垃圾回收对于任何涉及数据删除或更新的引擎来说都是一个重要问题,而WiredTiger在这方面也有优化,其存储引擎可以更有效地处理数据的垃圾回收,减少空间浪费。

总的来说,WiredTiger相对于InnoDB等传统关系数据库引擎在并发性能和存储方面都有一些优势,尤其是在处理大规模数据和高并发访问时能够表现更为出色。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏