コメントの代わりにスレッドをメインエンティティとして使用するのはどうですか?最初にSQLと2つのスレッドを試してみましょう。最初のユーザーが最初のメッセージを2番目のユーザーに送信するときは、新しいスレッドを作成し、このスレッドを2人のユーザーとリンクします(ユーザーにはスレッドが多数あります)。メッセージそのものをJSONとして保存することができます。次に、各応答は同じJSON(同じvarcharまたは同様のフィールド)になります。このソリューションは、個々のメッセージを検索(または一覧表示)する必要がない場合に適しています。
例:次に
Users:
Id-Name
1-User1
2-User2
UsersByThread:
UId-TId
1-1
2-1
Threads
Id-JSON
1-'{"messages":[{"user":"User1","text":"blablabla"}]}'
、第2のユーザ応答は、簡単なJSONを取り、新しいメッセージを追加:第三者がスレッドに参加する場合は
Threads
Id-JSON
1-'{"messages":[{"user":"User1","text":"blablabla"},{"user":"User2","text":"blablabla"}]}'
を、単にあなたUsersByThreadにリレーションシップを追加し、JSONにメッセージを追加します。
ところで、同じアイデアをソファのようなnosqlストアや、redisのようなキー値ストアで使用することもできます。また、より自然なシステムをneo4jで作成することもできますが、これは通常のSQLデータベースでうまくいくと思います。
-1あなたの質問には答えられません。私はここにnoSQLのソリューションを期待していて、見つけられませんでした。この質問は、SOやコミュニティに役立つものではありません。 –