TwitterのDBモデルについて

下記機能をもったTwitterの様なSNSアプリを開発したいと考えています。

  • 投稿機能
  • 投稿に対するリツイート機能
  • リツイートに対するリツイート機能

今回は相当な件数のツイートを見込むため、下記の様なシンプルなDBでは問題が起こるのではないかと漠然と不安に思っています…

  • Userテーブル
    – tweet (tweet)
  • Tweetテーブル
    – comment (text)

もし同じ様なアプリを開発し上手くいったDBの例がございましたら是非情報共有をして頂きたいです。
よろしくお願い致します!

機能ごとにテーブルを分けた方がよくないでしょうか?
具体的には、ログイン機能と投稿機能は別なので、tweetカラムはUserテーブルではなくTweetテーブルに持つべきだと思います。

「いいね!」 2

ご意見ありがとうございます!

上手く理解できておらず恐縮ですが、
Userテーブルからtweetを切り離してしまうと、ユーザーとツイート内容が紐付かなくならないでしょうか。

私の説明が不足していたので申し訳ないのですが、
Tweetの機能には、投稿文、誰がツイートしたのか、どの投稿に対するリツイートなのかの3点が含まれるDBをご存知でしたら教えて頂きたいです :bowing_man:

Bubbleでは、自分で作ったテーブルを、カラムの型に指定できます。

・投稿文はbody(text型)
・誰がツイートorリツイートしたかは、あらかじめ用意されているCreator(User型)
・リツイートの場合は、retweet(Tweet型)
とするのはどうでしょう。
(他にもやり方はあると思います)

「いいね!」 2

ありがとうございます!

あらかじめ用意されているCreator(User型)

そうでしたね :sweat_drops:

こちら参考にさせて頂きます!

また開発する中で不明点が出てきましたらご指導ください。
引き続きよろしくお願い致します。