아키텍트2009. 3. 19. 11:45

종종 듣는 질문입니다. SQL Server 2005, SQL Server 2008이 Windows Server 2008 Hyper-V에서 정상적으로 구동되나요? 네, 당연히 지원됩니다. 그에 대한 해답은 아래 사이트에서 확인하실 수 있습니다.
http://www.microsoft.com/sqlserver/2005/en/us/support-options.aspx

“SQL Server 2005 is now supported on Hyper-V”라고 쓰여있죠?
“SQL Server 2005는 Hyper-V 가상머신에서 지원됩니다”

Posted by 조이트리
호스팅2008. 11. 25. 11:38

웹 사이트 개발을 시작하려고 할 때 뭐가 필요할까요? 개발도구, 프레임웍, 데이터베이스, 웹서버 등이 있어야 합니다.
이런 다양한 도구들을 사용하려면, 해당 파일이 있는 곳을 찾아서 다운로드, 설치, 셋팅하는 과정을 거쳐야 합니다.
무척 번거롭고 시간이 소요되는 작업입니다. 라이선스까지 필요하다면 더욱 복잡해지죠.

여기서 잠깐! 마이크로소프트의 무료 개발도구, 데이터베이스가 있다는 사실, 설마 아직도 모르시는 건 아니겠죠?
Visual Web Developer 2008 Express SP1, SQL Server 2008 Express Edition이 바로 그 주인공이죠.
물론 Visual Web Developer 2005 Express, SQL Server 2005 Express Edition도 있습니다.
여기에 .NET Framework 3.5 SP1, IIS6.0 이나 IIS7.0이 있다면 웹 개발이 바로 가능해집니다.
ASP.NET만 쓸 수 있는 것 아니냐고요? 천만예요. IIS6.0에는 장착이 필요하지만, IIS7.0에는 이미 내장된 FastCGI 모듈을
사용하면 PHP를 최고의 성능과 안정성을 제공 받으며 개발할 수 있습니다.

그런데, 앞에서 언급했 듯 각각의 도구를 개별적으로 다운, 설치하려면 불편하다는 겁니다.
이런 개발자들의 고민을 단번에 해결해드리는 "마이크로소프트 무료 웹 플랫폼 설치기"가 나왔습니다.
이 설치기를 이용하시면 위에서 언급한 개발에 필요한 모든 도구들을 한 번에 다운받아, 설치할 수 있게 됩니다.

위의 링크에서 Install Now (지금 설치하기)를 누르시면 됩니다. (현재까지는 Release Candidate 버전입니다)
이후의 과정은 "Your Choice"를 선택하신 후 원하는 도구, 프레임웍, 기능들을 선택하신 후 진행하시면
원하는 도구가 다운로드, 설치되는 지 확인하시면 모든 준비가 완료됩니다.


Posted by 조이트리
아키텍트2008. 8. 19. 17:25

SQL Server Data Services에 대해서는 앞의 글에 간략히 설명을 드렸기에 개요는 더이상 말하지 않겠습니다. 오늘은 SSDS에 대해 조금 더 자세히 설명해 보겠습니다.

SSDS의 이해

비즈니스 로직 Layer 정의 목적
Authority 컨테이너의 집합 계정, 보안등을 위해
컨테이너들을 조직화
"서울", "부산"
Container (컨테이너) 엔티티의 집합 컨텐츠, 쿼리의 목적으로 엔티티 조직화 "판매될 자동차들"
"제공된 서비스들"
Entity (엔티티) 단위 데이터 스토리지 단위 "판매될 자동차"로
필드명, 타입, 값으로 구성됨

Authority, Container, Entity의 체계로 데이터를 저장, 관리합니다.

1. 데이터 모델
    - 특정한 스키마를 필요로 하지 않고, 유연한 데이터 모델을 지원합니다. 엔티티가 최소의 단위 입니다. 엔티티는 프로퍼티를 통해 실제 데이터 값을 가지고 있습니다. 모든 엔티티는 서비스 메타데이타 프로퍼티와 사용자 지정 프로퍼티를 함께 가지고 있습니다. 고정형 엔티티는 없습니다. 서비스 형태로 사용되어져야 하는 특성 상 엔티티와 엔티티간에의 속성은 독립적으로 서로 영향을 미치지 않습니다. 특정 프로퍼티의 값의 데이터 유형은 엔티티 별로 서로 달라집니다. 프로퍼티의 표준화 및 엔티티간의 프로퍼티 유형은 어플리케이션 개발자에 의해 결정되기 때문입니다. 프로퍼티의 데이터 타입의 종류는 스트링, 바이너리, Boolean, Number, 날짜 등입니다.

2. 데이터 조작
    - Authority, 컨테이너, 엔티티에 생성/수정/삭제 등의 데이터 조작이 가능합니다. SSDS는 웹 사이트 인터페이스를 통해 SSDS의 계정 및 authority의 생성 및 삭제 기능을 지원합니다.  
  . 컨테이너의 생성 및 삭제 조작 가능 (수정 기능은 제공되지 않습니다)
  . 엔티티의 생성, 대체 및 삭제 가능
  . 직렬화 포맷의 단일 컨테이너의 검색/조회 가능
  . 직렬화 포맷의 단일 엔티티 검색/조회 가능

