>100 Views
May 01, 26
スライド概要
【講演内容】
弊社では時間を要する分析を行う時のみHeatWaveを有効化しています。
具体的には1時間毎に付けたり消したりしているのですが、
要している時間やこの運用を行った時のメリット・デメリットを費用の面も含めて紹介します。
1. HeatWaveの利用と運用方法
- 分析時のみHeatWaveクラスタを有効化
- 起動・分析・停止の運用フロー
2. コスト削減の効果
- 常時稼働との比較による料金差
- 実運用におけるコスト削減事例
3. 運用時の工夫と注意点
- 起動時間を考慮した処理設計
- CLI操作時の注意点
- 起動失敗時のリカバリ対応
4. 適用が有効なユースケース
- OLAP用途での活用
- 定期分析・バッチ処理でのコスト最適化
【発表者】
ジニアス・ソノリティ株式会社
プログラマー
太田 賢一郎 氏
【イベント情報】
HeatWavejp Meetup #18
https://heatwavejp.connpass.com/event/387800/
HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進
財布にも環境にもやさしいHeatWave節約術 ジニアス・ソノリティ株式会社 太田賢一郎
自己紹介 名前:太田 賢一郎 所属:ジニアス・ソノリティ株式会社 部署:プログラマー 業務内容:クライアントプログラム サーバープログラム インフラ関連 開発機材の調達・廃棄 スマートフォンのバッテリー交換等々
New 電波人間のRPG FREE! あなたの周りの電波人間を、探して、仲間にして、冒険しよう! Genius Sonority Inc. Android iOS Nintendo Switch版もあ ります!
MySQL HeatWave、使ってない時は切りませんか?
弊社での運用 毎時間、分析の時のみMySQL HeatWaveを有効化し、集計が終わったら無効化 しています。 この分析では600万行、20GBなパーティションを4つロードさせています。 起動、SECONDARY_LOAD 分析 終了 15分 20分 5分 MySQL HeatWaveを使わない場合は分析に1時間以上要する為、起動の時間を 考えてもMySQL HeatWaveを使ったほうが早い
CLIからクラスタを起動する際のちょっとしたハマりポイント $ oci mysql db-system heatwave-cluster start –db-system-id <OCID> –wait-for-state SUCCEEDED ”--wait-for-state”に指定出来る値は 作業リクエストに対する待ちでありHeatWaveクラスタの状態ではない (”ACTIVE”は間違い) https://docs.oracle.com/en-us/iaas/tools/oci-cli/latest/oci_cli_docs/cmdref/my sql/db-system/heatwave-cluster/start.html
料金 弊社のOCIテナント上で運用中のHeatWave.512GBを例に計算します。 無停止 1.705円 × (512GB ÷ 16GB) × 24時間 × 30日 = ¥39,283 弊社での運用 1.705円 × (512GB ÷ 16GB) × 16時間 × 30日 = ¥26,188 1ノードあたり約13,000円の節約!
工夫した点 ● 起動時間の分、集計完了が遅くなる 定期実行させる集計はあまり問題ないが、実行要求されるような集計の場 合、結果の表示に工夫が必要 →Webページ上から集計リクエストを発行し、集計結果をスプレッドシートに 出力して完了と共にチャットに通知するようにしています。 ● 時々起動・終了に失敗する 数年前は高頻度で発生していたが、最近は数カ月に1回程度になった →失敗した場合に歯抜けとなる為、修復処理も入れておきます。
工夫した点 ● システムが少し複雑になりがち 定期実行を動かしつつ実行要求を動かす場合、状態に応じた分岐が多くなる (終了中の要求、次の起動時間を跨ぎそうな場合等々・・・) →弊社では実行要求が重なった時にクラスタが意図せぬタイミングで閉じな いようプロセスの死活監視を行っていますが非常に複雑な為、いっそ実行リ クエストとしてキューに貯めておき、次の定期実行で解析するというのも一つ の手かもしれません。
こういう方にオススメ ● 主にOLAPでMySQLを使用 ● n時間単位程度にリアルタイムなデータが欲しいが、分析時間に足が出る ● どうしても重い分析が一部あり、高速化したい DBをスケールアップするよりも安価な場合も ● 予算の都合上、やむなくHeatWaveクラスタのシェイプ・ノードを下げて利用し ている
ご清聴ありがとうございました New 電波人間のRPG FREE! よろしくお願いします! Android iOS Nintendo Switch版もあ ります!