Skip to main content
QUICK REVIEW

[논문 리뷰] The Case for Automatic Database Administration using Deep Reinforcement Learning

Ankur Sharma, Felix Schuhknecht|arXiv (Cornell University)|2018. 01. 17.
Optimization and Search Problems참고 문헌 5인용 수 43
한 줄 요약

본 논문은 NoDBA를 제안한다. 이는 작업 부하로부터 인덱스 권고를 학습하여 DBMS를 자동으로 튜닝하는 심층 강화 학습 시스템으로, 제한된 인덱스에서도 경쟁력 있는 성능과 학습 후 빠른 예측을 달성한다.

ABSTRACT

Like any large software system, a full-fledged DBMS offers an overwhelming amount of configuration knobs. These range from static initialisation parameters like buffer sizes, degree of concurrency, or level of replication to complex runtime decisions like creating a secondary index on a particular column or reorganising the physical layout of the store. To simplify the configuration, industry grade DBMSs are usually shipped with various advisory tools, that provide recommendations for given workloads and machines. However, reality shows that the actual configuration, tuning, and maintenance is usually still done by a human administrator, relying on intuition and experience. Recent work on deep reinforcement learning has shown very promising results in solving problems, that require such a sense of intuition. For instance, it has been applied very successfully in learning how to play complicated games with enormous search spaces. Motivated by these achievements, in this work we explore how deep reinforcement learning can be used to administer a DBMS. First, we will describe how deep reinforcement learning can be used to automatically tune an arbitrary software system like a DBMS by defining a problem environment. Second, we showcase our concept of NoDBA at the concrete example of index selection and evaluate how well it recommends indexes for given workloads.

연구 동기 및 목표

  • 다수의 구성 매개변수를 가진 대형 DBMS의 튜닝이 얼마나 어려운지와 자문 도구의 한계를 제시한다.
  • 딥 강화 학습(DRL)을 이용하여 DBMS 관리를 자동화하기 위한 프레임워크를 제안한다.
  • 주어진 작업 부하에 대해 DRL을 적용하여 자동 인덱스 선택을 통해 NoDBA를 시연한다.
  • 합성 작업 부하에서 NoDBA와 NoIndex 및 모든 열에 인덱스를 생성하는 IndexedAll 간의 비교를 평가한다.

제안 방법

  • 입력, 행동, 보상, 하이퍼파라미터를 갖는 DBMS 관리용 DRL 환경을 정의한다.
  • 작업 부하와 현재 인덱스 구성을 신경망 입력으로 인코딩한다.
  • 동작을 특정 열에 인덱스를 생성하는 것으로 한정한다(단일 열 인덱스).
  • 보상은 빈 인덱스 구성에 비해 작업 부하 비용의 개선을 기반으로 정의하며, 비용(cost(L))를 사용해 보상 r(L)을 계산한다.
  • 에피소드 강화 학습과 경험 재생을 사용하여 학습하고, PostgreSQL의 TPC-H LINEITEM 스키마에서 구성된 합성 작업 부하에 대해 평가한다.

실험 결과

연구 질문

  • RQ1깊은 강화 학습을 사용하여 주어진 작업 부하에 대해 DBMS 구성을 자동으로 튜닝할 수 있는가?
  • RQ2DRL로 학습된 자동 인덱스 선택은 NoIndex 또는 모든 가능한 인덱스를 갖는 경우와 비교해 얼마나 효과적인가?
  • RQ3이 설정에서 NoDBA의 성능 영향(학습 시간, 예측 지연)은 어떠한가?
  • RQ4다양한 작업 부하와 스키마 구성에서 NoDBA 접근 방식은 얼마나 잘 일반화되는가?

주요 결과

작업 부하NoIndex (ms)IndexedAll (ms)NoDBA (ms)
W1 Total2681.347214.121213.587
W2 Total2629.9701207.002543.251
W3 Total3668.3111871.1123376.955
  • NoDBA는 선택적 워크로드(W1 및 W2)에서 NoIndex 기준선에 맞서거나 이를 상회하고, IndexedAll에 근접할 수 있다.
  • 가장 까다로운 워크로드(W3)에서는 3개의 인덱스로 구성된 소수의 인덱스 세트가 NoIndex보다 성능을 크게 향상시켰다.
  • 네트워크 학습에는 약 42분이 걸렸고, 학습이 끝나면 예측은 약 20 ms 정도 소요된다.
  • NoDBA는 PostgreSQL의 TPC-H LINEITEM에서 무작위 학습 워크로드를 사용해 다양한 시나리오를 다루도록 평가되었다.
  • 본 연구는 DRL이 잠재적으로 잘못된 비용 기반 추정에 의존하지 않고 DBMS를 튜닝할 수 있음을 보여준다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.