事务是怎么实现的? 脏读是什么