计算机科学与探索 ›› 2011, Vol. 5 ›› Issue (9): 815-825.

• 学术研究 • 上一篇    下一篇

强快照与强提交读隔离的多键云事务实现方法

杨义繁1, 刘 丹2, 朱妤晴1,3,4, 丁贵广1,3,4, 王建民1,3,4   

  1. 1. 清华大学 软件学院, 北京 100084
    2. 东北大学 软件学院, 沈阳 110819
    3. 信息系统安全教育部重点实验室, 北京 100084
    4. 清华信息科学与技术国家实验室, 北京 100084
  • 收稿日期:1900-01-01 修回日期:1900-01-01

Providing Snapshot+ and Read Committed+ Isolation for Transactional Multi- Key Access in the Cloud

YANG Yifan1, LIU Dan2, ZHU Yuqing1,3,4, DING Guiguang1,3,4, WANG Jianmin1,3,4   

  1. 1. School of Software, Tsinghua University, Beijing 100084, China
    2. College of Software, Northeastern University, Shenyang 110819, China
    3. Key Laboratory for Information System Security, Ministry of Education, Beijing 100084, China 4. Tsinghua National Laboratory for Information Science and Technology, Beijing 100084, China
  • Received:1900-01-01 Revised:1900-01-01

摘要: 当前云环境的存储系统一般只提供弱一致性和单键事务的数据访问功能, 具有强一致性或多键事务需求的应用只能自行检测一致性或进行事务管理, 增加了云应用开发的复杂度。这些要求高一致性和高可用性的云应用, 对云存储系统的事务实现提出了新的挑战。在Megastore串行化事务实现方案的基础上, 提出了基于读写集对比的事务强快照隔离和强提交读隔离方案, 将并发事务之间读写冲突的判断提前, 从而减少冲突事务回滚时引发的额外消耗。基于云存储系统Cassandra实现了两种方案, 并针对云应用事务的访问模式, 设计了实验验证框架。通过与Megastore事务实现方案的对比, 验证了强快照和强提交读事务隔离方案能获得更高并发度的优化效果。

关键词: 事务, 云计算, 强快照隔离, 强提交读隔离

Abstract: Current cloud storage system only supports weak consistency and single-key transaction. Developers have to check consistency and manage transactions in applications that need strong consistency and multi-key transaction. Such leads to difficulty in cloud application development. The need for high availability and fault tolerance brings about new challenges to transaction implementation in the cloud. Based on Megastore’s implementation of transaction serializability, this paper proposes two new isolation levels, i.e. snapshot+ isolation and read committed+ isolation. The proposal exploits read/write dataset detection to abort concurrent transactions with read-write and write-write conflicts earlier, avoiding extra communication costs. Both the proposal and Megastore’s approach are implemented on well-known open-source project Cassandra. An evaluation framework targeting the typical transaction patterns of cloud applications is designed to test the implementations. Test results demonstrate that the proposal provides higher concurrency than Megastore’s approach.

Key words: transaction, cloud computing, snapshot+ isolation, read committed+ isolation