SQL Azure 실무 도입하기

3,807 views
3,660 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,807
On SlideShare
0
From Embeds
0
Number of Embeds
1,139
Actions
Shares
0
Downloads
19
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

SQL Azure 실무 도입하기

  1. 1. SQL Azure 실무 도입하기 Windows Azure Cafe SYSOP Windows Azure MVP 남정현
  2. 2. Agenda• SQL Azure가 SQL Server와 다른 점• Break Time• SQL Azure 좌절방지위원회• Question and Answer• Lucky draw
  3. 3. Session 1SQL AZURE와SQL SERVER가 다른 점
  4. 4. SQL Azure란?• SQL Server 2008 R2를 기반으로 구축됨• Microsoft가 제공하는 Cloud 기반 RDBMS• 인터넷 기반 데이터베이스 시스템• 한달 99.9% SLA 보장• http://go.microsoft.com/fwlink/p/?LinkId= 159706
  5. 5. SQL Azure 신청하기• Windows Azure Platform을 신청하여 사용• http://www.windowsazure.com/
  6. 6. 90일 Free Trial 서비스 혜택• Extra Small Computer Instance 무제한• 1달 750시간 Small Computer Instance 무료• SQL Azure Database 1GB 무료 제공• Outbound 20GB, Inbound 무제한• 신용 카드 정보 제공 필요
  7. 7. DemonstrationSQL AZURE 신청 과정(FREE TRIAL ACCOUNT)
  8. 8. 첫 번째 차이점: 가격• SQL Server – Client Access License – Processor License• SQL Azure – Database Size – Network Traffic
  9. 9. 첫 번째 차이점: 가격 Web Edition Business Edition Size/Meter Monthly Charges Monthly ChargesUp 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
  10. 10. 두 번째 차이점: 관리• SQL Server – HW부터 SW까지 – 모든 것을 재구성 가능 – 모든 작업은 관리자와 개발자의 책임• SQL Azure – 제공되는 기능만 사용 – 데이터 관리, 정의만 재구성 – SW와 서비스에 집중
  11. 11. 두 번째 차이점: 관리• 사용할 수 없는 기능들 – 데이터 백업 및 복원 – 데이터베이스의 물리적 위치 – 전체 텍스트 색인 – 주요 DBCC 명령어 – 저장 프로시저 확장 DLL – 하드웨어 관련 설정
  12. 12. 두 번째 차이점: 관리• IP 주소 기반 방화벽을 제공 – 기본적으로는 모든 연결을 차단 – 특정 IP 주소 및 대역만을 선택적으로 허용 – MS Datacenter 내부 연결 허용 여부 선택• 외부 코드를 허용하지 않는 이유 – SQL Azure의 Runtime은 Full-Trust 환경이 아님 – 데이터 취급 상의 위험 인자를 사전에 방지
  13. 13. DemonstrationSQL AZUREADMINISTRATION PORTAL
  14. 14. 세 번째 차이점: 개발• 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
  15. 15. 세 번째 차이점: 개발• 사용이 불가능하거나 제약이 심한 기술 – TDS Driver – .NET Framework 2.0 이하 기본 System.Data.SqlClient Driver – OLE DB Driver (기능 제약이 심한 편) – Data Access Object – 일부 구형 Third Party SQL Server Driver들
  16. 16. Demonstration.NET & SQL AZURE
  17. 17. DemonstrationC++ & SQL AZURE
  18. 18. DemonstrationJAVA & SQL AZURE
  19. 19. SQL Azure의 구조 Active Database #1Client SQL Azure Active (Proxy) Database #2 Active Database #3
  20. 20. SQL Azure 구조• 모든 데이터베이스 요청은 Proxy Gateway를 통해 오고 가는 구조• Proxy Gateway가 이해하고 수용하는 명령어만 을 취급• 하단의 데이터베이스가 장애가 발생하면 SLA 준수를 위해 즉시 다른 Spare DB로 교체
  21. 21. 실제 사용 시나리오• SQL Server – 기업 내 중요 정보 및 자산을 보관 – 국가 내에서만 다루는 정보를 보관 – 인터넷에 직접 노출하는 일이 없음• SQL Azure – 업데이트가 잦은 통계 정보 – 처리 비용이 많이 드는 RDBMS 연산 – 높은 컴퓨팅 성능이 필요한 작업
  22. 22. http://www.youtube.com/watch?v=hOxA1l1pQIwMICROSOFT GFSDATACENTER TOUR VIDEO
  23. 23. Session 2SQL AZURE좌절방지위원회
  24. 24. 백업에 관한 고찰• SQL Azure의 Data Traffic 중 외부로 데이터를 백업하는 것은 Outbound에 해당• Microsoft Data Center에 대한 신뢰도의 수준 에 따라 Backup을 결정하는 것이 필요
  25. 25. 백업에 관한 고찰• SQL Azure에 어떤 데이터를 보관하는가에 따라 Backup의 필요성을 결정 가능• Backup 외에 단순히 Redundancy를 늘이기 위 함인 경우 Database Copy도 검토 가능
  26. 26. 백업에 관한 고찰• 무엇을 하든, 모두 “비용”으로 연결된다 는 사실!
  27. 27. DemonstrationDATABASE COPY
  28. 28. 클라우드라고 해서…
  29. 29. 클라우드라고 해서…• 기본적으로 클라우드 솔루션은 가용성이 매우 뛰어난 편• 그렇다고 하여 모든 것이 “무제한”이 되지 않는 다는 것에 유의• SQL Azure에 대한 환상도 그래서 깨어져야!
  30. 30. 클라우드라고 해서…• SQL Server를 단독 Hosting 받는 것과는 달리 SQL Azure는 Full Dedicated 환경이 아님• 필요 시 언제든 연결을 강제로 끊거나 차단할 수 있는 가능성이 언제나 존재• 다른 SQL Azure 고객에게 손해를 끼칠 염려가 있는 모든 동작이 제한됨• Shard Pattern과 Connection Retry를 고려하 는 것이 늘 필요
  31. 31. DemonstrationCONNECTIONTHROTTLING
  32. 32. 클라우드라고 해서…• SLA를 논의할 때에는 Microsoft의 SLA만을 논 의하는 것이 아님• 여러 가지 원인에 의하여 데이터베이스 연결이 끊어질 가능성을 고려하는 것이 현명• SQL Azure의 오류 코드 정보가 매우 중요
  33. 33. DemonstrationFAIL-OVER STRATEGIES
  34. 34. SQL Azure의 보안과 호환성• SQL Azure가 인터넷 기반 DB이고 항상 SSL 암호화를 쓰기 때문에 호환성이 일부 결여됨• OLE DB, DAO, TDS 등의 클라이언트 활용이 문제가 됨• SQL Server Native Driver나 ODBC를 사용하 여 문제 해결 가능
  35. 35. DemonstrationDISTINGUISHERROR CODES
  36. 36. 방화벽 설정에 대한 이해• SQL Azure는 개발 목적 DB가 아님• 방화벽은 “절대로” 끌 수 없음• 포트는 TCP 포트로 무조건 1433• IP 주소 허용 및 차단에 만전을 기해야• IP 주소 정책 반영에는 다소 시간 소요
  37. 37. DemonstrationMANAGING FIREWALLVIA PORTAL & QUERY
  38. 38. 지역 설정에 대한 이해• SQL Azure의 기본 Collation 설정은 SQL_Latin1_General_CP1_CI_AS• CHAR, VARCHAR, TEXT 등의 데이터 형식 사 용 시에는 반드시 COLLATE 문을 지정해야 함• 이를 피하고 안전하게 문자열 데이터를 다루려 면 N 계열 데이터 사용이 필수적• NCHAR, NVARCHAR, NTEXT 권장
  39. 39. DemonstrationDATABASE LOCALECONFLICTION / SOLUTION
  40. 40. 그 외 각종 제한 사항들• 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 참조

×