Firestoreを使って、"1対1"ではなく、"1対多(1 : N)"のslackの様なグループチャットシステムを作ろうとしています。
ただ、firestoreのchatコレクションのdocumentの構造が
chatId: "チャットのId" message: "チャットの投稿テキスト" senderId: "投稿した人のID"
だとすると、
一テキストごとに、毎度毎度、ユーザーの変更する可能性のあるユーザーの名前やimageを取得するクエリーを投げなければならず、
負荷的に正しいチョイスなのか懸念しています。
Relationalなデーターベースだと、クエリーが強く、
データーベースをジョインすれば、一回のクエリーでチャットメッセージとそのユーザーの詳細情報も取ってこれると思うので、
GCPで言うと、cloud sqlの様な物を使って、グループチャットを作った方が良いのでしょうか。
SNSみたいなアプリを作ろうとした時に、ユーザーのフォローワーを取得する時にも同じことが言えるので、
firestoreの利用は、基本的に変更のなく、他のテーブルと関係性のないデータを扱うのがベストなのかもしれないと思い始めてきました。
フロントでJoinすることも考えられますが、大規模なシステムの場合を想定しているので、大丈夫そうか懸念です。
Slackの様に高速なグループチャットの機能を実現したいです。
DBにFirestoreかSQLのどちらを採用すべきかを中心にアドバイスよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/19 10:26
退会済みユーザー
2019/07/19 10:31
2019/07/19 10:42
退会済みユーザー
2019/07/19 11:24
退会済みユーザー
2019/07/21 10:49
2019/07/21 11:36
退会済みユーザー
2019/07/21 12:25
退会済みユーザー
2019/07/21 12:26
2019/07/22 07:20
退会済みユーザー
2019/07/23 08:42 編集
退会済みユーザー
2019/07/23 08:51