Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【Ottertune】MLでDBを最適化するツールの紹介
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hank Ehly
August 25, 2022
Technology
1.1k
1
Share
【Ottertune】MLでDBを最適化するツールの紹介
Hank Ehly
August 25, 2022
More Decks by Hank Ehly
See All by Hank Ehly
Fivetranでデータ移動を自動化する
hankehly
0
640
Celeryの紹介と本番運用のTips
hankehly
0
1.4k
ChatGPTを活用した 便利ツールの紹介
hankehly
1
1.3k
Efficient Energy Analytics with Airflow, Spark, and MLFlow
hankehly
0
380
Deferrable Operators入門
hankehly
0
720
【初心者/ハンズオン】Dockerコンテナの基礎知識
hankehly
0
580
Compositeパターン: オブジェクトの階層関係をエレガントに表現する方法
hankehly
0
340
10/29 Airflowの基礎を学ぶハンズオンワークショップ
hankehly
0
300
システム/データ品質保証のための Airflow 活用法
hankehly
0
650
Other Decks in Technology
See All in Technology
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
250
ハーネスエンジニアリング×AI適応開発
aictokamiya
3
1.4k
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
200
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
120
遊びで始めたNew Relic MCP、気づいたらChatOpsなオブザーバビリティボットができてました/From New Relic MCP to a ChatOps Observability Bot
aeonpeople
1
160
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
マルチモーダル非構造データとの闘い
shibuiwilliam
1
160
ThetaOS - A Mythical Machine comes Alive
aslander
0
240
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
900
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
160
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから.pptx.pdf
zozotech
PRO
2
310
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
240
Everyday Curiosity
cassininazir
0
180
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Scaling GitHub
holman
464
140k
Transcript
【Ottertune】MLでDBを最適化する ツールの紹介
自己紹介 • Hank Ehly (ハンク イーリー) • ENECHANGE株式会社 • qiita.com/hankehly
• github.com/hankehly • connpass.com/user/hankehly
アジェンダ 1. DBチューニングの問題点 2. OtterTuneとは 3. 営業とのQ&A
AWS RDSとは • マネージド PostgreSQL、MySQL、... • バージョン更新 / バックアップ等 自動化される
• デフォルトパラメータ • DBの使われ方に最適化されていない
DBチューニングの問題点 • RDBの費用を抑えて性能を最適化したいよね? (A) PostgreSQLの内部の専門的な知識 (B) 試行錯誤でパラメータ変更を繰り返し、最適化されるまで、パフォーマンスへの 影響を検証する時間 (私はどちらも持っていない) •
本来より高いクラウドコストを支払っていて、低いパフォーマンスしか出せていない
OtterTuneとは AWS の RDS と連携し、PostgreSQL と MySQL の設定項目を機械学習で最適化する SaaS プロダクト
1. 接続 • OtterTuneアカウント作成 • Agentをデプロイする 2. メトリック取得 • DB のハードウェア、パラメータ、メトリクス情報を 定期的に取得する • データやクエリーを見ない 3. 最適化 • ユーザーが設定した目標に向けて、 DB の設定を機械学習で最適化していく
①今この設定だよ ②多分これに変えたら パフォーマンス上がるよ ③どうする?
営業とのQ&A 1. どんな情報を取得するか • 数値、カウンター、レイテンシー情報 • PostgreSQL Statistics Collector •
CloudWatchメトリック(CPU使用率など) • クエリーの内容/スキーマは取得されません 2. RDSとどう接続するか • Agentをデプロイする(Fargate) • 公式 CloudFormation / Terraform
module "ottertune-iam" { source = "ottertune/ottertune-iam/aws" version = "0.0.6" external_id
= "***" } (Terraform)
営業とのQ&A 3. 設定変更によるダウンタイムはあるか • 設定変更によるダウンタイムは今まで発生したことがないそうです • 変更すると再起動が必要な設定はあるけど、事前に分かるもののみ 4. 日本語対応(ダッシュボード /
サポート等) ない 5. 設定変更は自動なのか、人がやるのか • どちらも対応している • 完全に自動化できる • 人間が変更内容を見てボタンクリックで適用することもできる(human in the loop と呼ぶ)
営業とのQ&A 6. 設定変更はどの頻度で行われるか • 調整できるけど、24時間に1回が推奨される • 大体20回目のイテレーションで、パフォーマンスチューニングがMAXに到達する
営業とのQ&A 7. どのくらいのパフォーマンス向上が期待できるか ワークロードによるけど、デフォルトの RDS 設定を使っている場合 5% 〜 15% は期待
できる
営業とのQ&A 8. PostgreSQL のバージョン変更したらどうなるか • 何もなかったように、新しいメトリック/設定項目を考慮範囲に含められるだけ • OtterTuneのサービスが途切れることはない 9. 設定変更によってパフォーマンスが下がったことはあるか?
• あるけど、最初の方だけで、ノイズに近い • 継続的な設定調整でパフォーマンスがだんだん悪くなることはない 10. でもお高いでしょ? • 1 db = $0 • 〜5 db = $450/月 • https://ottertune.com/pricing 11. 検証環境で学習させて本番環境に適用することは? • 環境によってワークロードが違うので、検証環境で学習させて、本番環境に変更を展開することはあまり意味がない
営業とのQ&A 12. どのDBがサポートされるか
13. どのパラメータを調整するか • autovacuum_vacuum_cost_delay • autovacuum_vacuum_cost_limit • autovacuum_vacuum_scale_factor • autovacuum_vacuum_threshold
• bgwriter_delay • bgwriter_lru_maxpages • bgwriter_lru_multiplier • checkpoint_completion_target • 等々 営業とのQ&A
ご清聴ありがとうございます