1. MongoDB 설계 방식

1.1. 기존 MySQL에서 사용하던 패턴을 사용

2. Workspace 단위로 Document를 생성하여 그 안에서 Object를 관리

3. 1과 2의 절충안 → populate

Workspace
ID
object [object, …]
Workspace
ID
object [objectID, …]
Object

결론

1의 경우 MongoDB의 문자열 검색이 MySQL에 비해 현저히 느리다는 자료가 존재, 하나의 Workspace에서 수많은 Object를 생성하면 다른 Workspace의 Object 탐색에 영향을 줄 수 있다고 판단하여 1안은 하지 않기로 결정함.

우선 2의 방법으로 구현한 후 성능이 심각하게 저하될 경우 3번에서 populate가 아닌 aggregate를 사용하자.

고려 사항