지금까지의 이야기 : 먼저 우리는 하나의 웹 애플리케이션과 하나의 데이터베이스를 가지고 있습니다. 그런 다음 제품 소유자는 첫 번째 애플리케이션을 스핀 오프하기로 결정했습니다. 첫 번째 애플리케이션은 옷을위한 사이트 였고 두 번째 사이트는 아기 옷 전용 사이트였습니다. 두 번째 앱에 대해 두 번째 데이터베이스를 만들었습니다. 그리고 세 번째, 네 번째, 네 번째. 데이터베이스의 정보가 교차하지 않았기 때문에 그 결정을 정당화 할 수 있습니다.MongoDB, 두 개 이상의 데이터베이스를 결합하는 방법
지금 : 제품 소유자는 수퍼 응용 프로그램을 만들기로 결정했습니다. 일반적인 이야기 : 사용자가 일부 제품에 대한 쿼리를 작성하고 그 결과에 여러 데이터베이스의 집계 된 데이터가 포함되어야합니다 (전부는 아니지만 k에서 n).
질문 : 우리 앞에 발생하게 될 공통적 인 문제를 해결할 수있는 공통 패턴이 있습니까?
첫 번째 방법 : (하나의 거대한 데이터베이스에 복사 된 모든 데이터베이스 데이터) 슈퍼 데이터베이스
- 프로 : 하나의 쿼리가 필요하다; 정렬이나 다른 필터링을 적용하는 것이 더 쉽습니다.
- cons : 항목의 원점 데이터베이스가 어떻게 다를 것입니까? ID의 충돌 일 수 있습니다. 정보의 시간 소모적이고 위험한 복사를 수행해야합니다. 같은 데이터베이스 (변화 없음)
- 프로 :
두 번째로 오래된 애플리케이션 접근 방식와 역 호환되지 않습니다 응용 프로그램이 호환 될 것입니다; 더 위험한 대처
- 단점가 없을 것입니다 : 하나 개의 쿼리가 여러 개의 쿼리가됩니다 (느리게, 더 열심히는 집계하기) MongoDB를이 (물론)가 조인없이이 있기 때문에 모든 여러 데이터베이스에서이 괜찮
이미 두 옵션을 모두 표시했습니다. 이제 하나 골라야합니다. –