DOI QR코드

DOI QR Code

Storage I/O Subsystem for Guaranteeing Atomic Write in Database Systems

데이터베이스 시스템의 원자성 쓰기 보장을 위한 스토리지 I/O 서브시스템

  • 한규화 (성균관대학교 전자전기컴퓨터공학과) ;
  • 신동군 (성균관대학교 컴퓨터공학과) ;
  • 김용석 (성균관대학교 산학협력단)
  • Received : 2014.08.22
  • Accepted : 2014.10.22
  • Published : 2015.02.15

Abstract

The atomic write technique is a good solution to solve the problem of the double write buffer. The atomic write technique needs modified I/O subsystems (i.e., file system and I/O schedulers) and a special SSD that guarantees the atomicity of the write request. In this paper, we propose the writing unit aligned block allocation technique (for EXT4 file system) and the merge prevention of requests technique for the CFQ scheduler. We also propose an atomic write-supporting SSD which stores the atomicity information in the spare area of the flash memory page. We evaluate the performance of the proposed atomic write scheme in MariaDB using the tpcc-mysql and SysBench benchmarks. The experimental results show that the proposed atomic write technique shows a performance improvement of 1.4~1.5 times compared to the double write buffer technique.

최근 데이터베이스 관리 시스템에서는 이중 쓰기 버퍼 기법의 단점을 보완할 수 있는 원자성 쓰기 기법이 제시되었다. 원자성 쓰기 기법을 지원하기 위해서는 파일시스템과 I/O 스케줄러 등의 I/O 서브시스템과 SSD의 원자성 쓰기의 보장이 필요하다. 본 연구에서는 MariaDB의 데이터 쓰기의 기본 단위를 사용하여, 쓰기 단위 연속 블록 할당 기법, 플래그 전달을 통한 I/O 명령 병합 방지 기법, 원자성 쓰기를 지원하는 SSD를 통해 MariaDB의 원자성 쓰기를 지원하는 연구를 진행하였다. Tpcc-mysql와 SysBench를 사용하여 MariaDB에 제안된 기법을 적용한 결과, 원자성 쓰기 기법의 성능을 평가한 결과, 데이터베이스의 처리량이 이중 쓰기 버퍼 기법을 사용한 MariaDB 대비 약 40%~50% 향상된 것을 확인하였다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1992.
  2. MySQL, Available: http://www.mysql.com/
  3. MariaDB, Available: https://mariadb.org/
  4. Xiangyong Ouyang, et al., "Beyond block I/O: Rethinking traditional storage primitives," Proc. of the High Performance Computer Architecture (HPCA), pp. 301-311, 2011.
  5. Josephson, William K., et al., "DFS: A file system for virtualized flash storage," Proc. of the File and Storage Technologies (FAST), 2010.
  6. Avantika Mathur, et al., "The new ext4 filesystem: current status and future plans," Proc. of the Linux Symposium, pp. 21-33, 2007.
  7. E. Gal and S. Toledo, "A Transactional Flash File System for Microcontrollers," Proc. of the USENIX Annual Technical Conference, pp. 89-104, 2005.
  8. M. I. Seltzer, "Transaction Support in a Log-Structured File System," Proc. of the Ninth International Conference on Data Engineering, pp. 503-510, 1993.
  9. R. P. Spillane, S. Gaikwad, M. Chinni, E. Zadok, and C. P., "Enabling Transactional File Access via Lightweight Kernel Extensions," Proc. of the FAST, pp. 29-42, 2009.
  10. Youyou Lu, et al., "LightTx: A lightweight transactional design in flash-based SSDs to support flexible transactions," Proc. of the 31th ICCD, pp. 115-122, 2013.
  11. tpcc-mysql, Available: http://www.percona.com/aboutus/mysql-white-paper/clustrix-tpcc-mysql-benchmark.
  12. SysBench, Available: http://sysbench.sourceforge.net