# OtterTune
CMU データベースグループ([[Andrew Pavlo]] 率いる)が開発した自動 DBMS 設定チューニングサービス。過去のチューニングセッションから収集した訓練データを再利用することで、新しい DBMS デプロイメントを効率的にチューニングする。
## 概要
OtterTune は3段階の機械学習パイプラインを持つ:
1. **ワークロード特性化**: 因子分析(FA)+ k-means でランタイムメトリクスの冗長性を除去し、目標ワークロードを過去の類似ワークロードにマッピングする
2. **ノブ特定**: Lasso(L1 正則化)で性能への影響が大きいノブを自動選択・ランキングする。段階的ノブ選択(4 ノブから開始し 60 分ごとに 2 ノブ追加)を採用
3. **設定推薦**: ガウシアンプロセス(GP)回帰で探索と活用をバランスさせながら最適な設定を推薦する
## 評価結果
- デフォルト設定比 58〜94% のレイテンシ低下
- 60 分以内に人間 DBA 相当の設定を生成
- 既存ツール(MySQLTuner、PGTune、iTuned)を上回る
## 実装
- Google TensorFlow + Python scikit-learn で実装
- GitHub: https://github.com/cmu-db/ottertune
- 対応 DBMS: MySQL・Postgres・Actian Vector(拡張可能なモジュラーアーキテクチャ)
## 関連
- 開発者: [[Dana Van Aken]] / [[Andrew Pavlo]] / [[Geoffrey J. Gordon]] / Bohan Zhang(Peking University)
- 論文: [[@2017__SIGMOD__Automatic Database Management System Tuning Through Large-scale Machine Learning]]
- 概念: [[データベースノブチューニング]] / [[ベイズ最適化]]
## 出典
- [[@2017__SIGMOD__Automatic Database Management System Tuning Through Large-scale Machine Learning]]