ちょっと遅くなりましたが LT 参加した報告を残しておきます。
今回も諸々の都合でオンラインリモート参加です。
オープニングと HeatWave 概要紹介
俺がいつも(?) 参加してる感じのやつとノリが違ってびくびくしている #HeatWavejp
— yoku0825 (@yoku0825) 2025年4月17日
リモート参加していて会場から聞こえてくる内藤さんの声が割れていましたw
現地に行ってたら帰れなくなるやつ
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
タイムテーブルからはほぼ確実?に遅れるのは「仕様」です。
なんならJavaも30歳だしPHPも30歳
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
祝、🐬もほかのみんなも 30 歳!
登壇者特典でいろいろ送っていただいたんだけど今日出社していないので現物は見てない
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(届いた報告は来た)
#HeatWavejp
出社時に引き取ってきました(ありがとうございます!)
未開封です。
なお写真を撮るとき初めて T シャツの袋の中にステッカーが入っていることに気づきました。
最新アップデート情報
発表参加なので事前に聞いていましたが、公開されていたタイムテーブルから変更があって、オープニングと概要紹介の後は HeatWave の最新アップデート情報でした。
すでに「HeatWave」が何を指してるかわからない問題
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
登壇するとき、
登壇するときHeatWaveの列指向エンジンを何と呼べば良いのかわからなくて困る
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(「HeatWave Cluster」だとHAのやつと勘違いされそう)
#HeatWavejp
語彙が揺れがちで困るんですよね(今回も「HeatWave Cluster」だとわかりづらいと思って「HeatWave エンジン」にしたという経緯が)。
このへん?https://t.co/pLNBZ9KlQf
— yoku0825 (@yoku0825) 2025年4月17日
#HeatWavejp
HeatWave のアップデート情報とは直接関係ないのですが、yoku0825 さんに拾っていただいたページを見て、「GoldenGate も ZeroETL とか言い出したのか」と気づいてしまいました。
通常のHeatWaveのリリースノートはコッチhttps://t.co/mOXhyGfM2B
— tkyk04 (@taka_yuki_04) 2025年4月17日
HeatWave on AWS のリリースノートはこっちhttps://t.co/CreATuQHEa
#HeatWavejp
HeatWave のアップデート情報(本体)はこっちです。
個人的には、
なるほどTEXT系の「65532バイトの壁」が9.2.2で取り払われたのかhttps://t.co/liaSfuescH
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(反応が遅い←もう次の発表に進んでる)
#HeatWavejp
これ↑が結構影響あるかな、と。
テーブル全行中数行程度だけ 65532 バイトを超える TEXT 系の列があったときにわざわざセカンダリテーブルへのロード除外をしないといけないのが地味に面倒だったので。
(もっとも、集計に使わないのであれば除外しておいたほうが容量の節約にはなりますが)
各 LT
反応や自分の感想などを拾っておきます。
HeatWave の Autopilot Indexing を試してみた!
Autopilot Indexing
— tkyk04 (@taka_yuki_04) 2025年4月17日
HeatWave MySQL9.0.0以上
HeatWaveクラスタ有効にしないと→これがドキュメントにない
ふむ、言っとかないとかな。
#HeatWavejp
しかし、HeatWave Autopilot AdvisorなんだからHeatWaveクラスタ有効にするのは当たり前だろ、って言われそうだな…。
— tkyk04 (@taka_yuki_04) 2025年4月17日
これ↑、まさに「HeatWave」が何を指してるかわからない問題そのもの、では…?
HeatWave MySQL の Autopilot Indexing について | スマートスタイル TECH BLOG https://t.co/4dOjYhFHnB
— yoku0825 (@yoku0825) 2025年4月17日
#HeatWavejp
ネタ元ブログ記事です。
HeatWave on AWS のインバウンドレプリケーションで HeatWave エンジン有効時のレプリケーションラグを確認してみた!
わたしのターンです。毎度ながらタイトルが長くてごめんなさい。
Aurora to HeatWave8.4とかおもろいことやってるなー
— tkyk04 (@taka_yuki_04) 2025年4月17日
しかも高速化してると。
良い事例
#HeatWavejp
シャアも真っ青な高速化w
— tkyk04 (@taka_yuki_04) 2025年4月17日
#HeatWavejp pic.twitter.com/KzgcbjVaSB
今回の LT の本題ではないのですが参考情報ということで。
あと、こちらも本題から外れるので当日は話しませんでしたが。
9.0.0 から HeatWave エンジン(HeatWave Cluster)側でクエリの並列実行ができるようになったのは良いけれど、何らかのリソースに対するロックの取り方が非効率なのか、並列で実行させると途中から各クエリの結果が返るタイミングがほぼ揃うようになり、結果として並列実行しないほうがクエリ処理時間の合計が短くなる、という罠があります。
これ、「クエリの並列実行ができるようになった」というのがドキュメントのどこに書かれているのか見つけられず(教えてもらって初めて知った)、ゆえに現時点で「9.0.0 以降で並列実行をさせない方法」が見つかっていないので、地味に厄介です。
(少なくとも 8.4 が現役のうちは 8.4.x を使い続ける予定なので、まだ時間的な猶予はありますが)
このあたりの話は追って Qiita か Zenn にでも軽くまとめます。
2025/4/23 追記:
記事を書きました。
「HeatWaveエンジンのON/OFFで更新のオーバーヘッドがあるのかないのか」「MySQL InnoDBの更新が終わってからHeatWaveエンジンに伝播するまでにラグがあるのかどうか」 #HeatWavejp
— yoku0825 (@yoku0825) 2025年4月17日
処理が非同期だからといって MySQL DB(InnoDB)側のオーバーヘッドがないとは言っていないし、非同期だからこそ最終的に HeatWave エンジン(HeatWave Cluster)のデータが更新されるまでのタイムラグが気になるので確かめてみました、という話をしました。
SECONDARY_UNLOADでもSECONDARY_LOADでもSeconds_Behind_Sourceに大きな違いはなし。だんだん遅延が積みあがっていって解消される #HeatWavejp
— yoku0825 (@yoku0825) 2025年4月17日
あわせて MySQL DB(InnoDB)→ HeatWave エンジン(HeatWave Cluster)の遅延もほぼゼロ、でした。
ただ、更新データ容量が大きいケース、例えば 9.2.2 で制限が緩和された 65532 バイトを超える文字列のロードが頻発するようなことがあると状況が変わるかもしれませんね。
開発者がレプリケーションラグ自体に気付いてない
— tkyk04 (@taka_yuki_04) 2025年4月17日
あるよねー
#HeatWavejp
ちょうど先日の MySQL アンカンファレンスでも話題になりましたよね。
HeatWave MySQL で DB 監査ログ運用を実装してみた!
DB監査ログちゃんと取得して利用したい
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(むかしむかしのプラグインは○ソ遅かった…)
#HeatWavejp
まあ性能がかなり改善された Aurora の監査ログも全然活用できていないわけですが…。
「監査ログに直接アクセスできない」っていうのは、セキュリティ的な意味で逆にメリットになりそうな気もする。#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
とはいえ「機密性は確保されても完全性・可用性に難がある」のは良くないので、
WORMストレージに吐きたい気もする
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
と思ったり。
Audit Logは自動的に外部の安全なストレージに飛んでいって欲しいの気持ち(log shipperみたいなのを自分で書けばいいんだけど)#HeatWavejp
— かえる㌠ (@gho4d76g) 2025年4月17日
正直、監査ログを「中継点で自由に加工しうる」のは良くないと思うんですよね(改ざん検知できれば別だけど)。
機能改善リクエストとかも是非
— tkyk04 (@taka_yuki_04) 2025年4月17日
#HeatWavejp
途中で「使いづらい」話がいろいろ出てきていたので。
おーい、中の人!聞いてるか?
— tkyk04 (@taka_yuki_04) 2025年4月17日
#HeatWavejp pic.twitter.com/sB0r50ntJJ
HeatWave Lakehouse で 膨大になる csv データを必要な分だけロードしてデータ集計してみた!
「当時の子供が大人になっててたくさん課金してくれる」www#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
いまどきのゲームは大人(かつての子供)が支えている?
「長く運営していって2年3年たった時にリリース当初の状況を分析したい」「捨てちゃいましたとは言いづらい」 #HeatWavejp
— yoku0825 (@yoku0825) 2025年4月17日
ですね。
「OracleさんからHeatWave Lakehouseの話があって、これしかないな」
— tkyk04 (@taka_yuki_04) 2025年4月17日
ありがとうございますw
#HeatWavejp
「困ったらOracleさんに頼る」
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
頼れるサポートは大事です。
「どの粒度/期間でデータをロードしたいか」という要件に沿って CSV を保存するようにしておく感じにすると良いのか。#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
HeatWave Lakehouse で オブジェクト・ストレージのデータ変換 / 加工ができるか試してみた!
「AI に聞いてみました」#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
こちらはサポートではなく AI に質問w
AIもちゃんとHeatWaveのことを知ってた
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(微妙なリブランディングを繰り返すとハルシネーションが…)
#HeatWavejp
バージョン非互換で回答が混乱しているケースもありますが、それ以上にカオスになりそうw
クエリの結果をオブジェクトストレージに吐き出して、それを HeatWave Lakehouse で読み込む、って感じか。なるほど。#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
HeatWave LakehouseのSQL実行結果をオブジェクトストレージに出力する機能 の参考ブログ記事https://t.co/MDmG4AzQ4D #HeatWavejp
— Yoshiaki Yamasaki (@yyamasaki1) 2025年4月17日
これ↑に絡む話だったようです。
ブログで読むと読み流しそうなところ丁寧に話してくれるの有難いすな。
— tkyk04 (@taka_yuki_04) 2025年4月17日
#HeatWavejp
ブログ記事、ときどき説明を飛ばしている(で、読んで再現しようとして引っかかる人がたくさん出る)ことがあるので。
INTO OUTFILE WITH PARAMETERSなんて構文あるのか(あとでyacc読もう)
— yoku0825 (@yoku0825) 2025年4月17日
#HeatWavejp
「INTO OUTFILE って結局入力だっけ出力だっけ?」って一瞬迷うのはわたしだけ?
オブジェクトストレージに入ってるファイルの更新を検知して自動で reload してくれる機能がロードマップに載ってるらしい。とてもよさそう。#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
「ロードマップに載ってからどうなるか」についての保証はない…?
PKは初回はチェックしてはじくけど、後からロードするとはじかない
— tkyk04 (@taka_yuki_04) 2025年4月17日
フーム
#HeatWavejp pic.twitter.com/6Jj47j0MPa
直感的でない挙動(仕様)がある模様です。
HeatWave をオンプレの MySQL と同じように使おうとしてみた!
日々の覚書をチラチラ見て「あ、これは HeatWavejp の LT で話すやつだ」と思っていたらそのとおりでした。
内藤さん曰く。
「MySQL界隈からの刺客」ww
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
さっそくオンプレのように使ってて笑う
— tkyk04 (@taka_yuki_04) 2025年4月17日
#HeatWavejp pic.twitter.com/TRP7t3B1Pu
割と権限まわりで引っかかるとかあるんですよね。
シングル構成の方が落ちた後の再起動が速かったらしい。なるほど。#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
HA の意味…?
ディスク使用量の分析をしたい
— 私市智美 Tomomi Kisaichi (@kisaichi) 2025年4月17日
yoku0825 的「MySQLが壊れました」4年連続第1位受賞(個人調べ) #HeatWavejp
「Always Free だとオフラインでも拡張できなくて二度と更新できない HeatWave ができあがった ()」#HeatWavejp
— こたつ&&みかん (@kota2and3kan) 2025年4月17日
AWS の旧 Elasticsearch Service(いまは本家をフォークして OpenSearch Service)もディスク容量周りのトラブルで動かなくなったことがありますから(結局サポートに直してもらった)。
狙って落とせるわけではないけれどかつてAuroraを落とすと「https://t.co/loeMff4VWEにレポートしてくれ」ってログ吐いてた
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
(いまはどうなのかは知らない)
#HeatWavejp
過去に吉祥寺.pm で話したことがありますがこれはひどかったw
最後に本音が漏洩w
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp
どんな本音だったかは内緒です。
クロージング
次回予告!発表者のみなさまありがとうございました!#HeatWavejp pic.twitter.com/9HvFAqYSGg
— Seiji Akatsuka (@seijiakatsuka) 2025年4月17日
次回は GenAI 回だそうです。
次回「pgvectorからの刺客」として登場しようかな?(しない
— hmatsu47(まつ) (@hmatsu47) 2025年4月17日
#HeatWavejp