数据存储引擎innodb,boltdb,buntdb对比

237 阅读1分钟

索引

事务保证

隔离性

存储引擎并发读写事务并发写写事务
innodbMVCC互斥锁
blotdb读写锁,支持并发读&写时复制读写锁
buntdb读写锁,支持并发读读写锁

boltdb,buntdb属于单进程磁盘数据库,无网络交互,支持读写事务和只读事务

持久性

存储引擎数据在内存脏页未刷盘数据在内存脏页部分刷盘
innodbredo log记录用户数据double write
boltdbboltdb冗余一份元数据保证一致性-
buntdbwal保证一致性不会出现此情况

ACID

全表扫描

  • innodb: 通过节点之间维护的双向链表来实现全表扫描
  • boltdb: 通过显式的维护栈来保存遍历路径上的节点实现
  • buntdb: 通过递归隐式栈来实现全表扫描