Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RDB脳はあなたに送る KVSモデリングのノウハウを公開! AWS DynamoDB、AzureCosmosDBでのKVS設計はこうしよう!

mogamin
December 01, 2020

RDB脳はあなたに送る KVSモデリングのノウハウを公開! AWS DynamoDB、AzureCosmosDBでのKVS設計はこうしよう!

近年のデータベースモデリングでは、RDBだけでは対応できなくなりました。パフォーマンスを求め正規化を崩してまでも実装することが多くなったKVS。RDB脳なあなたにお送りするKVSモデリングのノウハウをご紹介します。

mogamin

December 01, 2020
Tweet

More Decks by mogamin

Other Decks in Technology

Transcript

  1. ◼ C R U D M I T 1 シナリオA

    1-1 ログイン処理 ログイン メールアドレス、パスワードで認証する 1 1 1 Q メールアドレス ハッシュパスワード、有効フラグ 1-2 トークン発行 トークンを発行する 1 1 1 G IDPメタデータ 優先順位(値) 1-3 セッション情報保存 セッション情報の有効期間取得 1 1 G 設定、セッション保存期間 セッション保存期間 1-4 後続処理で使用する受信・送信パラメータを セッションIDに紐づけて保存 1 1 PD セッションID 状態、有効期限、スコープ、削除日時 2 シナリオB 2-1 ・・・ ・・・ 2-2 ・・・ 2-3 ・・・ 検索項目 操作対象の項目 機能概要 機能 機能分類 # 操作 テーブル 操作
  2. ◼ C R U D M I T 1 1

    1 Q メールアドレス ハッシュパスワード、有効フラグ 1 1 1 G IDPメタデータ 優先順位(値) 1 1 G 設定、セッション保存期間 セッション保存期間 メータを 1 1 PD セッションID 状態、有効期限、スコープ、削除日時 検索項目 操作対象の項目 操作 テーブル 操作 操作詳細 P PD G GS Q QS U D 読み込み 読み込み(強い整合性) 検索 検索(強い整合性) 更新(属性指定) 削除 内容 書き込み・更新(上書き) 書き込み(重複チェック)
  3. ◼ 新規 既存 他 Q 1 1 メールアドレス ハッシュパスワード、有効フラグ G

    1 1 IDPメタデータ 優先順位(値) G 1 1 設定、セッション保存期間 セッション保存期間 PD 1 1 セッションID 状態、有効期限、スコープ、削除日時 検索条件 操作対象の項目名 操作 アクセス
  4. ◼ ⚫ ⚫ ◼ テーブル名:XXXXXX Primary Key Attributes Partition key

    Sort key px_UUID 会社コード "comp_{XXX}" 事業内容コード business_cd 名称 name 電話番号 tel 残高 balance 登録日時 created_at トークン登録日時 "token_{会社コード}_{SEQ値}" トークン token 削除日時(TTL) deletion_datetime メタデータ "metadata" メンテナンスフラグ flag sx_UUID 固定値 "1"
  5. ◼ ◼ ◼ テーブル名:XXXXXX Primary Key Attributes Partition key Sort

    key px_UUID 会社コード "comp_{XXX}" 事業内容コード business_cd 名称 name 電話番号 tel 残高 balance 登録日時 created_at トークン登録日時 "token_{会社コード}_{SEQ値}" トークン token 削除日時(TTL) deletion_datetime メタデータ "metadata" メンテナンスフラグ flag sx_UUID 固定値 "1"