4. SQL Azure란?
• SQL Server 2008 R2를 기반으로 구축됨
• Microsoft가 제공하는 Cloud 기반 RDBMS
• 인터넷 기반 데이터베이스 시스템
• 한달 99.9% SLA 보장
• http://go.microsoft.com/fwlink/p/?LinkId=
159706
5. SQL Azure 신청하기
• Windows Azure Platform을 신청하여 사용
• http://www.windowsazure.com/
6. 90일 Free Trial 서비스 혜택
• Extra Small Computer Instance 무제한
• 1달 750시간 Small Computer Instance 무료
• SQL Azure Database 1GB 무료 제공
• Outbound 20GB, Inbound 무제한
• 신용 카드 정보 제공 필요
21. 첫 번째 차이점: 가격
• SQL Server
– Client Access
License
– Processor License
• SQL Azure
– Database Size
– Network Traffic
22. 첫 번째 차이점: 가격
Web Edition Business Edition
Size/Meter
Monthly Charges Monthly Charges
Up to 1 GB relational database USD 9.99 (KRW 10,989) -
Up to 5 GB relational database USD 49.95 (KRW 54,595) -
Up to 10 GB relational database - USD 99.99 (KRW 109,989)
Up to 20 GB relational database - USD 199.98 (KRW 219,978)
Up to 30 GB relational database - USD 299.97 (KRW 329,967)
Up to 40 GB relational database - USD 399.96 (KRW 439,956)
Up to 50 GB relational database - USD 499.95 (KRW 549,945)
Exchange Rate: USD 1 ≒ KRW 1,100
23. 두 번째 차이점: 관리
• SQL Server
– HW부터 SW까지
– 모든 것을 재구성 가능
– 모든 작업은 관리자와
개발자의 책임
• SQL Azure
– 제공되는 기능만 사용
– 데이터 관리, 정의만
재구성
– SW와 서비스에 집중
24. 두 번째 차이점: 관리
• 사용할 수 없는 기능들
– 데이터 백업 및 복원
– 데이터베이스의 물리적 위치
– 전체 텍스트 색인
– 주요 DBCC 명령어
– 저장 프로시저 확장 DLL
– 하드웨어 관련 설정
25. 두 번째 차이점: 관리
• IP 주소 기반 방화벽을 제공
– 기본적으로는 모든 연결을 차단
– 특정 IP 주소 및 대역만을 선택적으로 허용
– MS Datacenter 내부 연결 허용 여부 선택
• 외부 코드를 허용하지 않는 이유
– SQL Azure의 Runtime은 Full-Trust 환경이 아님
– 데이터 취급 상의 위험 인자를 사전에 방지
27. 세 번째 차이점: 개발
• SQL Azure 연결을 위해서 쓸 수 있는 기술
– .NET Framework 3.5 SP1 이상의
System.Data.SqlClient Provider
– SQL Server 2008 이상의 버전과 같이 제공되는
SQL Server Native Client Driver
– PHP용 SQL Server Driver 1.1
– SQL Server 2008 이후부터 함께 제공되는
Microsoft의 JDBC Driver
28. 세 번째 차이점: 개발
• 사용이 불가능하거나 제약이 심한 기술
– TDS Driver
– .NET Framework 2.0 이하 기본
System.Data.SqlClient Driver
– OLE DB Driver (기능 제약이 심한 편)
– Data Access Object
– 일부 구형 Third Party SQL Server Driver들
32. SQL Azure의 구조
Active
Database #1
Client SQL Azure Active
(Proxy) Database #2
Active
Database #3
33. SQL Azure 구조
• 모든 데이터베이스 요청은 Proxy Gateway를
통해 오고 가는 구조
• Proxy Gateway가 이해하고 수용하는 명령어만
을 취급
• 하단의 데이터베이스가 장애가 발생하면 SLA
준수를 위해 즉시 다른 Spare DB로 교체
34. 실제 사용 시나리오
• SQL Server
– 기업 내 중요 정보 및 자산을 보관
– 국가 내에서만 다루는 정보를 보관
– 인터넷에 직접 노출하는 일이 없음
• SQL Azure
– 업데이트가 잦은 통계 정보
– 처리 비용이 많이 드는 RDBMS 연산
– 높은 컴퓨팅 성능이 필요한 작업
42. 클라우드라고 해서…
• 기본적으로 클라우드 솔루션은 가용성이 매우
뛰어난 편
• 그렇다고 하여 모든 것이 “무제한”이 되지 않는
다는 것에 유의
• SQL Azure에 대한 환상도 그래서 깨어져야!
43. 클라우드라고 해서…
• SQL Server를 단독 Hosting 받는 것과는 달리
SQL Azure는 Full Dedicated 환경이 아님
• 필요 시 언제든 연결을 강제로 끊거나 차단할 수
있는 가능성이 언제나 존재
• 다른 SQL Azure 고객에게 손해를 끼칠 염려가
있는 모든 동작이 제한됨
• Shard Pattern과 Connection Retry를 고려하
는 것이 늘 필요
47. SQL Azure의 보안과 호환성
• SQL Azure가 인터넷 기반 DB이고 항상 SSL
암호화를 쓰기 때문에 호환성이 일부 결여됨
• OLE DB, DAO, TDS 등의 클라이언트 활용이
문제가 됨
• SQL Server Native Driver나 ODBC를 사용하
여 문제 해결 가능
51. 지역 설정에 대한 이해
• SQL Azure의 기본 Collation 설정은
SQL_Latin1_General_CP1_CI_AS
• CHAR, VARCHAR, TEXT 등의 데이터 형식 사
용 시에는 반드시 COLLATE 문을 지정해야 함
• 이를 피하고 안전하게 문자열 데이터를 다루려
면 N 계열 데이터 사용이 필수적
• NCHAR, NVARCHAR, NTEXT 권장
53. 그 외 각종 제한 사항들
• Visual Studio 2010 이전 버전의 데이터베이스
탐색기는 모두 SQL Azure에 연결 불가
• 데이터베이스 개수는 기본 DB인 MASTER DB
를 포함하여 150개가 최고 / 실제 149개 가능
• 데이터베이스 용량 크기는
1/5/10/20/30/40/50GB 중 선택 가능
• 자세한 정보는
http://msdn.microsoft.com/ko-
kr/library/ee336245.aspx 참조