1. ホーム
  2. mysql

[解決済み] チャットメッセージをデータベースに保存する最適な方法とは?[クローズド]

2023-02-13 18:01:27

質問

私はチャットアプリを構築しており、チャット会話で送信されたすべてのメッセージの完全な履歴が欲しいと思っています。現時点では、各メッセージを 'messages' というテーブルの 1 行として保存しています。私は、'Hi' のような小さなメッセージでさえ独自のデータベース レコードを持つので、このテーブルが巨大になる可能性があることを認識しています。

どなたか、よりスケーラブルな mysql ソリューションを推奨していただけませんか?私は、個々のメッセージが検索可能、編集可能、または削除可能であることを必要としません。会話全体を 1 つの巨大なフィールドに格納することはできますか?

あなたのアイデアをぜひお聞かせください。

どのように解決するのですか?

データベースに全履歴を保存することは、何も悪いことではありません。

実際、Stack Overflowでチャットのスキーマの例へのリンクを見つけることができます。

それでもサイズが心配なら、グループメッセージにいくつかの最適化を適用できます。たとえば、アプリケーションにバッファを追加して、ある時間(1分程度)後にのみプッシュするようにします。