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
DynamoDB Global Tables MRSC・pgvector 0.8.0・cach...
Search
hmatsu47
PRO
January 11, 2025
Technology
0
20
DynamoDB Global Tables MRSC・pgvector 0.8.0・caching_sha2_password 関連アップデート
JAWS-UG 横浜 #79 AWS re:Invent 2024 re:Cap Database 2025/1/11
hmatsu47
PRO
January 11, 2025
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
HeatWave on AWS という選択肢を検討してみる
hmatsu47
PRO
0
3
HeatWave on AWS のインバウンドレプリケーションで HeatWave エンジン有効時のレプリケーションラグを確認してみた!
hmatsu47
PRO
0
14
CloudWatch Database Insights 関連アップデート
hmatsu47
PRO
0
19
さいきんの MySQL との付き合い方 〜 MySQL 8.0 より後の世界へようこそ 〜
hmatsu47
PRO
0
23
ベクトルストア入門
hmatsu47
PRO
0
23
Aurora DSQL について
hmatsu47
PRO
0
19
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
36
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
44
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
65
Other Decks in Technology
See All in Technology
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
440
継続戦闘能⼒
sansantech
PRO
0
220
技術書典18結果報告
mutsumix
2
180
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
1
140
NW運用の工夫と発明
recuraki
1
790
うちの会社の評判は?SNSの投稿分析にAIを使ってみた
doumae
0
150
AIオンボーディングとAIプロセスマイニング
nrryuya
5
1.3k
面接を通過するためにやってて良かったこと3選
sansantech
PRO
0
130
AIの電力問題を概観する
rmaruy
1
210
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
210
CSS polyfill とその未来
ken7253
0
140
“⾞が通れるほど⼤きな”セキュリティーホールを抑えながらログインしたい
taiseiue
0
160
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Balancing Empowerment & Direction
lara
1
84
The Cult of Friendly URLs
andyhume
78
6.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Building Applications with DynamoDB
mza
95
6.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
It's Worth the Effort
3n
184
28k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Raft: Consensus for Rubyists
vanstee
137
7k
What's in a price? How to price your products and services
michaelherold
245
12k
Done Done
chrislema
184
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
840
Transcript
DynamoDB Global Tables MRSC・ pgvector 0.8.0・caching_sha2_password 関連アップデート JAWS-UG 横浜 #79
AWS re:Invent 2024 re:Cap Database 2025/1/11 まつひさ(hmatsu47)
自己紹介 松久裕保(@hmatsu47) • https://qiita.com/hmatsu47 • Web インフラのお守り係をしています • 普段は JAWS-UG
名古屋(・浜松)で DB ネタを中心 に話しています(主に RDS / Aurora・たまに DynamoDB) 2
取り上げるアップデート • DynamoDB Global Tables がマルチリージョンの強い 整合性(MRSC)をサポート(プレビュー) • RDS for
PostgreSQL が pgvector 0.8.0 をサポート • RDS for MySQL 8.4 LTS 提供開始 • RDS Proxy が caching_sha2_password 認証をサポート (Aurora MySQL / RDS for MySQL) 3
Aurora DSQL については? • 昨年末の名古屋での Recap ✖ 2 で触れたので今回はパス ◦
Aurora DSQL と楽観的同時実行制御(OCC) https://www.docswell.com/s/hmatsu47/53GJ4P-2024-12-25-014945 ◦ RDS/Aurora アップデート(2024 年版) https://www.docswell.com/s/hmatsu47/5MXQRL-2024-12-27-003032 4
[1] DynamoDB Global Tables MRSC(プレビュー) • 12/3 に発表 ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/12/amazon-dyna
modb-global-tables-previews-multi-region-strong-consistency/ • リージョン間のデータレプリケーション自体は非同期 ◦ Multi-Regional Journal(MRJ)によって厳密な順序で記録 ◦ ハートビートを使うことで読み取り時の整合性を保証 5
設定してみる(1/2) 参考 : https://dev.classmethod.jp/articles/amazon-dynamodb-global-tables-previews-multi-region-strong-consistency/ 6
設定してみる(2/2) • DynamoDB Streams を使っている 参考 : https://dev.classmethod.jp/articles/amazon-dynamodb-global-tables-previews-multi-region-strong-consistency/ 7
書き込み時 出典 : https://zenn.dev/kiiwami/articles/8a1cd54b61115c20 8 最初のリージョンで書き 込む→ MRJ に記録後、 MRJ
を経由して他の 2 リージョンに複製 最初のリージョンも含めて MRJ からコールバックを受け取る 各リージョンでコールバックを 受け取り、2 つの AZ に書き込む と「書き込み完了」に 3 つ目の AZ へは遅延書き込み可
読み取り時 出典 : https://zenn.dev/kiiwami/articles/8a1cd54b61115c20 9 MRJ に対して ハートビートを送る そのハートビートの直前までに ログに記録されているデータが
読み取り対象のデータとなる リージョンから MRJ に送信した ハートビートがコールバックさ れた=読み取り対象の全データ がリージョンに書き込み完了し 整合性が保証された状態
[2] pgvector 0.8.0 サポート(RDS for PostgreSQL) • 11/21 に発表(re:Invent 2024
前) ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-rds-fo r-postgresql-pgvector-080/ • 反復インデックススキャンをサポート ◦ HNSW / IVFFlat インデックスと WHERE 句での非ベクトル列の 絞り込みを併用する際のデータ取りこぼしを回避 10
pgvector 0.7.x の HNSW インデックスでは 出典 : https://www.timescale.com/blog/how-we-made-postgresql-as-fast-as-pinecone-for-vector-data 11 hnsw.ef_search=5
のときに、右図のように HNSW インデックスで検索した上位 5 件の department 列がすべて finance だった場合 WHERE 句で department = ‘engineering’ の絞り込みを行う 前に HNSW インデックスでの絞り込みが行われ、上位 5 件ま で絞り込んだ時点でインデックス検索を終了してしまうため (上位 5 件すべて department = ‘finance’)、結果が 0 件に なってしまう
pgvector 0.8.0 の HNSW インデックスでは (先の図を改変) 12 最初の検索で結果の数が不足した場合、閾値 に達するまで反復して HNSW
インデックスを 検索する 2 回目の検索で続きの 5 件を取得するため、department = ‘engineering’ の行が取得できる hnsw.iterative_scan・hnsw.max_scan_tuples・hnsw.scan _mem_multiplier で動作を調整する 一方、HNSW インデックスはメモリ内に収ま らないと作成も検索も非常に遅くなる pgvector 0.8.0 では DiskANN 系のインデックスには非対応 RDS でも StreamingDiskANN インデックスをサポートした pgvectorscale に対応してほしい
2/1(土)Burikaigi2025(富山県立大)にて • pgvector を含むベクトルストアの基礎について話します ◦ https://fortee.jp/burikaigi-2025/proposal/473ffcda-c642-4fb6-bced-199ca7 16c741 ◦ https://burikaigi.dev/ 13
[3] RDS for MySQL 8.4 LTS 提供開始 • 11/21 に発表(re:Invent
2024 前) ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-rds-fo r-mysql-8-4-lts-release/ • デフォルトの認証プラグインが変更された ◦ caching_sha2_password に ▪ 本家は MySQL 8.0 の時点でデフォルトが変更されていたが、RDS(8.0) / Aurora(v3)では mysql_native_password のままだった(変更もできず) 14
DB パラメータグループを見てみる(1/2) • デフォルト認証プラグインは変更可能に 15
DB パラメータグループを見てみる(2/2) • 旧プラグインは無効化はできない仕様に ◦ 本家 MySQL 8.4 ではデフォルト無効 16
[3’] RDS Proxy が caching_sha2_password 対応 • 12/19 に発表(re:Invent 2024
後) ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/12/amazon-rds-pr oxy-sha2-password-authentication-mysql-aurora-rds/ • これまでは mysql_native_password しか使えず ◦ 以前も RDS(8.0) / Aurora(v3)で明示的な選択・指定により caching_sha2_password 認証を使うユーザーを作成できたが、 RDS Proxy では使えなかった 17
2/22(土)PHP カンファレンス名古屋 2025 にて • MySQL 8.4 以降との付き合い方について話します ◦ https://fortee.jp/phpcon-nagoya-2025/proposal/1decff64-5513-442b-848b
-28d798b1fa8b ◦ https://phpcon.nagoya/2025/ 18