찾다

 >  Q&A  >  본문

nosql - mongodb如何设计schema

我们都知道mongodb是一种面向文档的数据库,但是它的灵活性并不意味着你不需要对其进行结构设计,在代码实施之前进行结构设计是十分必要的。

但是这样问题就来了,目前我们用的几乎所有的数据库设计工具都无法表现出mongodb这种面向文档的数据结构,那么我们在做设计的时候怎么样把我们的结构清晰的展现给别人呢,我可不想用ps一个一个去画框图。

PHP中文网PHP中文网2799일 전964

모든 응답(3)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-21 10:59:19

    사실 공식 홈페이지의 디자인 철학이 꽤 괜찮아요(http://www.mongodb.org/display/DOCS/S...)
    MongoDB와 기존 SQL 스키마 설계의 가장 큰 차이점은 모델 관계를 표현하는 데 어떤 방법이 더 좋은가입니다(MongoDB에서는 Link 또는 Embedded 중 하나를 사용할 수 있습니다)

    간단한 요약:

    1. FirstClass(예: "사용자")는 독립적인 컬렉션을 사용해야 합니다
    2. "항목 유형"이 포함되어야 합니다
    3. 두 모델 사이에 포함 관계가 있는 경우 임베디드 사용
    4. 다대다 관계의 경우 링크를 사용하세요(SQL의 외래 키와 유사)
    5. 모델이 아주 적은 수의 개체를 저장할 수 있는 경우 mongodb 서버 캐시에 도움이 되는 독립적인 컬렉션을 사용하세요.
    6. 임베디드 방법은 복잡한 연관 및 복잡한 쿼리에 도움이 되지 않습니다
    7. 임베디드 방식은 성능상 큰 장점이 있습니다. "성능" 요구 사항이 있는 경우 임베드 사용을 고려해 볼 수 있습니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 10:59:19

    저는 여전히 mongodb를 일반 db로 취급하고 컬렉션을 테이블로 취급하는 데 익숙하며 각 컬렉션의 데이터 구조는 일관되게 유지됩니다.
    이것이 합리적인지는 모르겠지만 적어도 내 생각은 더 명확해졌습니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-21 10:59:19

    NoSQL은 독특한 디자인 철학을 가지고 있으며, RDB 사고에 영향을 받지 않는 것이 좋습니다.
    또한 읽어볼 만한 기사를 추천합니다:
    MongoDB 레코드 매핑 스키마 Extremely Free Java Entity

    회신하다
    0
  • 취소회신하다