本文对比了TiKV与CockroachDB的架构差异。两者均基于Raft协议,但在角色划分、事务提交协议和部署形态上有所不同。CockroachDB引入了Leaseholder角色,采用Parallel Commits优化事务提交,而TiKV使用Percolator模型。TiKV的默认隔离级别为快照隔离,CockroachDB为可串行化。TiKV为分离式组件,CockroachDB为单进程一体化,运维和扩展方式各异。
二级缓存基于Mapper级别,支持多个SqlSession共享。通过配置cache标签启用,readOnly属性默认为false,表示缓存对象为深拷贝。二级缓存在事务提交后生效,以避免脏数据问题。增删改操作会使缓存失效,旨在提高数据库访问效率。
本文介绍了Leslie Lamport的“TLA+入门”课程中的事务提交和两阶段提交算法,强调在分布式系统中,多个资源管理器需一致决定事务的提交或中止,以确保所有资源管理器达到相同状态,遵循稳定性和一致性原则。
本文介绍了MySQL中的全文索引及其插入过程。全文索引基于倒排索引,支持关键词搜索文档。插入时,文档分词并缓存,分为写入行记录、事务提交和刷脏三个阶段。事务提交时,分词结果添加到缓存,达到阈值后刷新到磁盘,系统崩溃后可恢复缓存数据。
完成下面两步后,将自动完成登录并继续当前操作。