0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DynamoDBのRCU(読み込みキャパシティーユニット)とは?

Posted at

AWSのNoSQLデータベース「DynamoDB」を使うときに必ず出てくるのが RCU(読み込みキャパシティーユニット)
「なんとなくわかるけど、実際どれくらい必要なの?」「どうやって計算すればいいの?」と疑問に思ったことはありませんか?


✅ RCUとは?

RCU(Read Capacity Unit) は、DynamoDBでデータを**読み込むときの処理能力(スループット)**を表す単位です。

簡単に言うと、「1秒間にどれだけ読み込めるか」の目安になります。


📏 1RCUでできること

1RCUがカバーする読み込みの量は次の通り:

読み込みタイプ 1 RCUで処理できる内容
強い整合性(Strongly Consistent Read) 4KBのデータを1回/秒 読み込み可能
結果整合性(Eventually Consistent Read) 4KBのデータを2回/秒 読み込み可能
トランザクション読み込み 4KBのデータを0.5回/秒(つまり2RCU必要)

🔍 強い整合性 vs 結果整合性って?

  • 強い整合性:最新のデータが必ず返ってくる(1RCU = 1回)
  • 結果整合性:多少遅れていてもいい(1RCU = 2回)
     → よりRCUを節約できる!

📊 実際のRCUの計算例

例:1つのアイテムが8KBで、結果整合性の読み込みを毎秒100回したい

1回の読み込みで必要なRCU:

  • 8KB ÷ 4KB = 2RCU(1リクエストにつき)

でも結果整合性なので:

  • 2RCU ÷ 2 = 1RCU

→ 100回/秒 × 1RCU = 100RCU 必要!


⚙️ オンデマンドとプロビジョニング

DynamoDBでは2つの料金モードがあります:

① オンデマンドモード(自動でスケーリング)

  • リクエスト数に応じて自動でRCUが増減
  • 小規模〜中規模で変動が大きいアプリにおすすめ

② プロビジョニングモード(手動設定)

  • RCU/WCUを明示的に設定
  • 安定したトラフィックがある場合にコスト削減可能

💡まとめ

  • RCUは「読み込みの処理能力(スループット)」の単位
  • 読み込みタイプやデータサイズで必要なRCUが変わる
  • コストに関わるので、アクセスパターンに合わせて適切に設定するのが大切!
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?