计算机科学

内存数据库事务提交的关键技术与挑战

  • 胡 爽 ,
  • 周 欢 ,
  • 钱卫宁
展开
  • 华东师范大学 数据科学与工程研究院, 上海 200062

收稿日期: 2016-07-01

  网络出版日期: 2016-11-29

基金资助

国家自然科学基金重点项目(61332006); 国家863计划项目(2015AA015307)

Key techniques and challenges of transaction commit in main-memory database systems

  • HU Shuang ,
  • ZHOU Huan ,
  • QIAN Wei-ning
Expand
  • Institute for Data Science and Engineering, East China Normal University, Shanghai 200062, China

Received date: 2016-07-01

  Online published: 2016-11-29

摘要

ARIES作为传统事务提交机制从20世纪90年代问世以来, 一直是主流商业或开源数据库系统普遍采用的方法. 随着应用的高通量化, 基于传统硬件设备实现的事务提交机制成为了系统性能提升的首要瓶颈. 然而大内存、多核等高性能硬件技术的发展又为事务提交机制的优化提供了新的契机. 本文详细分析并总结了传统事务提交机制中存在的问题, 然后归纳并讨论了现有基于新型硬件的事务提交技术的应用现状与优缺点, 最后探讨了事务提交优化的未来发展与挑战.

本文引用格式

胡 爽 , 周 欢 , 钱卫宁 . 内存数据库事务提交的关键技术与挑战[J]. 华东师范大学学报(自然科学版), 2016 , 2016(5) : 18 -26 . DOI: 10.3969/j.issn.1000-5641.2016.05.003

Abstract

Since its debut in the 1990s, ARIES, as the traditional transaction commit, has been widely adopted by the mainstream commercial or open source database systems. With the performance of applications increasingly improved, transaction commit based on the traditional hardwares has become the first bottleneck for performance of systems. However, the developments of high-performance hardwares, such as memory and multiple CPU cores, offer a new opportunity for the optimization of transaction commit. In this paper, we analyze and summarize the existing bottlenecks of traditional transaction commit in detail. Furthermore, key techniques of transaction commit based on new hardwares are discussed and concluded, including their application status, advantages and disadvantages. Finally, challenges and future developments for optimization of transaction commit are discussed.

参考文献

