索引
事务保证
隔离性
| 存储引擎 | 并发读写事务 | 并发写写事务 |
|---|---|---|
| innodb | MVCC | 互斥锁 |
| blotdb | 读写锁,支持并发读&写时复制 | 读写锁 |
| buntdb | 读写锁,支持并发读 | 读写锁 |
boltdb,buntdb属于单进程磁盘数据库,无网络交互,支持读写事务和只读事务
持久性
| 存储引擎 | 数据在内存脏页未刷盘 | 数据在内存脏页部分刷盘 |
|---|---|---|
| innodb | redo log记录用户数据 | double write |
| boltdb | boltdb冗余一份元数据保证一致性 | - |
| buntdb | wal保证一致性 | 不会出现此情况 |
ACID
全表扫描
- innodb: 通过节点之间维护的双向链表来实现全表扫描
- boltdb: 通过显式的维护栈来保存遍历路径上的节点实现
- buntdb: 通过递归隐式栈来实现全表扫描