前提・実現したいこと
FireBaseを使用したRDBによるwebアプリケーションを作成したいと思っています。
デザイン - フロントエンドが専門であり、バックエンドの下地はほぼありません。
JSについては実務レベルの経験(〜8年)があります。
DBの設計について、概念的な質問をしたいです。
イメージとして、「ユーザーが任意で投稿できるwebサービス」を想像してください。
まず、サービス側から1つのpostが行われます。
これは始祖です。(階層レベル0)
それに対し、ユーザーはそれぞれ回答をpostします。
回答は複数行われ、それらは同列として扱われます。
これは始祖に対する子孫です。(階層レベル1)
この時点で、回答は最低限「自分の親が誰か」は書き込みます。
さらに、回答に対してユーザーはそれぞれ回答をpostします。
回答は複数行われ、それらは同列として扱われます。
これは子孫に対するさらなる子孫です。(階層レベル2)
この時点で、回答は最低限「自分の親が誰か」は書き込みます。
※この時点で始祖は誰か、は持つべきなのかどうかも伺いたいです。
これを繰り返していくと、単一の始祖を起点として、
家系図のように展開していくと思います。
親子関係のレベルで1000階層程度は想定したいです。
このとき、
- このツリー構造を効率的に画面に描写したい
- 末端のpostを起点として、始祖まで一気に画面に描写したい。postは自分自身の親が誰か、は把握しているが、それを再帰的に始祖に当たるまで繰り返す事になると、DB負荷なり転送量に大きなデメリットがあり、ベターではないのではないかと、拙い理解で不安に思っている。
どのようなアプローチが最適なのか、広く皆様の見解を伺ってみたいです。
回答3件
あなたの回答
tips
プレビュー