3. Query 언어
    - SSDS는 텍스트기반의 쿼리 언어를 지원하는데, C#을 이용한 LINQ 패턴도 가능합니다. 쿼리 언어는 간단한 필터링 시나리오가 가능하도록 해주는데, 단일 authority나 컨테이너를  아래와 같은 규칙에 의해 조회 가능합니다.
    . 특정 조건을 만족하는 컨테이너 값을 가져오기 위해 authority를 조회할 수 있음
      (이 경우 쿼리의 범위는 쿼리가 적용되는 단일 authority로 한정됨)
    . 특정 조건을 만족하는 엔티티 값을 가져오기 위해 컨테이너를 조회 할 수 있음
      (이 경우 쿼리의 범위는 쿼리가 적용되는 단일 컨테이너로 한정됨)
쿼리는 Boolean(AND, OR, NOT) 및 비교 연산자(<, >, <=, >=, !=, ==)를 사용할 수 있음.
모든 비교는 특정 형태로 이루어 져야 하는데, "프로퍼티 OP(연산자) 상수/파라미터"의 형태여야 함. 예를들면, SELECT e FROM e IN 엔티티 WHERE e["도시"] == "서울";

4. 리소스 기반의 쿼리
    - SSDS는 리소스 기반의 쿼리를 지원하는데, 리소스 쿼리는 엔티티, 컨테이너 등의 경로를 경유하여 값을 가져오는 것을 의미합니다. 예를들면, 다음의 REST URI는 특정 컨테이너를 의미하죠.
ChildrensBooksContainer1 beneath the authority:
mydomain.ssds.microsoft.com

만약 http://mydomain.ssds.microsoft.com/ChildrensBooksContainer1 이라는 URI를 입력했다면 해당 컨테이너에 들어있는 모든 엔티티값이 리턴값으로 돌아올 것입니다.

또, 한단계 더 나아가서 http://http://mydomain.ssds.microsoft.com/ChildrensBooksContainer1/SomeBook 이라는 REST URI 를 입력한다면 해당 컨테이너에서 일치하는 SomeBook, 즉 특정 엔티티가 리턴값으로 돌아오게 되는 거죠.

5. 보안
    - 보안은 계정, authority, 컨테이너 레벨에 적용됩니다. 계정은 Windows Live ID를 통해 보호되고, 각 authority는 "Secret Key"를 통해 read/write 접근 권한을 부여하며, 컨테이너 역시 "Secret Key"를 통해 read/write 권한을 부여합니다. 선택적으로 컨테이너는 외부에 읽기 권한을 부여하는 것이 가능합니다.

6. API
    - SSDS 서비스의 런타임은 웹서비스를 통해 이용 가능한데, 가장 중요한 방식은 RESTful 서비스 입니다. Authrity, 컨테이너, 엔티티는 모두 URI 주소를 통해 접근 가능합니다. 또한, SOAP 기반의 endpoint도 지원되는데, SOAP endpoint는 authority 까지만 지원됩니다.
현재까지는 XML이 주로 사용되는 문서 포맷인데, 이후에 AtomPub 등의 다양한 프로토콜이 추가 지원될 것으로 예정되어 있습니다. Visual C#, Visual Basic 등을 통해 LINQ Qurty 역시 사용 가능합니다.

Posted by 조이트리
아키텍트2008. 8. 19. 11:44
SQL Server Data Services (이하 SSDS)는 개발자들이 데이터베이스가 필요할 때 언제든지, 얼마든지 (크기) 사용할 수 있고, 고가용성 및 보안성을 갖춘 온디맨드 데이터베이스 서비스를 의미합니다. 즉, 전기, 수도처럼 원할 때 사용하고 서비스 비용을 지불하는 형태의 유틸리티 컴퓨팅 이라고 할 수 있죠.

특징은 크기에 제한없이 무한으로 사용할 수 있고 원할 때마다 확장 및 축소 가능하다는 점, 고객이 직접 인프라(서버, DBMS 등), 운영인력을 통한 관리 및 운영비를 감당할 필요가 없다는 점, SOAP과 REST 같은 웹 프로그래밍 인터페이스를 통해 웹 어플리케이션을 빠르게 프로비저닝(실제 쓸수 있게 적용)할 수 있다는 점과 사용이 쉽고 표준 기반의 인터페이스를 이용하여 개발하기 때문에 개발자들의 업무 부담이 줄어든다는 장점이 있습니다.

다음과 같은 고객에게 유용할 것 같은데요,
첫째, 대용량 데이터베이스가 필요한데, 초기에 큰 투자 없이 업무 시스템을 개발하려고 하는 고객
둘째, 데이터 사용량이 많고, 매쉬업 유형의 어플리케이션을 최소의 인프라 투자로 보안, 가용성, 관리용이성이
        필요한 개발자 및 파트너사
셋째, 규모가 크거나 공유가 필요한 협업 어플리케이션을 구축하려고 하는 고객

빠른 배포를 위한 어플리케이션 신속한 개발, 온디맨드 확장, 비즈니스에 사용가능한 정도의 SLA(Service Level Agreement) 등의 이점을 강조할 수 있겠네요. 아래 사이트를 통해 무료 베타 서비스가 가능합니다.
 http://www.microsoft.com/sql/dataservices/default.mspx

이후에는 SSDS를 이용한 어플리케이션 개발에 대한 글을 적어 보겠습니다.
Posted by 조이트리