찾다

 >  Q&A  >  본문

nosql - 对于prod环境升级mongodb数据结构有没有什么best practice

目前有一些工具可以很方便的升级线上的数据库的结构,比如ruby写的rails以及php的doctrine都有migration,不知道mongodb有没有很方便升级库结构的方法。

高洛峰高洛峰2799일 전835

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

  • PHP中文网

    PHP中文网2017-04-21 10:59:11

    MongoDB 데이터베이스를 업그레이드하는 것이 비교적 편리합니다. 특별한 버전 업데이트가 없는 이상 기본적으로 서비스를 중단할 필요는 없습니다.

    1. 데이터 구조가 변경되면 MongoDB의 Schema-free 메커니즘을 사용하여 마이그레이션 없이 마이그레이션할 수 있습니다.

    2. 새 버전의 새로운 기능을 사용하려면 데이터를 마이그레이션해야 합니다. 더 일반적인 방법은 복제 메커니즘을 이용하는 것입니다. 해당 버전의 공식 릴리스 노트를 보면 일반적으로 업그레이드 중에 복제를 사용할 수 있는지 여부가 명시되어 있습니다. 그런 다음 마이그레이션을 수행하기 위해 서비스를 중지해야 할 수도 있습니다.

    3. 마이그레이션을 위해 서비스를 중지하기 전에 mongodump 및 mongorestore를 통해 현재 데이터를 마이그레이션한 후 서비스를 중지한 후 증분 데이터를 마이그레이션할 수도 있습니다.

    회신하다
    0
  • 阿神

    阿神2017-04-21 10:59:11

    아니요. 프로그램에 대한 동의는 본인만 할 수 있습니다.

    이것은 또한 이러한 유형의 문서 중심 데이터베이스의 가장 큰 문제이기도 합니다. 개발자가 어느 정도 필드를 삽입하는 경우 클라이언트 측에서 하나의 데이터베이스 구조만 유지할 수 있기 때문에 개발 시 주의해야 합니다. 서버에 허용됩니다.

    더욱 괴로운 점은 클라이언트가 고유하지 않은 경우가 있어 서로 다른 클라이언트에서 동일한 데이터 구조를 유지해야 하므로 데이터 구조 업그레이드에 큰 불편을 초래한다는 점입니다. 문서 지향 디자인은 원래 데이터 구조에 대한 의존성을 해방시키려는 의도였지만 데이터 구조 규칙의 부족으로 인한 임의성을 해결하지는 못했습니다.

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