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
19
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
1
HeatWave on AWS のインバウンドレプリケーションで HeatWave エンジン有効時のレプリケーションラグを確認してみた!
hmatsu47
PRO
0
11
CloudWatch Database Insights 関連アップデート
hmatsu47
PRO
0
15
さいきんの MySQL との付き合い方 〜 MySQL 8.0 より後の世界へようこそ 〜
hmatsu47
PRO
0
21
ベクトルストア入門
hmatsu47
PRO
0
19
Aurora DSQL について
hmatsu47
PRO
0
17
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
34
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
42
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
56
Other Decks in Technology
See All in Technology
Next.jsと状態管理のプラクティス
uhyo
5
2k
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
490
UIパフォーマンス最適化: AIを活用して100倍の速度向上を実現した事例
kinocoboy2
0
110
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
2.1k
MagicPod MCPサーバー開発の裏側とAIエージェント活用の展望
magicpod
0
100
既存の開発資産を活かしながら、 《新規開発コスト抑制》と《開発体験向上》 を両立する拡張アーキテクチャ事例
kubell_hr
0
110
DynamoDB のデータを QuickSight で可視化する際につまづいたこと/stumbling-blocks-when-visualising-dynamodb-with-quicksight
emiki
0
150
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
2
190
genspark_presentation.pdf
haruki_uiru
1
250
Sleep-time Compute: LLM推論コスト削減のための事前推論
sergicalsix
1
120
さくらのクラウド開発の裏側
metakoma
PRO
2
1.5k
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
690
Featured
See All Featured
Visualization
eitanlees
146
16k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Scaling GitHub
holman
459
140k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
A better future with KSS
kneath
239
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Docker and Python
trallard
44
3.4k
GitHub's CSS Performance
jonrohan
1031
460k
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