计算机科学与探索 ›› 2014, Vol. 8 ›› Issue (7): 812-822.DOI: 10.3778/j.issn.1673-9418.1311019

• 系统软件与软件工程 • 上一篇    下一篇

面向内存数据网格的分布式事务保障机制

刘朝辉1,2,王  伟1,2+,王彦士1,2,魏  峻1,2   

  1. 1. 中国科学院 软件研究所 软件工程技术研究开发中心,北京 100190
    2. 中国科学院大学,北京 100049
  • 出版日期:2014-07-01 发布日期:2014-07-02

Distributed Transaction Guarantee Mechanism for In-Memory Data Grid

LIU Zhaohui1,2, WANG Wei1,2+, WANG Yanshi1,2, WEI Jun1,2   

  1. 1. Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China
    2. University of Chinese Academy of Sciences, Beijing 100049, China
  • Online:2014-07-01 Published:2014-07-02

摘要: 在线事务处理(online transaction processing,OLTP)应用面临并发量和数据量持续增长的问题,并且高并发读写操作使得后台数据库成为瓶颈。内存数据网格(in-memory data grid,IMDG)是基于内存的新型分布式数据访问平台,是解决系统数据库写操作瓶颈的有效技术途径之一。然而内存数据网格中数据访问操作涉及的数据分布是不可预知的,需要提供分布式事务保障。针对内存数据网格的系统特点,提出了一种分布式事务保障机制,设计实现了事务处理模型、请求处理和数据定位方法以及事务保障协议,并规范化地定义了客户端与服务器端以及服务器端之间的操作接口。在事务处理基准测试TPC-W上的实验结果表明,新机制可以提高在线事务应用的处理速度,并具备良好的扩展性。

关键词: 内存数据网格(IMDG), 分布式事务, 两阶段提交协议(2PC)

Abstract: Online transaction processing (OLTP) Web applications face the continuous growth of concurrent users and data size. The high concurrent read and write operations make databases become the bottleneck. In-memory data grid (IMDG) is a new distributed data access platform based on memory, and an effective technical approach to eliminate the bottleneck of write operation in the database. However data distribution involved in data access operation of IMDG is unpredictable. A distributed transaction guarantee mechanism is necessary. For the IMDG system characteristics, this paper gives a distributed transaction guarantee mechanism, designs and implements a distributed transaction processing model, the way to do request processing and data accessing and the transaction guarantee protocol, and normalizes the application programming interface (API) between clients and servers. The experimental results on TPC-W show that the mechanism can improve the OTLP speed and support good scalability.

Key words: in-memory data grid (IMDG), distributed transaction, two-phase commit protocol (2PC)