タグ

AWSと設計に関するf-sugerのブックマーク (3)

  • DynamoDBデータモデリング虎の巻:第参巻 〜実践編〜 - misc.tech.notes

    前巻のおさらい 前巻はDynamoDBのデータモデリングをするにあたって必要な考え方について、RDBとの対比を交えながら触れてきました。 marcy.hatenablog.com 今回は この巻では、実際にどのようにデータモデリングしていけば良いのかといった実践的な内容を、いくつかの汎用的と思われるパターンを例にしつつ書き記していきたいと思います。 たぶん、今までの3巻の中で一番今までの巻を理解していないとピンと来ない内容だと思うので、まずは第壱巻と第弐巻を読むことをオススメします。 Partition Keyの決め方 まずは、DynamoDBでテーブルを作る際に必ず必要な Partition Key の決め方です。前巻では以下のように書きましたが、じゃあ実際にその識別子はどうやって採番するのか?ということです。 ECサイトなら「ユーザ」「商品」「注文」といった特定の意味のある存在を表す実

    DynamoDBデータモデリング虎の巻:第参巻 〜実践編〜 - misc.tech.notes
  • DynamoDBデータモデリング虎の巻:第弐巻 〜考え方編〜 - misc.tech.notes

    前巻のおさらい 前巻はDynamoDBのデータモデリングをする前に知っておいた方が良いDynamoDB自体の仕組みやデータ構造のお話でした。 marcy.hatenablog.com 今回は 今回はデータモデリングを行う際に必要なマインドセット、つまり「考え方」について書き記したいと思います。非常によく聞かれる「RDBとの考え方の違い」といった切り口で進めていきたいと思います。 RDBとはアプローチが真逆 RDBのデータモデリングをする場合、まず正規化されたデータのスキーマを決めることから始めると思います。慣れてくると律儀に第一正規化から始めずにいきなり第三正規形あたりから設計しだすことも多いと思います(私もそうです) そして、データのスキーマが決まってからそれに対してどのようにアクセスするか(=SQL)をアプリケーションを設計する際に考えていくというのがRDBでの一般的なアプローチではな

    DynamoDBデータモデリング虎の巻:第弐巻 〜考え方編〜 - misc.tech.notes
  • DynamoDBデータモデリング虎の巻:第壱巻 〜前提知識編〜 - misc.tech.notes

    動機など 最近、Serverlessの文脈からDynamoDBのテーブル設計の相談を受けることが多くなってきていて、Podcastでも話したけどけっこう図とかが無いと説明しづらい領域なので、まとまった資料がほしいなということでまとめてみる。 cloudinfra.audio どう考えても長編大作エントリ不可避なので気力が続けば第二巻以降に続きます…!(フィードバックが多いと頑張れるかも…!) 巻の対象と前提知識 巻はDynamoDBのデータモデリングにスコープを絞っています。DynamoDBおよびデータベースの一般用語などについての説明は省きます。 前提知識としては以下のようなものになるかと思います。 DynamoDBのサービスとしての概要や用語( WCU , RCU , GSI , LSI など)を知っている Hash TableやB-Tree(B+Tree)といったデータ構造がどん

    DynamoDBデータモデリング虎の巻:第壱巻 〜前提知識編〜 - misc.tech.notes
  • 1