事务管理

事务是数据管理系统一个非常重要的属性。大部分Hadoop里面的SQL引擎不支持事务。让程序员自己保证事务和数据的一致性是非常困难的事。 OushuDB支持事务的所有ACID属性,支持Snapshot Isolation。事务发生由Master节点协调和控制。采用的是泳道模型。并发插入时每个并发会使用各自的泳道,互不冲突。在事务提交的时候通过记录文件逻辑长度的方式来保证一致性。如果事务失败的时候,需要回滚,删除文件末尾的垃圾数据。起初HDFS是不支持truncate的,现在HDFS刚支持的truncate功能是根据OushuDB的需求做出的。