#事务机制
事务是包含一个或一组SQL语句的工作单元,将数据修改应用至数据库后,这些SQL语句全部被提交则数据修改生效,或全部被回滚则数据修改被撤销。YashanDB为每个事务分配全局唯一的事务ID作为标识,所有YashanDB事务都满足数据库事务的基本属性,即符合ACID属性。
关于ACID的描述如下:
Atomicity原子性:一个事务中所有的修改要么全部生效,要么全部不生效,不允许部分生效。
Consistency一致性:事务发生前后,数据版本都是一致的。例如,从A账户转账100元给B账户,需要从A账户减少100元,给B账户增加100元。即使发生任何故障,事务都可以保证A、B两个账户的总账目仍然相等。
Isolation隔离性:多个事务并发操作时,各个事务都可以独立运行,互相隔离,互不干扰。根据隔离级别的不同,事务能看到的表现也各不相同。
Durability持久性:事务提交后,事务对数据的修改是持久化的,即使发生故障后,数据的修改也不会丢失。
YashanDB在满足事务基本属性基础上设计了高性能、高并发的事务引擎。