DOI QR코드

DOI QR Code

An Analysis of the Overhead of Multiple Buffer Pool Scheme on InnoDB-based Database Management Systems

InnoDB 기반 DBMS에서 다중 버퍼 풀 오버헤드 분석

  • 송용주 (성균관대학교 대학원 전자전기컴퓨터공학과) ;
  • 이민호 (성균관대학교 대학원 전자전기컴퓨터공학과) ;
  • 엄영익 (성균관대학교 소프트웨어대학)
  • Received : 2016.08.02
  • Accepted : 2016.08.29
  • Published : 2016.11.15

Abstract

The advent of large-scale web services has resulted in gradual increase in the amount of data used in those services. These big data are managed efficiently by DBMS such as MySQL and MariaDB, which use InnoDB engine as their storage engine, since InnoDB guarantees ACID and is suitable for handling large-scale data. To improve I/O performance, InnoDB caches data and index of its database through a buffer pool. It also supports multiple buffer pools to mitigate lock contentions. However, the multiple buffer pool scheme leads to the additional data consistency overhead. In this paper, we analyze the overhead of the multiple buffer pool scheme. In our experimental results, although multiple buffer pool scheme mitigates the lock contention by up to 46.3%, throughput of DMBS is significantly degraded by up to 50.6% due to increased disk I/O and fsync calls.

대규모 웹 서비스의 등장으로 데이터의 규모가 점차 증가하는 추세이다. 이러한 대규모 데이터를 효율적으로 관리하기 위해 MySQL과 MariaDB와 같은 DBMS가 주로 사용되고 있으며, 이들은 데이터 관리를 위한 스토리지 엔진으로 InnoDB를 주로 사용한다. InnoDB는 ACID를 보장할 뿐만 아니라 대규모 데이터 처리에 적합하다는 장점이 있기 때문이다. InnoDB의 경우, I/O 성능 향상을 위해 버퍼 풀을 통해 데이터와 인덱스를 캐싱하며 락 경쟁(lock contention)을 줄이기 위해 다중 버퍼 풀을 지원한다. 그러나 다중 버퍼 풀 기법은 데이터 일관성 오버헤드를 증가시킨다. 본 논문에서는 다중 버퍼 풀 기법의 오버헤드를 분석한다. 실험 결과, 다중 버퍼 풀 기법을 사용함에 따라 락 경쟁이 최대 46.3%까지 완화되었지만 디스크 I/O와 fsync 명령이 증가하면서 DBMS의 처리량이 50.6%까지 떨어지는 현상을 확인하였다.

Keywords

Acknowledgement

Grant : (SW 스타랩) 중대형 디스 플레이 기반 동시 다중 사용자 지원 UX 플랫폼 SW 개발

Supported by : 한국연구재단, 정보통신기술연구진흥센터

References

  1. Y. Cui, Y. Chen, and Y. Shi, "Scaling OLTP Applications on Commodity Multi-Core Platforms," Proc. of the IEEE Performance Analysis of Systems & Software, pp. 134-143, 2010.
  2. D. Axmark and M. Widenius. (2012, August 7). The InnoDB Storage Engine [Online]. Available: https://dev.mysql.com/doc/refman/5.6/en/innodb-storage-engine.html (downloaded 2016, Jan. 1)
  3. J. Do, D. Zhang, J. M. Patel, D. J. Dewitt, J. F. Naughton, and A. Halverson, "Turbocharging DBMS Buffer Pool Using SSDs," Proc. of the ACM SIGMOD International Conference on Management of Data, pp. 1113-1124, 2011.
  4. M. Canim, G. A. Mihaila, B. Bhattacharjee, K. A. Ross, and C. A. Lang, "SSD Bufferpool Extensions for Database Systems," Journal of the VLDB Endowment, Vol. 3, No. 1-2, pp. 1435-1446, Sep. 2010. https://doi.org/10.14778/1920841.1921017
  5. G. Graefe, H. Vols, H. Kimura, H. Kuno, J. Tucek, M. Lillibridge, and A. Veitch, "In-Memory Performance for Big Data," Journal of the VLDB Endowment, Vol. 8, No. 1, pp. 37-48, Sep. 2014. https://doi.org/10.14778/2735461.2735465
  6. V. Narasayya, I. Menache, M. Singh, F. Li, M. Syamala, and S. Chaudhuri, "Sharing Buffer Pool Memory in Multi-Tenant Relational Database-as-a-service," Journal of the VLDB Endowment, Vol. 8, No. 7, pp. 726-737, Feb. 2015. https://doi.org/10.14778/2752939.2752942
  7. S. Lee, B. Moon, and C. Park, "Advances in Flash Memory SSD Technology for Enterprise Database Applications," Proc. of the ACM SIGMOD International Conference on Management of Data, pp. 863-870, 2009.
  8. G. Yun, W. Kang, and S. Lee, "On Extending InnoDB Double Write Buffer as Flash Memory SSD based Caches," Journal of KIISE: Databases, Vol. 39, No. 1, pp. 8-16, Feb. 2012. (in Korean)
  9. W. Kang, S. Lee, B. Moon, Y. Kee, and M. Oh, "Durable Write Cache in Flash Memory SSD for Relational and NoSQL Databases," Proc. of the ACM SIGMOD International Conference on Management of Data, pp. 529-540, 2014.
  10. T. G. Armstrong, V. Ponnekanti and D. Borthakur, "LinkBench: a Database Benchmark Based on the Facebook Social Graph," Proc. of the ACM SIGMOD International Conference on Management of Data, pp. 1185-1196, 2013.