Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
43
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
今年の FESTA で初当日スタッフ+登壇してきました
hmatsu47
PRO
0
7
攻略!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
5
PostgreSQL でもできる!GraphRAG
hmatsu47
PRO
0
4
Aurora DSQL のトランザクション(スナップショット分離と OCC)
hmatsu47
PRO
0
10
いろんなところに居る Amazon Q(Developer)を使い分けてみた
hmatsu47
PRO
0
28
「ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)」の結果ログから Aurora DSQL の動作を考察する
hmatsu47
PRO
0
3
ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
46
PostgreSQL+pgvector で GraphRAG に挑戦 & pgvectorscale 0.7.x アップデート
hmatsu47
PRO
0
56
LlamaIndex の Property Graph Index を PostgreSQL 上に構築してデータ構造を見てみる
hmatsu47
PRO
0
21
Other Decks in Technology
See All in Technology
進化の早すぎる生成 AI と向き合う
satohjohn
0
220
Introduction to Bill One Development Engineer
sansan33
PRO
0
320
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.2k
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
8
3k
ブラウザ拡張のセキュリティの話 / Browser Extension Security
flatt_security
0
210
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
2
260
.NET 10のASP. NET Core注目の新機能
tomokusaba
0
140
Kill the Vibe?Architecture in the age of AI
stoth
1
120
リアーキテクティングのその先へ 〜品質と開発生産性の壁を越えるプラットフォーム戦略〜 / architecture-con2025
visional_engineering_and_design
0
8.4k
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
180
『星の世界の地図の話: Google Sky MapをAI Agentでよみがえらせる』 - Google Developers DevFest Tokyo 2025
taniiicom
0
430
【保存版】「ガチャ」からの脱却:Gemini × Veoで作る、意図を反映するAI動画制作ワークフロー
nekoailab
0
110
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How STYLIGHT went responsive
nonsquared
100
5.9k
Scaling GitHub
holman
464
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Become a Pro
speakerdeck
PRO
30
5.6k
Docker and Python
trallard
46
3.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
GitHub's CSS Performance
jonrohan
1032
470k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
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