Azure, AWS, GCP 클라우드 활용 Tip과 강좌 게시판

이곳은 개발자를 위한 Azure, AWS, GCP등 클라우드 활용 Tip과 강좌 게시판 입니다. 클라우드 환경을 개발하면서 알아내신 Tip이나 강좌, 새로운 소식을 적어 주시면 다른 클라우드를 공부하는 개발자 분들에게 큰 도움이 됩니다. 감사합니다. SQLER.com은 개발자와 IT전문가의 지식 나눔을 실천하기 위해 노력하고 있습니다.

저도 카페에 글을 올렸지만... SQLER에도 공유 해야 할 것 같아 한번 더 게시 합니다 ^_^~!

 

안녕하세요,
SQLER(http://SQLER.com)
사이트와
SQLTAG
에서 후원하는 SQL Start (Http://SQLTAG.org) 커뮤니티 에서
활동 하고 있는, Daily-SQL 블로그의 차태욱입니다.

 

지난 4 포스트
( http://daily-sql.tistory.com/entry/4
-SQLER-on-Windows-Azure-후기-차태욱 ) 이어 이번에는 SQL 데이터베이스 동기화 기능에 대한 리뷰를 하였습니다.

이번 5 캠프 때는, 개인적인 일정으로 인해,
제한된 시간 내에 많은 것들을 경험 보지 못하여,
포스트용 스크린 추출에 사용된 계정은 Windows Azure 평가판 계정을 활용 하였습니다.

개인적으로는 캠프 중에 제공 되는 이미 설정 되어있는 계정을 사용하는 좋지만, Azure 서비스를 처음부터 구축/설정 있다는 점에서, 평가판 계정 활용 부분도 의미 있었습니다 ^^..

 

Step 1. 신규로 DB생성 하기

먼저, manage.windowsazure.com 페이지에서 최초로 DB만들기를 하는 페이지 입니다.

먼저 DB 이름과, 버전, 최대 제한크기, 데이터 정렬 해당 DB 소속 DB 서버 (SQL Azure에서의 DB서버는,,, SQL Server Instance 같은 개념이죠…?) 설정 주게 됩니다.

 

 


다음으로, 해당 SQL Azure 서버가 위치할 지역, 로그인 이름, 비밀번호를 입력해 주게 되면

 

 


다음과 같이 데이터베이스가 생성 되어 집니다.
저는 SQLDBWOOK01 DB 생성 하였고, 동일한 서버에 SQLDBWOOK02 라는 DB 추가로 생성 하였습니다.

 

Step 2. 신규로 DB생성 하기~SQL 데이터 동기화 기본설정 하기

이제 SQL Azure 페이지 하단에 있는 동기화 추기 메뉴를 통해, SQL 테이터 동기화를 설정 해보겠습니다.

Manage.windowszaure.com
SQL 데이터베이스 관리 페이지 최하단의 동기화 추가 메뉴로 접근 합니다.

 

 


다음과 같은 페이지가 나오면, 동기화 그룹의 이름을 설정 줍니다.
저는 SQLDataCompare라고 명명 주었습니다.

 

 


다음 페이지에서, 허브 데이터베이스의 로그인 이름과 암호를 입력하여 주고,,,,
(
충돌 해결 박스에 대해서는 아래에서 설명 하겠습니다.)

 

 


마지막 페이지에서 동기화의 방향( 방향 인지, 방향 인지(허브to클라 or 클라to허브)…) 설정
참조 데이터베이스 선택 로그인 이름과 암호를 입력하여 주면……

 

 


동기화(review) 메뉴에, 다음과 같이 준비되지 않은 상태의 SQL 데이터베이스 동기화 그룹이 생성 되게 됩니다.
여기에 표기된 SQL 데이터베이스 동기화 그룹인 SQLDataCompare 클릭하고 들어 가면

 

 


다음과 같이 SQLDataCompare 동기화 그룹에 속한 개의 데이터베이스와, 현재 상태(준비 안됨이죠?) 허브 여부, 동기화 방향, SQL Azure 서버 이름과 에이전트 이름이 표기 됩니다.

현재 준비 안된 상태이기에, 상단 메뉴에서 빨간 사각형으로 표기 , 구성을 클릭하고, 구성 페이지로 이동 합니다.

 

 


구성 일반 메뉴에서 자동 동기화를 할지, 자동 동기화의 간격을 어떻게 지에 대한 부분을 설정 하게 됩니다. 동기화 빈도의 경우, Books Online 따르면 5~1달사이로 지정 가능 하다고 합니다.
연결 자격 증명은 앞에서 이미 설정 하였기에, 따로 설정하지 않았습니다.

 

 


모두 알고 계시겠지만 ^^;;.. Web Manage 페이지에서 만나는 Azure 서비스의 경우
변경사항은 항상 저장 해준 서비스를 이동 하여야 합니다.

 

 

Step 3. SQL 데이터베이스 동기화 규칙 설정

여기까지 진행 하신 , 구성 메뉴 우측의 동기화 규칙 메뉴를 클릭하여, 규칙 설정을 진행 하여 보겠습니다.

 

 


현재는 해당 데이터베이스에 아무런 테이블이 없기 때문에,

SSMS 해당 DB 접속하여 테이블 생성 데이터 입력을 진행 하겠습니다.
접속 설정에 대해서는 이전 포스트 참조 해주세요.
( http://daily-sql.tistory.com/entry/4
-SQLER-on-Windows-Azure-후기-차태욱 )

현재 동기화 설정이 양방향이기 때문에 테이블은 02 DB에만 생성 하였습니다.

 

 


다시 동기화 규칙페이지로 돌아 가서 스키마를 새로 고치십시오 메뉴를 선택한 , 02 데이터베이스를 선택합니다.…

 

 


동기화 대상 테이블을 선택 하고,

 

 


동기화 대상 컬럼을 선정 , 상태를 저장하여 주면……

 

 


참조 화면에서 다음과 같이 상태가 양호 변경 되어진 개의 데이터베이스를 만날 있습니다.

 

 

Step 4. SQL 데이터베이스 동기화 실제 체험


Step 3
까지의 일련의 설정이 완료 되면, 해당 2개의 DB상에 02 DB에만 생성 하였던 테이블이 01 DB에도 동일하게 생성 것을 있습니다.
또한 DataSync 라는 스키마가 신규로 생성 되었고, 한눈에 보아도, 스키마에 속한 다섯 개의 테이블들이 SQL 데이터베이스 동기화 기능에 관여 하는 시스템 테이블 이라는 것을 짐작 가능합니다.

 

 


또한, SQL 데이터베이스 동기화에 대한 간단한 모니터링도 가능 합니다.
Azure Web Manage Page
통해 SQLDataCompare동기화 그룹에 대한 로그 메뉴로 가면 어떤 항목들이 언제 어떻게 동기화 되었는지 있습니다.
마치 SQL Server Replication Monitor 같은 느낌이네요 ^^. (기능도 많이 비슷 같다는 생각이구요 ^^;;ㅎㅎ)

 

 

DB 동기화 테이블은 02 DB 생성 하였으니, 데이터 동기화를 확인 하기 위해, 이번에는 1 DB에서 데이터 입력을 하도록 하겠습니다.

 

 


당연히, 위에서 동기화 그룹에 대해 시간을 설정 처럼(저는 5분으로 설정 하였습니다.) 바로 데이터가 동기화 되지는 않았으며..
또한 DataSync스키마의 TBL_X_dss_tracking 이라는 테이블을 보면, 다음과 같이, 히스토리가 남습니다.

 

그리고 컵라면에 물을 담고…5분을 기다리면

 

 


짜잔~~!! 다음과 같이 개의 DB 동일하게 데이터가 동기화 되었습니다.

 

 


다음과 같이 로그를 보면, 5분간격으로 돌고 있는 것을 있습니다.(10초정도씩 밀리고 있긴 하네요 ^^;;)

 

 

Step 5. SQL 데이터베이스 동기화의 데이터 무결성 보장

양측 DB 모두 데이터 입력이 가능한 상태에서, 양쪽을 모두 동기화 대상으로 삼을
제가 해당 테이블의 Primary Key Idx컬럼을 Identity 속성으로 생성 하였기 때문에,
양쪽 DB Identity Idx 충돌! 하여 무결성이 훼손 되는 상황이 쉽게 발생 있기에,,

이에 대해 SQL Azure 데이터베이스 동기화에서는 어떻게 이런 문제를 해결 궁금증이 발생 하였고,
이처럼무결성이 훼손 때는 어떻게 될지에 대해 테스트 보았습니다.


먼저, 차태욱11~15까지(Identity Idx 값은 11~15까지 입력 되겠지요?) 01 DB에는 -01 , 02 DB에는 -02 붙여 입력 하고, 데이터가 동기화 되기를 기다립니다.

 

 


5
확인 해보면, 02 DB 01DB(허브) 기준으로 수정되어진 것을 있습니다.

 


이유는…… 최초 동기화 생성 , 동기화 허브 정의의 충돌해결 설정에서 에서 허브 우선설정 하였기 때문입니다.
충돌 해결 설정의 설명을 보면, '서로 다른 데이터베이스에서 동일한 레코드를 변경 때마다 유지할 데이터와 손실될 데이터를 결정하는 도움이 되는 설정 입니다.'
라는 내용이 나와 있네요 ^^.

 

 

Step 6. 맺는말 – SQL Azure

개인적으로 HA 관심이 많아, SQLAzure에서 가장 관심 가던 기술 하나인, SQL 데이터베이스 동기화를 체험해 있어서 즐거운 시간이었습니다.

 

5분이라는 동기화 텀이 길고, 10 정도씩 동기화 일정이 밀리는 부분이 조금(많이;;;) 아쉽긴 하지만, 소규모 DB에서의 쓰기 분산 기능으로 사용하기에는 부족함이 없어 보입니다.

 

혹시 6차때 기회가 주어 진다면……! 다음에는 미리 준비하고 공부해서, 페더레이션 기능을 통한, 샤딩 구현을 해보고 싶습니다 ^_^~!

그럼 SQLER-Online Azure Camp 5 참가 후기를 이만 줄이겠습니다^^.

 

(원문-http://daily-sql.tistory.com/18)

No. Subject Author Date Views
219 5차 Windows Azure 온라인 세미나 후기 - 웹사이트 둘러보기 편 NightSkyHunter 2013.03.21 26103
218 Windows Azure의 서비스들을 한눈에 살펴보는 포스터 다운로드 코난(김대우) 2013.03.19 44990
217 Windows Azure Mobile Service - HTML 웹사이트와, 하이브리드 플랫폼인 Apache Cordova(예전 PhoneGap) 지원 코난(김대우) 2013.03.19 92762
216 [동영상강좌] Windows Azure Mobile Service를 이용한 페이징 처리 구현 (4/7) 코난(김대우) 2013.03.14 100936
215 [동영상강좌] Windows Azure Mobile Service 의 서비스 확장(Scale)과 분석 및 모니터링 (7/7) 코난(김대우) 2013.03.14 63504
214 [동영상강좌] Windows Azure Mobile Service 푸쉬 알림(Push Notification) 서비스 구축 - WNS(WPNS), APNS, GCM - 다 한방에 푸쉬 (6/7) 코난(김대우) 2013.03.14 65828
213 [동영상강좌] Windows Azure Mobile Service로 구축하는 인증(Authentication) 서비스 - Microsoft id, Facebook id, Twitter id, Google id (5/7) 코난(김대우) 2013.03.14 63114
212 [동영상강좌] Windows Azure Mobile Service 서버 스크립트 (3/7) 코난(김대우) 2013.03.14 99600
211 [동영상강좌] Windows Azure Mobile Service를 이용한 백엔드 데이터 처리 (2/7) 코난(김대우) 2013.03.14 98754
210 [동영상강좌] Windows Azure Mobile Service 소개 - 모바일 앱의 백엔드 서비스 구축을 위한 레시피 (1/7) 코난(김대우) 2013.03.13 98819
209 5차 Azure - Web site (node.js 2탄) FiaDot 2013.03.10 12306
» 5차 - SQLER on Windows Azure 후기 - SQL Database 동기화 차태욱 2013.03.10 13784
207 5차 후기 입니다 곽은경 2013.03.10 31793
206 5차 후기 - 'Node.js' on Windows Azure Asterisk 2013.03.09 15310
205 5차 - Azure에서 AD구성 궁금해요? 궁금하면 5분만 투자!! 이지만 2013.03.08 30900
204 힘쎄고 강한 애져 5차 후기! 컴포지트 2013.03.08 27735
203 Apps For Asia 개발 행사에서 제가 발표한 자료와 데모 예제 공유해 드려요. [1] 코난(김대우) 2013.03.07 55202
202 4차 - SQLER on Windows Azure 후기 (쓸만한게없네) [3] 쓸만한게없네(윤선식) 2013.02.24 47049
201 4차 SQLER on Azure 캠프 참여 후기 [1] NightSkyHunter 2013.02.24 26802
200 4차 - Azure궁금해요? 궁금하면 5분만 투자!!! [2] 이지만 2013.02.24 32314





XE Login