質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon DynamoDB

Amazon DynamoDBは、 AWS上のNoSQLデータベースサービスです。フルマネージド型のサービスで、スキーマレス、高速且つ安定性のある動作、自動的に容量を変更する自動スケーリングなどの特徴を持ちます。

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

2538閲覧

Dynamodbのテーブル間の関係について

YYY_1232

総合スコア5

Amazon DynamoDB

Amazon DynamoDBは、 AWS上のNoSQLデータベースサービスです。フルマネージド型のサービスで、スキーマレス、高速且つ安定性のある動作、自動的に容量を変更する自動スケーリングなどの特徴を持ちます。

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2020/02/13 06:05

#Dynamodbのテーブル間の関係について

dynamodbを用いたAPPの設計をしているのですが前提要件として下記があります。
①テーブルについては3つ用意する(A,B,C)
②AとBについては1:N
③BとCについては1:N
④Aに紐づくBを全件取得できる
⑤Bに紐づくCを全件取得できる
⑥Cに紐づくBとそのBが属するAを全件取得する

#疑問点
Dynamodbの公式ドキュメントを読んだところそもそもテーブル間の結合が不可のため
テーブル間で1:Nの関係が組めないと行き着いたのですが
実行できるような方法があるのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

以下参考
DynamoDBデータモデリング虎の巻:第弐巻 〜考え方編〜

Serverless(Lambda)とRDBの相性が悪いのはコネクションモデルと現状避けられないVPC内で起動するLambda FunctionのENI生成オーバヘッドによるものです。つまり、オンラインで使おうとするから悪いのです。これらは、トランザクションが必要な処理をKinesisを挟んだバックグラウンド処理に置き換えることで、コネクション数をコントロールすると共に一定数が常時起動となることによってオーバヘッドも避けることが可能です。そして、RDBによるトランザクションの成功を以てDynamoDBのデータも更新して、オンラインの参照はそちらを見るようにすれば良いのです。結果整合さえ受け入れられればやり方はいくらでもあります。

~中略

RDBは正規化することで特定の事実を示すレコードを一箇所とし、データの整合性を守ります。これは、 リレーションシップ と 外部キー制約 という整合性を守る仕組みと、必要なら JOIN をすることでその一箇所にしかない事実を的確に取得できる仕組みに裏打ちされたものです。そして、DynamoDBは JOIN ができません。また、前述したようにテーブルは極力少なくしなくてはなりません。

そんな リレーションシップ も JOIN も無いDynamoDBで、どのように整合性を守りつつ読み込みの効率化をすれば良いのでしょうか?その答えが、読み込みと書き込みの分離です。

投稿2020/02/13 06:29

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問