#概要
複数のECサイトの商品情報を一元管理するシステムを構築したいと考えています。
インフラはAWSを利用し、データベースはDynamoDB、言語はNode.jsを利用します。
開発するにあたり、初めてデータベースの構築をしたいのですが、データベースのベストなデザイン設計についてアドバイスを頂きたいと思い投稿致しました。
#DynamoDBに保存する情報について
DynamoDBには、「商品情報」と「ユーザー情報」を保存したいと思いテーブルを2つ作りたいと思います。
しかし、AWSはドキュメントには「良いアプリケーションはテーブルは1つ」に書かれています。
初心者の私にとっても管理のしやすさを考えるとテーブルを1つにまとめるか、どちらか1つをS3へCSVで方法が良いのか迷っています。
####1)「商品情報」と「ユーザー情報」を1つのテーブルにまとめる案について、プロの皆様はどう思いますか?ベストな選択肢ですか?
####2)または「商品情報」と「ユーザー情報」のどちらかS3で管理すべきでしょうか?その場合、保存形式はCSVが良いのでしょうか?
#DynamoDBのテーブル デザイン設計について
下記のような項目を各テーブルに保存したいと考えています。
「商品情報」の場合、SKU、登録日、商品名、サムネイルURL、在庫
「ユーザー情報」の場合、ログインID、PW、登録日、連携している他社モール1~
なんとなく、検索しやそうだと言う理由で、複合キーテーブルを利用したいと考えております。ただソートキーは登録日を割り当てようと考えていますが、登録日で絞り込み検索する機会は無さそうです。LSIは使用は今の処考えておらず、将来的にGSIを利用するかもしれません。
####4) パーティションキーテーブル、または複合キーテーブルどちらを選択するか悩んでいます。やはり複合キーテーブルの方が使いやすいのでしょうか?
####5) ソートキーについて、登録日以外で良い割り当て先が思いつきません。ソートキーは検索する際にある程度絞れる項目が良いと思います。商品カテゴリだとまだ商品数は多いですし、その他に良い割り当て項目が思いつきません、何かアドバイスを頂けないでしょうか?
的外れな質問がございましたら、申し訳ございません。
何卒宜しくお願いします。s
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。