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
2013. 3. 10. 23:18

기본적인 사용법은 지난 4차 캠프때 체험해 보았기 때문에

이번 5차 캠프가 시작되기 전 그 밖의 이것저것들을 많이 테스트 해보고 싶었지만

개인적인 사정으로 SQL Database 내보내기 & 가져오기만 간단하게 체험해 보았다.

 

1. 내보내기 할 데이터베이스를 선택 후 아래 내보내기를 클릭!

 

 

 

 

 

2. 필요한 정보를 입력하면 .bacpac 로 데이터베이스를 내보낼 수 있다.

 

 

 

 

3. 내보내기가 완료되면 저장소에 아래와 같이 컨테이너가 생성되며

   저장된 URL을 이용해서 데이터베이스 가져오기가 가능하다.

 

 

 

 

 

4. 위에서 생성된 .bacpac URL를 이용해서 데이터베이를 쉽게 가져올 수 있다.

   체험 중 데이터베이스를 추가로 생성하면 안되기 때문에 실제로 생성해 보진 않았다.

 

 

 

이상 SQL 데이터베이스 내보내기 & 가져오기 기능을 체험해 보았다.

클릭 몇번 만으로도 데이터베이스를 백업하고 리스토어가 가능하게 되어있어서 편했다.

 

 

Posted by 니노G
2013. 2. 22. 15:53

SQLER 공지사항에 Azure 4차 온라인 캠프를 진행한다는 글을 보고 걱정 반 설렘 반을 갖고 신청하게 되었다.

20명 등록 마감이라고 하길래 회사일도 있고 해서 괜한 자리 차지하는 거 아닌가 했지만

회사에서도 클라우드 SQL 데이터베이스 도입 얘기가 슬금슬금 나오고 있고 이때 아니면 언제 또 기회가 생길지

몰라 신청하기로 했다. 다행히 지원자 모두 참여가능 한 것 같았다. ㅎㅎ


체험 절차 안내 메일이 수요일 7시 전후로 온다고 해서 밤 12시까지 기다렸는데 오지 않아서

다음날 회사에서 확인했는데 이메일로 보내준 Live 계정과 실제 계정이 달라서 조금 더 딜레이 되었다.

30명 넘는 계정 세팅과 애저 세팅하시느라 고생하셨을텐데 매끄럽지 못했던 부분은 아쉽다.


어쨌든 우여곡절 끝에 드뎌 Windows Azure 접속!




첫 화면은 Live 계정에 등록된 모든 서비스들이 정렬되어 있다.

공지했던 것처럼 1~3차 캠프와는 달리(1~3차에 참가한적은 없지만...) 가상머신이 아닌 PaaS 서비스 형태의 체험이 가능하다.




일단 SQL Database를 이용해 보려고 클릭하면 아래 처럼 2개의 데이터베이스 확인이 가능







두개중 01번 데이터베이스에 들어가면 대쉬보드와 데이터베이스 사용량을 깔끔하게 확인가능하다.

아쉽게도 처음 들어오는거라 아무 내용이 없다.ㅎㅎ







이제 본격적으로 SQL 데이터베이스 접속을 위해 위에 "MANAGE"로~ GoGo!


이메일로 받은 SQL 데이터베이스 계정과 패스워드를 치고 LOGIN! 

읭? 로그인 실패... 패스워드 잘못쳤나?해서 몇 번 시도했지만 계속 실패..




온라인 캠프 종료시각이 얼마남지 않았다.. 이렇게 SQL 데이터베이스 접속조차 못하고 끝마칠 것인가...

그래, 패스워드 바꾸고 다시 해보자!






패스워드 바꿔도 계속 로그인 실패...ㅠㅠ

이때 눈에 들어온 SQL 데이터베이스 관리자 아이디..

이메일로 받은 것과 달리 관리자 계정 앞에 s가 하나 더 붙어있다. 세팅하신분이 햇갈리신거 같다.


 

다시 로그인 시도하고 성공!

01번 데이터베이스의 관리포탈 첫 화면.





어드민으로 옮겨가면 아래사진 처럼 해당 데이터베이스의 요약된 구성정보를 확인 가능하다.





요약 옆에 쿼리성능을 보면 Running된 쿼리들의 카운터들이 보인다.

수집된 카운터들을 정렬 서 볼 수도 있으니 편하겠네요~





자, 그럼 본격적으로... 테이블을 하나 만들어 보기 위해서 디자인으로 이동~







테이블명을 입력하고 컬럼 및 제약조건들을 설정하고 

"Save" 아이콘을 누르기만 하면 테이블이 생성 된다.




물론 T-SQL 또한 지원하기 때문에 "New Query" 아이콘을 이용해서 테이블을 생성할 수도 있다.





그동안 SSMS를 이용해서만 데이터베이스에 접근했기 때문에 익숙하지 않게 느껴진다.

SSMS를 통해서 SQL 데이터베이스에 접속할 수 없을까?

당연히 가능하다!(2008 R2 이상에서만 가능하다)


아래 화면의 FQDN을 통해서 쉽게 접속 할 수 있다.





평소 SQL Server에 접속하는 것 처럼 접속하면 된다.





접속해 보면 기존 SQL Server 인스턴스 아이콘과는 달리 SQL Database로 구분할 수 있도록 보여진다.

또 이전에 관리포탈에서 생성한 테이블 2개를 확인할 수 있다.


 


테스트 테이블도 생성됐으니

SSMS에서 테스트 데이터 10000건 입력


 




그럼 이번엔 반대로 관리포탈으로 들어가보면

역시나 위에서 입력한 10000건 또한 쉽게 확인 가능하다.






SQL 데이터베이스에서는 동적관리뷰도 지원한다.

실행계획 포함해서 돌려봤다.

아까 테스트 데이터 입력할 때 썼던 쿼리의 CPU 사용량이 보인다.






잼있는건 실행계획인데 기존 SQL Server와 UI도 다르고

정렬기준에 따라 CPU, IO 등 원하는 사용률을 볼 수 있다.




지금까지 Windows Azure SQL 데이터베이스 서비스를 이용해 보았다.



PaaS 서비스로 진행된 Windows Azure 4차 온라인 캠프에서 전체적으로 내가 받았던 가장 큰 느낌은

데이터베이스의 관리 요소가 상당히 간소화 되었다는 것이다.

기존에는 DBA만의 영역이였던 고가용성, 장애복구 등을 마이크로소프트에서

즉 서비스 공급자에서 자동으로 관리하기 때문에 DBA는 논리적인 영역에서만 관리하면 된다.

물론 이러한 부분이 DBA의 입지를 좁게 만들지 않을까 생각할 수도 있지만

개인적으로는 가장 근본적인 역할인 데이터만을 위한 생산적인 일에 집중할 수 있다고 생각한다.


클라우드가 매력적인건 분명하지만 그렇다고 아직까진 모든 서비스에 대해서 클라우드 서비스가 정답이 될 순 없다.

SQL Database를 사용했을 때에도 SQL Server에서만 지원하는 제약사항 있기 때문에

사전조사 및 테스트 등을 통해 고려해 봐야된다고 생각한다.

Posted by 니노G