사실 공식 홈페이지의 디자인 철학이 꽤 괜찮아요(http://www.mongodb.org/display/DOCS/S...)
MongoDB와 기존 SQL 스키마 설계의 가장 큰 차이점은 모델 관계를 표현하는 데 어떤 방법이 더 좋은가입니다(MongoDB에서는 Link 또는 Embedded 중 하나를 사용할 수 있습니다)
간단한 요약:
FirstClass(예: "사용자")는 독립적인 컬렉션을 사용해야 합니다
"항목 유형"이 포함되어야 합니다
두 모델 사이에 포함 관계가 있는 경우 임베디드 사용
다대다 관계의 경우 링크를 사용하세요(SQL의 외래 키와 유사)
모델이 아주 적은 수의 개체를 저장할 수 있는 경우 mongodb 서버 캐시에 도움이 되는 독립적인 컬렉션을 사용하세요.
임베디드 방법은 복잡한 연관 및 복잡한 쿼리에 도움이 되지 않습니다
임베디드 방식은 성능상 큰 장점이 있습니다. "성능" 요구 사항이 있는 경우 임베드 사용을 고려해 볼 수 있습니다.
사실 공식 홈페이지의 디자인 철학이 꽤 괜찮아요(http://www.mongodb.org/display/DOCS/S...)
MongoDB와 기존 SQL 스키마 설계의 가장 큰 차이점은 모델 관계를 표현하는 데 어떤 방법이 더 좋은가입니다(MongoDB에서는 Link 또는 Embedded 중 하나를 사용할 수 있습니다)
간단한 요약:
저는 여전히 mongodb를 일반 db로 취급하고 컬렉션을 테이블로 취급하는 데 익숙하며 각 컬렉션의 데이터 구조는 일관되게 유지됩니다.
이것이 합리적인지는 모르겠지만 적어도 내 생각은 더 명확해졌습니다.
NoSQL은 독특한 디자인 철학을 가지고 있으며, RDB 사고에 영향을 받지 않는 것이 좋습니다.
또한 읽어볼 만한 기사를 추천합니다:
MongoDB 레코드 매핑 스키마 Extremely Free Java Entity