データアクセスパターンと整合性モデル

AWS データストアの活用

Dunieski Otano

AWS Solutions Architect

画一的アプローチの限界

  • 商品カタログ:毎秒数千回の読み取り、更新は少ない
  • ショッピングカート:頻繁な書き込み
  • 注文システム:データ損失は許容不可
  • アクセスパターンが異なれば、必要なデータストア戦略も異なります

users

AWS データストアの活用

一時ストレージと永続ストレージのパターン

  • 永続ストレージ:再起動後もデータが保持される

    • ディスクに保存され、削除するまで残ります
    • AWSの例:DynamoDB、S3、RDS、OpenSearch
    • 用途:ユーザーデータ、トランザクション、ファイル、レコード

    persistent

  • 一時ストレージ:再起動するとデータが消える
    • メモリに保存され、一時的な利用を前提とします
    • AWSの例:ElastiCache、EC2 Instance Store
    • 用途:セッションデータ、キャッシュ、一時計算

ephemeral

AWS データストアの活用

読み取り重視と書き込み重視のワークロード

  • 読み取り重視:読み取りが多く、書き込みは少ない
    • 例:商品カタログ、ブログ記事
    • 推奨:キャッシュを使ったDynamoDB、S3
  • 書き込み重視:頻繁な更新
    • 例:IoTセンサー、クリックストリームデータ
    • 推奨:自動スケーリング対応のDynamoDB
  • バランス型:読み取りと書き込みが均等
    • 例:SNSの投稿、コメント
    • 推奨:均等キャパシティのDynamoDB

bars

AWS データストアの活用

整合性モデルの実践

  • 強整合性:常に最新データを返す
    • 速度は遅いが、正確
    • 用途:金融データ、在庫数
  • 結果整合性:古いデータが返る場合がある
    • 速いが、短時間の遅延が生じる可能性あり
    • 用途:ユーザープロファイル、商品説明
  • DynamoDB コンソールConsistentRead パラメータ

 

table_query

AWS データストアの活用

AWSコンソールでのサービス確認

  • DynamoDB コンソール:テーブル、アイテム、クエリ
  • S3 コンソール:バケット、オブジェクト、プロパティ
  • ElastiCache コンソール:Redis/Memcached、ノード、メトリクス
  • サービスごとにリソースの構成が異なります

services

AWS データストアの活用

パターンとサービスの対応付け

  • 読み取り重視+結果整合性 → DynamoDB、S3
  • 書き込み重視+高スループット → DynamoDB
  • キャッシュ層 → ElastiCache
  • 全文検索 → OpenSearch

consistency

AWS データストアの活用

練習しましょう!

AWS データストアの活用

Preparing Video For Download...