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
39
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
6
攻略!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
4
PostgreSQL でもできる!GraphRAG
hmatsu47
PRO
0
3
Aurora DSQL のトランザクション(スナップショット分離と OCC)
hmatsu47
PRO
0
9
いろんなところに居る Amazon Q(Developer)を使い分けてみた
hmatsu47
PRO
0
26
「ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)」の結果ログから Aurora DSQL の動作を考察する
hmatsu47
PRO
0
2
ゲームで体感!Aurora DSQL の OCC(楽観的同時実行制御)
hmatsu47
PRO
0
34
PostgreSQL+pgvector で GraphRAG に挑戦 & pgvectorscale 0.7.x アップデート
hmatsu47
PRO
0
53
LlamaIndex の Property Graph Index を PostgreSQL 上に構築してデータ構造を見てみる
hmatsu47
PRO
0
17
Other Decks in Technology
See All in Technology
AIの個性を理解し、指揮する
shoota
3
640
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
110
re:Invent 2025の見どころと便利アイテムをご紹介 / Highlights and Useful Items for re:Invent 2025
yuj1osm
0
700
Databricks Free Editionで始めるMLflow
taka_aki
0
800
datadog-incident-management-intro
tetsuya28
0
120
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
370
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
340
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
160
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
0
160
今日から使える AWS Step Functions 小技集 / AWS Step Functions Tips
kinunori
2
220
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
330
Amazon Q Developer CLIをClaude Codeから使うためのベストプラクティスを考えてみた
dar_kuma_san
0
340
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Gamification - CAS2011
davidbonilla
81
5.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to Ace a Technical Interview
jacobian
280
24k
It's Worth the Effort
3n
187
28k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Visualization
eitanlees
150
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
870
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