도시별 토론을 핵심 기능으로 하는 임대 부동산 커뮤니티 사이트를 구축 중입니다. 사용자 데이터에는 해당 사용자가 전문 지식을 가진 도시와 그 도시와의 관계(현재 거주 중, 과거에 거주했음 등)가 포함되어 있으며, 사용자는 전문 지식이 없는 상태에서 투자하고 싶은 도시에 대한 구독도 할 수 있습니다. 모든 도시는 카테고리로 구성되며, 사용자가 지도에서 도시를 탐색할 수 있도록 지오코딩된 데이터를 표시하는 커스텀 필드가 있습니다.
DB 효율성 측면에서 구조를 어떻게 잡아야 할지 고민되는 부분이 있습니다. 도시 페이지에 접속하면 해당 도시의 "회원 전문가"를 보여주는 피드가 표시됩니다. 카테고리 페이지를 렌더링할 때마다 모든 사용자를 조회하고 그들의 커스텀 필드 및 “전문가 도시” 커스텀 필드 해시를 매핑해야 한다면, 사용자 수와 도시 수가 증가할수록 상당히 느려질 것 같습니다.
자체 Rails 앱으로 구축했다면, 조인 테이블과 모델의 has_many_through 관계 등으로 쉽게 해결할 수 있었을 것입니다. 여기서 궁금한 점은 조인 테이블이 필요한 플러그인에 대해 권장되는 접근 방식이 무엇인지입니다. 커스텀 마이그레이션과 테이블은 권장되지 않는 것으로 보이며, 일반적으로 커스텀 필드나 PluginStore를 사용하는 것이 더 나은 것 같습니다. PluginStore에 대한 실제 문서를 찾지 못했지만, 현재 조사 중입니다.
어떤 방향으로 깊이 들어가기 전에 “공식 Discourse 권장” 접근 방식에 대해 물어보는 것이 현명하다고 생각되어 질문드립니다.