# 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]]