WiredTiger
zerok775
从事linux的网络程序设计,擅长高性能高并发服务设计,对数据库存储、高并发系统和分布式存储感兴趣。
展开
-
解析MongoDB存储引擎WiredTiger:事务实现
WiredTiger从被MongoDB收购到成为MongoDB的默认存储引擎的一年半得到了迅猛的发展,也逐步被外部熟知。WiredTiger(以下简称WT)是一个优秀的单机数据库存储引擎,它拥有诸多的特性,既支持BTree索引,也支持LSM Tree索引,支持行存储和列存储,实现ACID级别事务、支持大到4G的记录等。WT的产生不是因为这些特性,而是和计算机发展的现状息息相关。现代计算机近20原创 2017-10-25 11:26:31 · 4797 阅读 · 5 评论 -
WiredTiger实现:一个LRU cache深坑引发的分析
从mongoDB 3.0版本引入WiredTiger存储引擎(以下称为WT)以来,一直有同学反应在高速写入数据时WT引擎会间歇性写挂起,有时候写延迟达到了几十秒,这确实是个严重的问题。引起这类问题的关键在于WT的LRU cache的设计模型,WT在设计LRU cache时采用分段扫描标记和hazardpointer的淘汰机制,在WT内部称这种机制叫eviction cache或者WT cache,原创 2017-11-14 09:49:36 · 2668 阅读 · 1 评论