0
1

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の高速化とイベント駆動】SAA先生に学ぶAWSの全容と授業メモ

0
Posted at

高速化とイベント駆動という「裏方強化」の話

DynamoDBは、そのままでも十分速い。
が、もっと早くなるらしい…

DAXは“近道を用意する”仕組み

DAX(DynamoDB Accelerator) を有効にすると、
DynamoDBの前段にインメモリキャッシュが置かれる。

奥の倉庫(DynamoDB)まで毎回取りに行くのではなく、
受付横の棚(DAX)からサッと渡される、そんな構図。

  • 読み取り専用の高速化
  • レスポンスはミリ秒 → マイクロ秒単位
  • アプリ側の実装変更は最小限

性能だけ見るとかなり魅力的だけど、
この棚、とにかく高い

需要が急に増えたから一時的に使う、というよりは、
「常に大量アクセスが来る前提」の現場向け。
スパイク対策というより、常設の近道という印象に落ち着いた。

DynamoDB Streamsは“動き出す合図”

一方で、DynamoDB Streams は速さの話ではない。

テーブルへの

  • Put
  • Update
  • Delete

こうした変更をきっかけに、
「今、何か起きたよ」というイベントを外に流す仕組み。

この通知を受けて、Lambdaが自動で動く。
DBが黙って保存するだけでなく、
自分から合図を出す側に回る。

イメージとしては、

  • DynamoDB:受付
  • Streams:呼び出しベル
  • Lambda:裏方スタッフ

誰かが来た瞬間に、
裏で処理が走り出す。

DynamoDBはただの保管場所じゃなかったんだ!

SAA的に押さえておきたいポイント

ここで、試験目線でも一度整理しておく。

DAXが向いている場面

  • 読み取り頻度が非常に高い
  • レイテンシがビジネス要件に直結する
  • キャッシュ整合性をある程度割り切れる

「RDS + ElastiCache」のDynamoDB版、
くらいの立ち位置で覚えると混乱しにくい。

DynamoDB Streamsが効いてくる場面

  • DB変更をトリガーに処理したい
  • 非同期で後続処理を流したい
  • イベント駆動アーキテクチャを組みたい

SQSやEventBridgeと並んで、
「疎結合を作るための部品」という印象が強くなった。


速くするか、動かすか

DAXとStreamsは、
同じDynamoDBの機能だけど、
向いている方向はまったく違う。

  • DAX:速く返す
  • Streams:次を動かす

ここを混ぜて考えると混乱するけれど、
役割を分けると急に見通しが良くなった。

この辺りでようやく、
DynamoDBが「ただのNoSQL」ではなく、
システムの起点にもなれる存在だと感じ始めた。

まだ設計で使いこなせる段階ではないけれど、
少なくとも、
「速いDB」以上のものが詰まっているのは分かってきた。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?