파이어베이스는 데이터베이스는 JSON Tree입니다. 따라서 권장하는 데이터구조가 Flat한 형태입니다. 즉, 최대한 Tree를 구성할 떼, 가지의 레벨이 적게끔 디자인하는게 핵심입니다. 님의 경우를 예를 들면,
User테이블을 아래처럼 nested(중첩?) 구조로 만들 수도 있고,
User
- id
- name
- UserGroup
- id
- name
- Event
- date
- name
다음과 같이 단계가 적은 flat한 구조로 만들 수도 있습니다.
UserGroup
- id
- name
User
- id
- name
- groupId
Event
- uid
- date
- name
사용하기에는 첫번째 구조가 편하지만, 성능상으로는 두번째 구조가 권장됩니다. 두번째의 경우는 앱에서 조인을 해주셔야할 일이 생길 것 같습니다.
파이어베이스의 관련문서를 보시고 어떻게 설계를 하는 것이 좋은지 공부를 하시기를 권장드려요. 유투브링크 참고하세요.
https://www.youtube.com/watch?v=rffbpMzLrZ0