Share via


확장 가능 공유 데이터베이스의 동기화된 업데이트 수행

대체 보고 볼륨 세트를 사용하여 확장 가능 공유 데이터베이스 구성을 업데이트하는 경우 롤링 업데이트나 동기화된 업데이트를 통해 데이터베이스를 업데이트할 수 있습니다. 보고 데이터베이스에서 동일한 결과를 클라이언트로 반환하려면 동기화된 업데이트를 수행해야 합니다. 동기화된 업데이트에서는 이전 버전의 데이터베이스를 모든 서버 인스턴스에서 분리한 후 새 버전을 연결하게 됩니다.

다음과 같은 경우에 이 전략을 사용합니다.

  • 모든 보고 서버에서 동일한 결과를 클라이언트로 반환하기 위해 보고 데이터베이스의 동기화를 유지해야 하는 경우. 즉, 데이터베이스의 이전 버전과 새 버전이 동시에 존재하지 않아야 합니다.

  • 필요에 따라 현재 실행 중인 쿼리를 유지하는 것보다 중요한 최종 기한을 맞추기 위해 가능한 한 빨리 업데이트를 완료해야 하는 경우

모든 보고 서버에서 데이터베이스를 동기화하면 이전 버전의 데이터베이스 분리 단계와 새 버전의 연결 단계 사이에는 보고 데이터베이스를 일시적으로 사용할 수 없게 됩니다. 데이터베이스의 작동 중단 시간을 최소화하려면 모든 서버에서 새 데이터베이스 연결 단계를 시작하고 모든 서버에서 분리 단계를 완료한 다음, 마지막으로 가능한 한 빨리 각 보고 서버에 데이터베이스를 연결합니다.

분리 단계와 연결 단계 동기화

모든 서버 인스턴스에서 업데이트 주기를 동기화하고 필요에 따라 가능한 한 빨리 업데이트 주기를 완료하려면

  1. 각 보고 서버에서 새 데이터베이스가 포함된 대체 볼륨 세트를 보고 서버에 마운트하여 새 데이터베이스의 연결 단계를 시작합니다.

  2. 모든 보고 서버에서 분리 단계를 완료합니다. 시간적 제한을 받는 업데이트의 경우 이전 데이터베이스와 보고 볼륨을 분리하기 전에 장기 실행 쿼리를 모두 종료합니다.

  3. 각 보고 서버에서 새 데이터베이스를 서버 인스턴스에 연결합니다. 지정된 인스턴스에서 데이터베이스가 연결되는 즉시 해당 인스턴스에서 종료된 쿼리를 다시 시작할 수 있습니다.

다음 그림에서는 한 쌍의 대체 보고 볼륨을 사용하여 모든 서버 인스턴스에서 동기화되는 하나의 확장 가능 공유 데이터베이스를 유지 관리하는 방법을 설명합니다.

2개의 보고 볼륨을 사용하는 확장 가능한 공유 데이터베이스

이 그림에서는 한 쌍의 대체 보고 볼륨을 사용하여 수행된 보고 데이터베이스의 2.5회 업데이트 주기를 보여 줍니다. 처음에는 보고 데이터베이스가 없습니다.

  1. 볼륨 A에서 새 보고 데이터베이스 작성: 두 보고 볼륨 중 하나인 A가 프로덕션 서버에 마운트되고 읽기/쓰기 가능으로 표시됩니다. 초기 버전의 보고 데이터베이스가 작성됩니다. 그런 다음 보고 볼륨이 읽기 전용으로 표시되고 분리됩니다.

    [!참고]

    대체 볼륨은 아직 사용하지 않습니다.

  2. 볼륨 A의 연결 단계: 각 보고 서버에서 볼륨이 읽기 전용 볼륨으로 마운트되고 각 서버 인스턴스에 연결됩니다.

  3. 볼륨 A에서 보고 데이터베이스를 확장 가능 공유 데이터베이스로 사용할 수 있는 동안 두 번째 업데이트 주기에서 새로운 최신 버전의 데이터베이스를 작성하기 위해 다른 보고 볼륨 B가 프로덕션 서버에 마운트되고 읽기/쓰기 가능으로 표시됩니다. 볼륨 B에서 새 버전의 보고 데이터베이스가 준비되면 해당 볼륨이 분리됩니다.

  4. 볼륨 A의 분리 단계와 볼륨 B의 연결 단계는 겹쳐집니다.

    • 먼저 대체 볼륨 B가 보고 서버에 마운트됩니다.

    • 볼륨 A의 이전 데이터베이스가 분리됩니다.

    • 볼륨 B의 새로 고친 보고 데이터베이스가 각 보고 서버에 연결됩니다.

    • 마지막으로 볼륨 A가 각 보고 서버에서 분리됩니다.

  5. 볼륨 B에서 보고 데이터베이스를 확장 가능 공유 데이터베이스로 사용할 수 있는 동안 이전 버전의 보고 데이터베이스를 새로 고치기 위해 다른 보고 볼륨 A가 프로덕션 서버에 마운트되고 읽기/쓰기 가능으로 표시됩니다. 이 과정에서 기존 데이터베이스를 업데이트하거나 완전히 새 데이터베이스를 작성할 수 있습니다.