書き込みフロー:
i. Distributed Transaction Router (DTR):
クライアントからの書き込みリクエストを受信。
トランザクションを解析し、適切なシャードにルーティング。
必要に応じて、分散トランザクションを管理。
ii. Data Access Shards:
各シャードがデータを受け取り、内部ストレージに書き込み。
シャード間の整合性を維持するため、2
フェーズコミットなどのプロトコルを使用。
iii. Storage Layer:
各シャードのデータは、Aurora
の分散ストレージに保存され、マルチAZ
間で同期的にレプリケー
ト。
17
Slide 18
Slide 18 text
読み取りフロー:
i. Distributed Transaction Router (DTR):
クライアントからのクエリを受信し、解析。
クエリに関連するシャードを特定し、リクエストをルーティング。
ii. Data Access Shards:
該当シャードがデータを取得。
必要に応じて、複数シャードからデータを集約。
iii. DTR:
集約したデータをクライアントに返送。
18
Slide 19
Slide 19 text
制約と注意点
シャードキーの偏りによる負荷集中
偏りのあるキー選択で特定シャードに負荷が集中(ホットシャード問題)
複数シャードをまたぐ分散クエリは性能低下を招くため、適切なテーブル設計が必要
DB
シャードグループの容量制限
最大容量: 16
~6,144 ACU
初期設定時の最大容量に基づきルーターとシャード数が決定。
負荷に応じてリソースが自動スケール
19