Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
真のサーバーレスへ向けたAuroraの進化Aurora Limitless Database
Search
TomoyaIwata
December 11, 2023
Technology
5.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
真のサーバーレスへ向けたAuroraの進化 Aurora Limitless Database
2023/12/11のre:Growth 2023 OSAKAで発表した資料です
TomoyaIwata
December 11, 2023
More Decks by TomoyaIwata
See All by TomoyaIwata
CIで使うClaude
iwatatomoya
0
430
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
1.3k
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
2.6k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
6.7k
Qdrantでベクトルデータベースに入門してみよう
iwatatomoya
0
3k
詳解 AWS Lambdaコールドスタート
iwatatomoya
2
3.5k
AWS SDKのClientはFactory経由で作ろう
iwatatomoya
1
1.1k
OpentelemetryでアプリケーションのObservabilityを強化しよう
iwatatomoya
0
1.4k
AWS Lambdaは俺が作った
iwatatomoya
2
3.5k
Other Decks in Technology
See All in Technology
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
140
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
260
20260912_スクラムにジェネラリストは必要か
ryugen04
0
310
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
210
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
120
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
220
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
450
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
680
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
420
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
Unsuck your backbone
ammeep
672
58k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
320
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Making the Leap to Tech Lead
cromwellryan
135
10k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
WCS-LA-2024
lcolladotor
0
820
How GitHub (no longer) Works
holman
316
150k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Transcript
真のサーバーレスへ向けたAuroraの進化 Aurora Limitless Database クラスメソッド株式会社 岩⽥ 智哉 1
2 ⾃⼰紹介 l クラスメソッド株式会社 サーバーサイドエンジニア l 2023 Japan AWS Top
Engineer l 2023 Japan AWS All Certifications Engineer l 前⼗字靭帯再建⼿術リハビリ中 l re:invent2023不参加😭 岩⽥ 智哉
3 Aurora Limitless Database!!
4 Aurora Limitless Databaseの概要 • Monday Night Liveで発表されたAuroraの新機能 • 書き込み性能を(スケールアップではなく)スケールアウトできる︕︕
• シャーディングの技術を応⽤しつつ、シャーディングの⾟みを解消 • 数100万/秒のトランザクションを処理可能 • ペタバイトクラスのデータを管理可能 • 現在プレビュー申請受付中 • 現時点ではPostgreSQL互換のみ
5 データベースのシャーディング id mod 4 1 2 3 4 •
クライアントはどのシャードに接続するべき︖ • シャードを跨いだ操作はどうする︖ • どうやって⼀貫性を保証する︖ • ノードのリバランシングはどうする︖︖ 「シャード」という単位で分割管理する技術 シャーディングは難しい… cluster1 cluster2 cluster3 cluster4
6 シャーディングの複雑さを解 消し、ユーザーが意識すべき ポイントを減らしているのが Aurora Limitless Database
7 注意事項 プレビュー申請出しましたが まだ触れてません ドキュメントもまだ公開されていなさそうな ので、re:inventの各セッションから集めた情 報に妄想を混じえながら説明していきます
8 Aurora Limitless Database を⽀える技術 •Grover •Caspian •Amazon Time Sync
Service
9 Grover 「AWS re:Invent 2023 - Monday Night Live Keynote
with Peter DeSantis 」より https://youtu.be/pJG6nmR7XxI?si=KThIxLju1QTU3TzM
10 Grover • Auroraのストレージエンジン • 3つのAZにまたがってAZ毎に2箇所に分散書き込み • Log based storage
11 Caspian • AWSが新たに開発したハイパーバイザ • インスタンスの再起動無しにスケールアップ可能 「AWS re:Invent 2023 -
Monday Night Live Keynote with Peter DeSantis 」より https://youtu.be/pJG6nmR7XxI?si=KThIxLju1QTU3TzM
12 Caspian management 「AWS re:Invent 2023 - [LAUNCH] Introducing Amazon
ElastiCache Serverless (DAT342)」より https://youtu.be/YYStP97pbXo?si=BRIzTArWEG8L98Kn
13 Amazon Time Sync Service • フルマネージドな時刻同期サービス • Precision Time
Protocol(PTP)をサポート(new!!) • マイクロ秒単位の時刻同期が可能に • コレをPostgreSQLのMVCCに活⽤ • MVCC…MultiVersion Concurrency Control
14 Amazon Time Sync Service 「AWS re:Invent 2023 - Monday
Night Live Keynote with Peter DeSantis 」より https://youtu.be/pJG6nmR7XxI?si=KThIxLju1QTU3TzM
15 分散システムの難しさ 0.000 0.005 0.004 0.006 commit commit 実際の時刻 commit
クライアント1 クライアント2 ノード1 ノード2 • ノード間で時刻はズレる • イベントの順序が逆転し得る
16 時刻の信頼区間が重ならないよう待機して対応 0.000 0.005 • 最早: 0.004 • 最遅: 0.006
• 最早: 0.005 • 最遅: 0.007 commit 待機… 実際の時刻 commit クライアント1 クライアント2 ノード1 ノード2 • 最早: 0.008 • 最遅: 0.010 commit 0.009 信頼区間の幅が⼩さいほど待機時間を短くできる
17 これらの技術を組み合わせ ることでシャーディングの 複雑さを解消
18 Aurora Limitless Databaseのアーキテクチャ概要 コンピューティングレイヤがさらに2つのレイヤに • Distributed transaction routers •
Data access shards 「AWS re:Invent 2023 - [LAUNCH] Achieving scale with Amazon Aurora Limitless Database (DAT344) 」より https://youtu.be/a9FfjuVJ9d8?si=W2r3a0rCPrJGVoXX
19 Distributed transaction routers • シャードグループのエンドポイントの背後で稼働 • ⾃動でスケールアップ/スケールアウト • データベースのメタデータを管理
• スキーマ • シャードキーとシャードのマッピング • トランザクション管理のためのタイムスタンプ管理 • クエリのプランニングと結果の集約
20 Data access shards • シャードキーに対応するテーブルの⼀部を管理 • referenceテーブル(後述)のコピーを所持 • ⾃動的にスケールアウトし、分割
• シャード内のローカルなクエリのプランニング • シャード内のローカルなトランザクション管理
21 シャードの管理 • シャードキーのハッシュに基づいてテーブルをフラグメントとい う単位で分割管理 • Transaction Routerはフラグメントへの参照を保持する • シャーディングされたテーブルは複数のパーティションに分割
「AWS re:Invent 2023 - [LAUNCH] Achieving scale with Amazon Aurora Limitless Database (DAT344) 」より https://youtu.be/a9FfjuVJ9d8?si=W2r3a0rCPrJGVoXX
22 Table slice • フラグメントはさらにスライスと呼ばれる単位に分割 • スケールアウトに伴うシャード分割時にスライスが移動 • ここでGroverが活躍︕︕ 「AWS
re:Invent 2023 - [LAUNCH] Achieving scale with Amazon Aurora Limitless Database (DAT344) 」より https://youtu.be/a9FfjuVJ9d8?si=W2r3a0rCPrJGVoXX
23 テーブルの種別 • sharded • シャーディングされるテーブル • co-located • 指定した別のテーブルと同じシャードに配置される
• reference • 全シャードにテーブル全体が複製される • standard • シャーディングされない普通のテーブル
24 shardedが向くテーブル • 書き込みが多いテーブル • シャードキーのカーディナリティが⾼いテーブル • 顧客テーブルを性別でシャーディングしても効果は薄い • ECサイトの顧客テーブルや受注テーブル
25 shardedかつco-locatedが向くテーブル • シャードキーを使って他のテーブルと結合されるテーブル • 単⼀シャード内でJOINが完結すれば処理が⾼速になる • ECサイトにおける受注テーブルなど • ※よく顧客テーブルと結合される
26 referenceが向くテーブル • 頻繁に参照・結合されるテーブル • 単⼀シャード内でJOINが完結すれば処理が⾼速になる • ECサイトにおける税率マスタなど • 書き込み頻度が少ないテーブル
• ACID特性を担保するために、全シャードにまたがる2相 コミットが必要になり、書き込み性能が出ない
27 テーブルの作り⽅ • DDLはPostgreSQL完全互換 • テーブルの種別やシャードキーはセッションパラメータをSETすることで指 定する • アプリのマイグレーション処理に⼀⼯夫必要になりそう •
AWS環境のマイグレーション処理のみSET⽂を流すなど 「AWS re:Invent 2023 - [LAUNCH] Achieving scale with Amazon Aurora Limitless Database (DAT344) 」より https://youtu.be/a9FfjuVJ9d8?si=W2r3a0rCPrJGVoXX
28 開発はどう変わる︖ • テーブルの種別は何が適切か︖ • シャーディングを意識したテーブル設計 • シャードキーは何が適切か︖ • 極⼒単⼀シャードで処理が完結するように設計
• SQLのアクセスパスや実⾏計画でもシャードを意識する
29 まとめ Aurora Limitless Databaseを使うと 従来Auroraだけではカバーしきれなかった ワークロードもカバーできるように プレビューに申し込んで ガンガン検証しましょう︕︕
30 以上 ありがとうございました
31