HeatWavejp_Meetup_12_Google CloudからOCIへの移行を決めたのでHeatWave MySQLを使うことになった

>100 Views

March 24, 25

スライド概要

profile-image

HeatWavejpは、MySQL HeatWave の良さを知っていただき、参加者同士でノウハウやナレッジを共有できるユーザーコミュニティです。参加者同士のつながりを深めるため、以下の活動を行ってまいります。 COMMUNICATION *Slackやconnpassを活用したユーザー同士のコミュニケーションの場の提供 EVENT *オンライン/オフラインでのMeetupセミナーや勉強会の開催(隔月程度) SHARING *製品情報や最新アップデート、リリース情報の共有 INTERACT *参加者のコミュニティ・ネットワークやユーザー同士の交流を促進

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Google CloudからOCI への移行を決めたので HeatWave MySQLを 使うことになった

2.

目次 自己紹介 移行に際して:GIPKの変 更 HeatWave?なんですか? アップグレード:認証方 式について OCIに移行したので HeatWave MySQLを使 HeatWaveも使ってみ る? っていた

3.

自己紹介 株式会社アプルーシッド 代表取締役 川畑 雄補 X: @ku_suke スライド共有サービス ドクセルの運営 エンタープライズ企業のDXコンサル

4.

スライド共有サービス「ドクセル」について Docswellは国産スライド共有サービスとして2022年に開始し、現在2.6万スライドをホステ ィングしています。リンクが貼れて日本語バッチリなのでたくさんご利用いただいています

5.

ドクセルについて サンプルテキスト HeatWave jpの みなさま ご利用ありがとう ございます!

6.

HeatWaveって なんですか?? 今日は山崎さんにお誘い いただいたのですが、 お声がけいただいた時には、 ????となりました。 https://onsen.nifty.com/onsen-matome/240402230265/

7.

「川畑さん、今度HeatWaveの勉強会で 喋って欲しいんですけど」 「HeatWave使ってませんが???」

8.

ドクセルを移管するときは、まだMySQL Database Service(MDS)だった気がする 僕「うーん、このCost Estimateで勝手にオンになる HeatWaveとかいうのいらんな〜削除!」

9.

今日ここに来るために慌てて勉強したHeatWave hmatsu47さんのスライドを見て完全に理解してきた https://docswell.com/s/hmatsu47/Z3GL92-2025-02-07-144215

10.

HeatWave 使ってた MySQL 列DBとか もろもろ HeatWave

11.

ドクセルのHeatWave MySQL 8.0への移行

12.

Overview ドクセルは、昨年Google CloudからOCIにお引越しするにあたり Cloud SQL 5.7からHeatWave MySQL 8.0にお引越ししました

13.

MySQLをお引越し ちなみにOCIに落ち着くまで、マネージドのMySQLを探す旅をしました。 https://zenn.dev/kusuke/scraps/a9635e32741d5b

14.

HeatWave MySQL 8.0へ移行 MySQL 8.0への移行は概ねスムーズでした。むしろスムーズじゃない 点があると思っていなかったので苦労した気持ちになりました(期待値 POINT 01 Cloud Run側の接続切り替え POINT 02 GIPKの対応

15.

Cloud Runからの接続切り替え 引越しの第一弾はデータベースから、ということで Cloud Runから直接OCIにインターネット越しに接続

16.

Cloud Runからの接続切り替え Cloud Runから直接OCIにインターネット越しに接続 POINT 01 CloudRun側は、Serverless VPCを使用して出口IPを固定 POINT 02 OCI側は、ネットワークロードバランサーを用意してセキュリティ設定 POINT 03 トラフィック大したことないし大丈夫っしょって思ってた

17.

詰まるコネクション、 足りないトラフィック ちょっと舐めてました (朝7時に切り戻し)

18.

CroudRunからの接続切り替え 詰まるコネクション、足りないトラフィック Ahhhh! 一部の古いデータはバイナリデータ(画像)を 格納していたことを忘れていた Serverless VPCの共有VPCのパフォーマンスを測 定していなかった?(慌てていたので分からず PHPの接続永続化がCloudRunのインスタンス数 オートスケールと相性最悪だった

19.

CroudRunからの接続切り替え 詰まるコネクション、足りないトラフィック CHECK ! 一部の古いデータはバイナリデータを格納してい たことを忘れていた 慌ててバッチ処理でオブジェクトストレージに書き出し Serverless VPCの共有VPCのパフォーマンスを測 定していなかった?(慌てていたので分からず オートスケール数を制限、接続永続化をオフに PHPの接続永続化がCloudRunのインスタンス数 オートスケールと相性最悪だった

20.

GIPKの対応 Primary Keyのないテーブルがいくつかあり、HAの制限に 引っかかり移行がストップ(高可用性のみの制限) 高可用性DBシステムには、高可用性互換の構成が必要です。DBシステムの高可用性機能 ではMySQLグループ・レプリケーションが使用されるため、各表に主キーが必要です。 高可用性DBシステムに主キーのない表を作成しようとすると、失敗します。 _人人人人人人人人_ > 失敗します。 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^ ̄ https://docs.oracle.com/ja-jp/iaas/mysql-database/doc/prerequisites.html

21.

GIPKの対応 HA環境でPKを全てのテーブルに用意する必要がある・・ しかしORMの対応まで含めると面倒・・ そこで!!GIPK!!

22.

GIPKとは GIPKとは、Generated Invisible Primary Keyということで、 「勝手に見えへんPK用意しとくわ」という機能です。 MySQL 8.0くらいから追加されたっぽい

23.

GIPKの対応 システムの都合でPKを用意しろとか言われても困るので、 GIPKをオンにするとすんなり納得してくれることがわかった。 GIPKは設定でオン にする必要がある OCIの場合は「構 成」で設定できる 構成を複製して GIPKをオンに

24.

GIPKの対応 OCIのMySQLはインスタンス起動時に「構成」という環境変数一覧みたいな やつを指定して起動します。こいつを複製してGIPKをオンにします。

25.

その結果どうなった? 接続の最適化はコンテナインスタンスのOCI移行により不要になり、 快適なMySQLライフが始まりました。 振り返り HeatWaveの 活用について 数GBのデータだしと舐めな いでちゃんと計測しよう。 勉強会に出るので、せっか くなのでHeatWaveクラス タをオンにしてみた AIの支援は1年前くらいの 情報しか手に入らないの で、ドキュメントをちゃん と読もう BigQueryにアクセス解析デ ータが50GBほど溜まってい るので、なんかやってみた い その他HeatWaveを 調べてみて HeatWave on AWSが熱 い。Web系企業でOLAP処理 をMyQLでやってるのでイン スタンスサイズがデカくな っているケースがある

26.

HeatWave勉強会駆動で めちゃくちゃ知識が つきました! ありがとうございました https://onsen.nifty.com/onsen-matome/240402230265/