프로 SQL 애저 입문
『프로 SQL 애저 입문』은 SQL Azure에 대한 자세한 내용을 다루며, SQL Azure를 이용하여 성공적으로 데이터베이스를 구축하기 위해 필요한 전략과 설계 시의 고려 사항, 그리고 이들 위에서 움직이는 응용프로그램 기술에 대한 이야기를 담고 있다. 또한 독자들에게 실제 프로젝트 현장에서 SQL Azure를 적용할 수 있는 방법을 알려준다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
이 책에서는 SQL Azure에 대한 자세한 내용을 다루며, SQL Azure를 이용하여 성공적으로 데이터베이스를 구축하기 위해 필요한 전략과 설계 시의 고려 사항, 그리고 이들 위에서 움직이는 응용 프로그램 기술에 대한 이야기를 다루고 있다. 확장성이 있고 효율적인 SQL Azure 기반의 데이터베이스를 만들기 위한 도구에 대해서도 소개한다. Shard 패턴과 같이, 여러분의 데이터를 여러 SQL Azure와 SQL Server의 데이터베이스에 나누어 확장시키는 기법에 대한 주제를 비롯하여 여러 가지 심도 있는 이야기도 나눈다. SQL Azure와 Windows Phone 7을 서로 연동하기 위해서 사용하는 OData와 같은 새로운 가능성을 여는 기술에 대해서도 소개한다. 그 외에 다음의 주제에 대해서도 이야기를 한다.
- 보안
- 성능 튜닝
- 데이터베이스 이관
- SQL Azure를 활용한 응용프로그램 개발
옮긴이의 글
클라우드 컴퓨팅에 대한 다양한 관심과 활발한 활동이 요즈음 눈에 많이 띈다. 그 중에서도 가장 대표적인 활동을 꼽으라고 한다면 역시 개발자들이 클라우드 컴퓨팅에 대해 취하는 자세들이 될 것이다. 전통적으로 Microsoft는 개발자들을 위한 고민을 늘 해왔던 집단이며, 2009년 초반에 발표한 Windows Azure Platform 역시 이러한 고민이 많이 묻어나는 훌륭한 클라우드 플랫폼이라고 생각한다. 그러나 안타깝게도 유독 특정 국가들에서만 출시가 상당히 늦어지는 것이 문제가 되고 있으며, 개발자들이 느끼는 갈증은 그래서 생각 외로 심한 편이라고 생각한다.
이번에 번역한 책에서는 SQL Azure라는 클라우드 서비스를 개발자, IT 전문가, 데이터베이스 전문가들이 어떻게 활용하면 좋을지에 대한 내용을 골고루 다루고 있는데, 이것은 특정 클라우드 서비스에 치우쳐져 있기만 한 것이 아니라, 클라우드 기반의 솔루션을 고민 중인 업계의 사람이라고 한다면 누구나 다들 고민하는 내용들일 것이다. 그렇지만 구체적으로 그러한 고민거리를 실체화하기 위한 방법으로 SQL Azure 데이터베이스를 택한 것으로 보고 이 책을 읽어주었으면 하는 바람이 있다.
또한 이 책에서는 클라우드 기반의 데이터베이스 서비스를 활용하는 동안 발생할 수 있는, 어쩌면 여러분들이 클라우드에 대해서 가졌던 너무나 완고한 믿음을 철저히 깨뜨릴지도 모를 심각한 차이점에 대해서도 정확한 지적을 해주고 있다. 따라서, 클라우드에 대해서 확신이 없는 경우에도, 클라우드에 대해서 너무나 확신을 하는 경우라고 하더라도 이 책은 모두에게 도움이 되어줄 혜안을 줄 것이다.
사실 이 책을 번역하면서 필자 개인적으로 상당히 어려웠던 점이 있다면, 클라우드 서비스 자체는 지속적으로 변한다는 점이다. 이 책이 처음 나왔을 시점으로부터 얼마 지나지 않았음에 도 서비스의 신청 방법 자체가 바뀌거나, 구성이 바뀌거나, 새로운 기능이 추가되는 등 굉장히 다양한 변화가 있었다. 이러한 부분들에 대한 조사를 덧붙여 원서의 내용을 훼손하지 않도록 하면서 새로운 업데이트를 추가하는 작업은 상당히 어려운 작업이었다. 그리고 이 책이 여러분의 손에 쥐어지게 될 무렵에도 서비스는 아마 두세 번 이상 얼굴을 바꾸었을지도 모른다. 그러므로 이 책에서 설명하려는 핵심적인 기조는 가지고 가시되, 책에서 설명하는 서비스에 대한 모습이 전부가 아니라는 점을 책을 읽는 동안 독자 여러분들께서 배려해주시는 마음으로 감안해주셨으면 하는 바람 또한 있다.
이 책을 선택해준 독자 여러분께 진심으로 감사 드림을 전한다.
2011년 여름에 독자 여러분께 올림
남정현
목차
목차
클라우드 컴퓨팅에 대한 소개 1
누가 무엇을 클라우드에서 하는가? 2
보편적인 클라우드 서비스 3
Microsoft Azure Platform 탐험하기 4
왜 Microsoft Azure인가? 4
지리적 위치에 대하여 6
Azure에서 데이터 저장하기 8
SQL Azure 준비하기 10
Azure 서비스 신청하기 10
SQL Azure 데이터베이스 생성하기 11
SQL Azure 포탈 사용하기 12
T-SQL 명령어를 사용하여 만들기 13
방화벽 설정하기 14
SQL Server Management Studio로 연결하기 16
새로운 로그인 계정과 사용자 만들기 19
새 로그인 계정 만들기 20
새로운 사용자 계정 만들기 22
접근 권한 할당하기 23
SQL Azure 요금 체계 이해하기 24
SQL Azure의 제약 사항 25
보안 26
백업 27
개체 27
그 외 사항들 29
드라이버와 프로토콜 30
결론 30
제2장 설계 고려 사항 31
설계 사항 31
분리된 저장소 31
높은 가용성 32
성능 33
차단 33
응용프로그램 설계 고려 사항 34
SQL 데이터 동기화 프레임워크 35
직접 연결 vs. 서비스 기반 연결 35
가격 37
보안 38
설계 사항 검토하기 39
설계 패턴 40
직접 연결 40
Smart Branching 41
Transparent Branching 41
Shard 패턴 42
Shard 콘셉트와 방법론 42
읽기 전용 Shards 46
읽기 쓰기 Shard 47
오프로딩 패턴 47
집합 패턴 49
Mirroring 패턴 49
패턴 조합하기 50
Transparent Branching과 읽기 쓰기 Shard의 조합 50
단계별 집합 51
디자인 예시 : 응용프로그램 SLA 모니터링 52
Azure 응용프로그램 아키텍처 적용 이전 52
Azure 구현 53
그 외 고려 사항 55
BLOB 데이터 저장소 55
Edge 데이터 캐시 56
데이터 암호화 57
결 론 57
제3장 구축하고 설정하기 59
여러분의 Azure 계정 만들기 59
여러분의 Azure 프로젝트 관리하기 62
Azure 서버 관리하기 62
서버 정보 63
방화벽 설정 66
데이터베이스 67
데이터베이스, 로그인 및 사용자 계정 만들기
70
데이터베이스 71
로그인 계정과 사용자 계정 73
SQL Azure 데이터베이스에 접속하기 75
ADO.NET을 통하여 연결하기 76
Entity Framework에서 연결하기 77
결 론 83
제4장 보 안 85
개 요 85
기밀성 86
무결성 87
가용성 87
데이터 보안 유지하기 90
암호화 91
해시 94
인증서 101
접근 제어 106
인증(AUTHN) 106
권한(AUTHZ) 107
새로운 로그인 계정과 사용자 계정 만들기 107
스키마 108
방화벽 112
규격 준수 114
결 론 114
제5장 데이터 이관과 백업 전략 115
데이터베이스와 데이터를 SQL Azure로 이관하기 116
스크립트를 생성하고 내보내기 117
SQL Server 통합 서비스 130
BCP 144
SQL Azure 백업 전략 149
데이터베이스 복제하기 149
언제 복사가 완료될지 알 수 있는 방법 150
복사 자동화하기 152
백업 이력 관리하기 152
결론 153
제6장 SQL Azure로 프로그래밍하기 155
응용프로그램 배포 시의 요인들 156
기존 응용프로그램 157
Azure에서 실행되는 응용프로그램 158
무엇을 택해야 하는가? 159
SQL Azure에 연결하기 160
ADO.NET 162
ODBC 169
SQLCMD 171
WCF 데이터 서비스 177
데이터 서비스 만들기 177
데이터 서비스를 모델에 연결하기 179
클라이언트 응용프로그램 만들기 181
사용자 인터페이스 만들기 182
응용프로그램 실행하기 186
WCF 데이터 서비스에서 레코드 탐색하기 187
Internet Explorer의 피드 보기 기능 끄기 188
최종 결과 보기 190
Azure 프로그래밍 고려 사항 193
결 론 196
제7장 SQL Azure와 OData 197
OData 개요 198
OData 공급자 198
OData 소비자 203
Azure 데이터베이스에 OData 지원 추가하기 204
SQL Azure Labs 시작하기 204
Anonymous Access 이해하기 208
Access Control Service 이해하기 209
보안 권장 사항 구현하기 209
OData를 통하여 SQL Azure 데이터 살펴보기 210
OData 소비자를 통하여 데이터 보기 212
두 종류의 OData 소비자 응용프로그램 만들어보기 214
간단한 데모 응용프로그램 214
Windows Phone 7 응용프로그램 217
결론 224
제8장 SQL Azure와 Reporting Service 227
SQL Azure 기반 보고서 시작하기 228
SQL Azure 데이터 원본 만들기 229
보고서 디자인 만들기 234
보고서 배포하기 236
하위 보고서 만들기 238
하위 보고서를 주 보고서에 추가하기 240
결론 243
제9장 Windows Azure와 ASP.NET 245
Windows Azure 서비스 만들기 245
Windows Azure 프로젝트 만들기 250
개발 환경 설정하기 250
첫 Visual Studio 클라우드 프로젝트 만들기 251
GridView를 SQL Azure에 연결하기 256
Windows Azure에 ASP.NET 응용프로그램 배포하기 259
결론 265
제10장 고성능을 위한 설계 267
일반적인 성능 컨셉 267
수다스럽거나 과묵하거나 268
지연 로딩 268
캐시 269
비 동기 사용자 인터페이스 269
병렬 처리 270
Shard 271
코드 구현 전략 요약 272
Shard 구축하기 272
Shard 라이브러리 객체 설계하기 273
데이터베이스 연결 관리하기 275
Shard를 통한 데이터 읽기 276
캐시 280
Shard 상의 데이터를 수정하거나 삭제하기 283
Shard 상에 레코드 추가하기 286
Shard 관리하기 288
예외 관리하기 289
성능 관리하기 291
부분 Shard 패턴과 함께 사용하기 294
트랜잭션의 일관성 유지 295
외래 키 제약 조건의 관리 296
종단 파티션 Shard 패턴 구현하기 298
결론 299
제11장 SQL Azure 데이터 동기화 서비스 301
데이터 동기화 서비스에 대한 이해 302
왜 필요한가? 302
기본 시나리오 303
동기화 설정하기 304
서비스 조항에 동의하기 304
동기화 그룹 만들기 305
허브 및 멤버 데이터베이스 정의하기 308
동기화할 테이블 선택하기 309
동기화 그룹 수정하기 311
수동으로 동기화하기 311
데이터베이스 변경 사항 살펴보기 313
동기화된 데이터 살펴보기 314
데이터 동기화 예약하기 316
기존 데이터베이스와 SQL Azure 데이터베이스
동기화하기 317
데이터 동기화 모범 사례 319
결론 321
제12장 성능 최적화 323
SQL Azure가 기존 환경과 다른 점 323
방법과 도구들 323
코딩 상의 영향 324
성능 최적화 기법 325
동적 관리 뷰 326
연결 풀링 330
실행 계획 331
데이터베이스 관리자 실행하기 349
지원되는 T-SQL 구문들 355
부분적으로만 지원되는 T-SQL 357
찾아보기 365
지원되지 않는 T-SQL 구문 360
지원되는 데이터 형식 361
데이터베이스 관리자 사용하기 351
인덱싱 335
인덱싱된 뷰 341
저장 프로시저 342
공급자 통계 345
응용프로그램 설계 346
결론 347
부록 A Silverlight 기반 SQL Azure 관리 도구 349
부록 B SQL Azure Quick Reference 355
찾아보기
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

