2013. 3. 24. 23:55

이번 Windows Azure 6차 온라인 캠프에는 SQL 데이터베이스 동기화를 체험해 보기로 했다.

6차 캠프 주제가 SQL 데이터베이스 이기 때문인지 이전과 달리 5개의 데이터베이스가 제공되었다.

 

 

 

SQL 데이터베이스 동기화를 하기 위해서는 아래 동기화 추가에서 "새 동기화 그룹"을 만들어야 한다.

 

 

 

첫번째로 동기화 이름을 설정하고 지역과 구독을 지정하면 된다.

 

 

 

두번째로 허브 데이터베이스를 지정하고 로그인 이름과 암호를 차례로 입력한다.

 

 

SQL Server 복제에서도 충돌 이슈가 있듯이 동기화에서도 충돌이 발생할 때 "허브우선"과 "클라이언트 우선"이

있으며, 사용자가 서비스에 맞게 선택하면 된다. 테스트에서는 "클라이언트 우선"으로 선택했다.

 

URL : http://msdn.microsoft.com/ko-kr/library/hh667306.aspx

 

 

마지막으로 참조 데이터베이스를 추가하면 된다.

참조 데이터베이스는 앞에서 구성한 허브 데이터베이스와의 동기화할 데이터베이스 이다.

 

동기화 방향은 "양방향", "허브에서 동기화", "허브로 동기화" 로 3가지가 존재하며,

서비스에 맞게 선택해서 참조 데이터베이스를 추가하도록 한다.

tjdlftlr02 참조 데이터베이스는 "허브에서 동기화" 하도록 추가하였다.

 

 

URL : http://msdn.microsoft.com/ko-kr/library/hh667313.aspx

 

 

동기화 그룹을 추가하게 되면 "동기화"라는 부분이 아래와 같이 생성된다.

 

 

 

생성된 동기화로 가면 위에서 구성했던 "SQLTestSync"라는 동기화 그룹을 확인 가능하다.

 

 

현재 2개의 데이터베이스가 동기화 그룹에 존재하며, 이번 온라인 캠프에서는 5개의 데이터베이스가 제공되므로

나머지 데이터베이스도 추가해 보기로 한다.

 

 

 

나머지 데이터베이스들도 이전에 설정했던 방법과 동일하게 추가한다.

나머지 데이터베이스 또한 모두 동기화 그룹에 추가시켜논 상태이고

05번만 동기화 방향을 "양방향"으로 구성해 보았다.

확인이 완료되면 꼭 저장해야 반영된다.

 

 

 

 

구성으로 가서 자동 동기화와 빈도를 설정한다.

테스트에서는 최소 동기화 빈도인 5분으로 선택했다.

 

 

 

 

 

다음으로 동기화 규칙을 가보면 현재 동기화 그룹 데이터베이스에 테이블이 하나도 존재하지 않기 때문에

아무것도 확인할 수가 없다.

 

이번 온라인 캠프에서는 가상 컴퓨터도 제공되었기 때문에 가상 컴퓨터로 접속해

SQL 데이터베이서를 연결하고 테이블을 생성해 보도록 한다.

사실 이번 온라인 캠프 진행 시 넷북으로 체험해서 SSMS가 없었지만 가상 컴퓨터에 접속해서 SQL Server 또한

사용할 수 있었다.

 

 

 

가상 컴퓨터의 SSMS로 SQL 데이터베이스를 연결하고 허브 데이터베이스인 01에 테이블을 하나 생성했다.

 

 

 

 

다시 동기화 규칙에 가보면 방금전 생성된 테이블을 확인 가능하고

동기화할 컬럼을 체크 후 저장한다.

 

 

 

01 데이터베이스에서 생성된 테이블이

동기화 그룹에 포함된 모든 데이터베이스에도 자동으로 동기화 되어 생성된 것을 확인 가능하다.

 

 

 

 

그럼 간단한 데이터를 입력 후 실제 동기화가 정상적으로 진행되는지 확인 해 보도록 한다.

01 허브 데이터베이스에 'AAAAA' 란 데이터를 입력했다.

 

 

약 5분뒤에도 02~05번 데이터베이스에도 똑같이 'AAAAA' 데이터가 입력된 것을 확인 가능하다.

 

 

 

그럼 이번에는 05번 데이터베이스에 데이터를 입력 후 01번 데이터베이스에 동기화가 적용되는지 확인해 본다.

05번에서는 동기화 방향을 "양방향"으로 설정했었다.

 

 

 

 

시간이 조금 지나고 01번 데이터베이스에서도 'CCCCC' 데이터가 생성됐음을 확인 가능하다.

 

 

 

추가로 05 데이터베이스에서 01 데이터베이스로 동기화 된 'CCCCC'는

"허브에서 동기화"로 설정한 나머지 02~04 데이터베이스로 다시 동기화 되기 때문에

모든 데이터 베이스에서 똑같이 'CCCCC' 데이터가 존재하게 된다.

 

 

끝으로 이번 6차 Windows Azure에서 동기화 테스트를 하면서 느낀부분은

SQL Server의 복제를 구성했을 때 고려해야 될 많은 사항들을 서비스 공급자가 자동으로 관리하기 때문에

상당히 간편해졌다고 느꼈다. 앞으로 SQL 데이터베이스 동기화를 이용해서 서비스할 계획일 때

테스트와 사전조사가 선행된다면 분명 매력적인 서비스일 것 같다.

 

 

Posted by 니노G