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
3
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
10 年(+1 年)の振り返りと 2025 年の活動予定
hmatsu47
PRO
0
15
RDS/Aurora アップデート(2024 年版)
hmatsu47
PRO
0
17
Aurora DSQL と楽観的同時実行制御(OCC)
hmatsu47
PRO
0
26
Claude 3.5 で Haiku
hmatsu47
PRO
0
19
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
20
大吉祥寺.pm の LT で ChatGPT の力を借りて Next.js App Router ベースの投句箱を作って、 Lambda Web Adapter を使って公開した話
hmatsu47
PRO
0
21
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
44
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
68
pgvector 0.7.0 の新機能と、これから来る(かもしれない)pgvectorscale
hmatsu47
PRO
0
72
Other Decks in Technology
See All in Technology
20240513 - 框裡框外_文學院學生如何在AI世代安身立命 @ 淡江大學
dpys
0
640
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.3k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
4
530
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
170
チームが毎日小さな変化と適応を続けたら1年間でスケール可能なアジャイルチームができた話 / Building a Scalable Agile Team
kakehashi
1
200
大規模言語モデルとそのソフトウェア開発に向けた応用 (2024年版)
kazato
2
530
LangGraphとFlaskを用いた社内資料検索ボットの実装②Retriever構築編
aoikumadaki
0
110
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
260
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
110
コロプラのオンボーディングを採用から語りたい
colopl
5
720
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
430
Featured
See All Featured
Six Lessons from altMBA
skipperchong
27
3.5k
Designing for Performance
lara
604
68k
How GitHub (no longer) Works
holman
312
140k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Gamification - CAS2011
davidbonilla
80
5.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
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