주 콘텐츠로 건너뛰기
미리 보기

Azure Analysis Services의 개선된 쿼리 복제본 동기화가 미리 보기로 제공됨

게시된 날짜: 1월 18, 2020

새로운 Azure Analysis Services 설정(미리 보기)은 스케일 아웃 환경에서 쿼리 복제본 동기화의 성능과 일관성을 개선합니다. 쿼리 스케일 아웃은 클라이언트 쿼리를 하나 이상의 쿼리 복제본으로 분산하여 동시성이 높은 워크로드의 응답 시간을 줄입니다. 쿼리 복제본 동기화는 데이터를 쿼리 복제본 데이터베이스에 복제합니다.

기본적으로 쿼리 복제본은 전체적으로(증분 방식 아님) 리하이드레이션되며, 단계적으로 수행됩니다. 쿼리 복제본은 한 번에 두 개가 분리됐다가 연결되어(최소 세 개의 복제본이 있다고 가정) 어느 시점에서든 하나 이상의 복제본이 쿼리에 대해 온라인 상태로 유지되도록 합니다. 클라이언트는 이 프로세스가 수행되는 동안 온라인 복제본 중 하나에 다시 연결해야 할 수 있습니다.

이제 새로운 ReplicaSyncMode 설정을 사용하여 쿼리 복제본 동기화를 병렬로 지정할 수 있습니다. 또한 최적화된 쿼리 복제본 동기화는 다음과 같은 이점을 제공합니다.

  • 모든 복제본이 병렬로 동기화되어 동기화 시간이 상당히 줄어듭니다.
  • 모든 복제본이 병렬로 동기화되므로 동기화 프로세스 중에 복제본 간 데이터의 일관성이 높아집니다.
  • 동기화 프로세스 내내 모든 복제본에 대해 데이터베이스가 온라인 상태로 유지되므로 클라이언트가 다시 연결할 필요가 없습니다.
  • 메모리 내 캐시는 변경된 데이터로만 증분 업데이트되며, 이는 모델 전체를 리하이드레이션하는 것보다 훨씬 빠릅니다.

동기화가 최적화된 기능의 예로, 제품 팀은 3개의 복제본이 있는 S8v2에서 약 84GB크기의 데이터베이스에 대한 테스트를 수행했습니다. 동기화는 증분 동기화에 대해 약 2분이 걸렸으며 비증분 동기화의 경우에는 5분이 걸렸습니다. 7개의 복제본이 있는 S8v2의 동일한 데이터베이스의 경우 증분 동기화의 시간이 변경 되지 않은 상태에서 비증분 동기화에 대한 시간은 11분으로 증가합니다.

ReplicaSyncMode의 가능한 값은 다음과 같습니다.

  • 1(기본값): 전체 복제본 데이터베이스가 단계적으로 리하이드레이션됩니다.
  • 2: 동기화가 병렬로 최적화됩니다.

FastReplicaSync(002)

ReplicaSyncMode=2로 설정하면 캐시가 얼마큼 업데이트되어야 하는지에 따라 쿼리 복제본에서 추가 메모리가 사용될 수 있습니다. 데이터베이스를 온라인 상태로 유지하고 쿼리에 사용할 수 있도록 하려면 변경된 데이터의 양에 따라 작업에서 복제본에 대해 메모리를 두 배까지 필요로 할 수 있습니다. 이전 세그먼트와 새 세그먼트가 동시에 메모리에 유지되기 때문입니다. 복제본 노드는 주 노드와 메모리 할당이 같습니다. 새로 고침 작업의 주 노드에는 일반적으로 추가 메모리가 있으므로 복제본에 메모리가 부족할 가능성은 없습니다. 또한 일반적인 시나리오는 주 노드에서 데이터베이스가 증분 방식으로 업데이트되는 것이므로 메모리를 두 배로 할 필요성이 없습니다. 동기화 작업에 “메모리 부족” 오류 메시지가 발생하면 기본 기법(한 번에 두 개 연결/분리)을 사용하여 다시 시도합니다.

Azure Analysis Services의 쿼리 스케일 아웃에 대해 자세히 알아보세요.

  • Azure Analysis Services
  • Features
  • Management
  • Services