[ 1 ] DEWITT D J, KATZ R H, OLKEN F, et al. Implementation techniques for main memory database systems[J]. Acm Sigmod Record, 1984, 14(2): 1-8.
[ 2 ] RAGHU R, JOHANNES G. Database Management Systems. [M]. 3th ed. New York: McGraw-Hill, 2003.
[ 3 ] HELLAND P, SAMMER H, LYON J, et al. Group commit timers and high volume transaction systems[C]//High Performance Transaction Systems. USA: Springer Berlin Heidelberg, 1987: 301-329.
[ 4 ] PELLEY S, CHEN P M, WENISCH T F. Memory persistency[J]. Acm Sigarch Computer Architecture News, 2014, 42(3): 265-276.
[ 5 ] FANG R, HSIAO H I, HE B, et al. High performance database logging using storage class memory[C]//IEEE International Conference on Data Engineering. [S.l.]: IEEE, 2011: 1221-1231.
[ 6 ] WANG T, JOHNSON R. Scalable logging through emerging non-volatile memory[J]. Proceedings of the VLDB Endowment, 2014, 7(10): 865-876.
[ 7 ] BALAKRISHNAN M, BERNSTEIN P A, MALKHI D, et al. Brief Announcement Flash-Log-A High Throughput Log[J]. Lecture Notes in Computer Science, 2010, 1(6343): 401-403.
[ 8 ] BALAKRISHNAN M, MALKHI D, DAVIS J D, et al. CORFU: A distributed shared log[J]. Acm Transactions on Computer Systems (TOCS), 2013, 31(4): 879-889.
[ 9 ] BALAKRISHNAN M, MALKHI D, WOBBER T, et al. Tango: Distributed data structures over a shared log[C]//Twenty-Fourth ACM Symposium on Operating Systems Principles. New York: ACM, 2013: 325-340.
[10] MALVIYA N, WEISBERG A, MADDEN S, et al. Rethinking main memory oltp recovery[C]//International Conference on Data Engineering. [S.l.]: IEEE, 2014: 604-615.
[11] GRAY J, REUTER A. Transaction Processing: Concepts and Techniques[M]. San Francisco: Margan Kaufmann, 2015.
[12] MOHAN C, HADERLE D, LINDSAY B, et al. ARIES: A transaction recovery method supporting finegranularity locking and partial rollbacks using write-ahead logging[J]. Acm Transactions on Database Systems (TODS), 1992, 17(1): 94-162.
[13] MOHAN C. Repeating history beyond ARIES[J]. VLDB, 1999, 99: 1-17.
[14] STONEBRAKER M, WEISBERG A. The VoltDB main memory DBMS[J]. IEEE Data Eng Bull, 2013, 36(2): 21-27.
[15] JOHNSON R, PANDIS I, HARDAVELLAS N, et al. Shore-MT: a scalable storage manager for the multicore era[C]//Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology. New York: ACM, 2009: 24-35.
[16] CAREY M J, DEWITT D J, FRANKLIN M J, et al. Shoring Up Persistent Applications[M]. New York: ACM, 1994.
[17] MySQL A B. MySQL: The world’s most popular open source database [EB/OL]. (2005-12-01) [2016-05-23]. http://www.mysql.com.
[18] LONEY K, MCCLAIN L. Oracle Database 10g: The Complete Reference [M]//Oracle 8: The Complete Reference. New York: Osbome/McGraw-Hill, 1997, 10(6): 179.
[19] DIACONU C, FREEDMAN C, ISMERT E, et al. Hekaton: SQL server’s memory-optimized OLTP engine[C]//Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2013: 1243-1254.
[20] THOME B, GAWLICK D, PRATT M. Event processing with on oracle database[C]//Proceedings of the 2005 ACM SIGMOD Interational Conference on Management of Data. New York: ACM, 2005: 863-867.
[21] 彭智勇, 彭煜炜. PostgreSQL 数据库内核分析[M]. 北京:机械工业出版, 2011: 343-404.
[22] SOISALON-SOININEN E, YL¨ONEN T. Partial strictness in two-phase locking[C]//Intemational Conference on Database Theory. USA: Springer Berlin Heidelberg, 1995: 139-147.
[23] LIU C C, MINOURA T. Effect of update merging on reliable storage performance[C]//Second International Conference on Data Engineering. [S.l.]: IEEE, 1986: 208-213.
[24] GAWLICK D, KINKADE D. Varieties of concurrency control in IMS/VS fast path[J]. IEEE Database Eng Bull, 1985, 8(2): 3-10.
[25] CHEN S. FlashLogging: Exploiting flash devices for synchronous logging performance[C]//Proceedings of the International Conference on Management of Data. New York: ACM, 2009: 73-86.
[26] LEE S W, MOON B, PARK C, et al. A case for flash memory ssd in enterprise database applications[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data. New York: ACM, 2008: 1075-1086.
[27] JOHNSON R, PANDIS I, STOICA R, et al. Aether: A scalable approach to logging[J]. Proceedings of the VLDB Endowment, 2010, 3(1-2): 681-692.
[28] MOIR M, NUSSBAUM D, SHALEV O, et al. Using elimination to implement scalable and lock-free fifo queues[C]//Proceedings of the Seventeenth Annual ACM Symposium on Parallelism in Algorithms and Architectures. New York: ACM, 2005: 253-262.
[29] LAMPORT L. Time, clocks, and the ordering of events in a distributed system[J]. Communications of the ACM, 1978, 21(7): 558-565.
[30] BERNSTEIN P A, REID CW, DAS S. Hyder-A transactional record manager for shared flash[J]. CIDR, 2011(11): 9-20.

文章导航

/