안녕하세요. 바쉬*^^*입니다.

 

이번 TechED 에서 진행된 내용 "Microsoft SQL Server 2008 R2 Parallel Data Warehouse Deep Dive" 세션을 소개하겠습니다.

 

Get Microsoft Silverlight

 

세션링크 : http://www.msteched.com/2010/NorthAmerica/BIE309

원본 영상 다운로드 : http://ecn.channel9.msdn.com/o9/te/NorthAmerica/2010/wmv/BIE309.wmv

PPT 다운로드 : http://ecn.channel9.msdn.com/o9/te/NorthAmerica/2010/pptx/BIE309.pptx

 

세션에서는 올해 5월에 출시한 SQL Server 2008 R2에서 PDW(Parallel Data Warehouse) 대한 설명을 하고 있습니다.

먼저 PDW 대해 간략하게 소개해 드리면,,

 

2008 MS 인수한 데이탈레그로(DATAllegro)사의 아키텍트를 활용하여 하드웨어에 최적화된 소프트웨어 구성 서비스를 어플라이언스(Applience) 형태로 제공하며 MPP(Massive Parallel Processing) 도입한 것이 특징인데, 여기서 중요한 용어인 어플라이언스와 MPP 대해 먼저 알아 보도록 하겠습니다.

 

어플라이언스는 전용장비 또는 빌트인이라고 있는데 세션에서도 강조하고 있는 부분으로 PDW 100TB 이상의 DW용량을 제공하고 HP 함께 내놓은 패스트 트랙Fast Track) 40TB DW 제품입니다. 한마디로 SW 따로 HW따로 사는 것이 아니라 통합된 제품으로 초기 용량도 일단 제한적일 있습니다. (PDW 10TB 없는 거죠, 그러면 아이팟 100MB 없는거와 마찬가지….. ^^;;;)

 

대신 DBMS HW사가 손잡고 성능을 극대화 것이라 있습니다.

다음 용어인 MPP 초병렬프로세싱으로 기존 SMP(Symmetric Multi Processing : 대칭형 멀티프로세싱)방식을 극복한 방법입니다. 기존 SMP 멀티 프로세싱을 구현하는 방법 하나로 시스템에 장착된 프로세서가 하나의 메모리와 입출력 버스, 데이터 경로를 공유하는 방식으로 멀티 프로세싱을 하지만 프로세서가 많아 지면, 자원을 관리하는데 들어가는 비용이 많아져서 결국 효율성이 떨어 집니다.

대신 MPP방식은 각각의 프로세서가 고유한 메모리 영역과 입출력 버스를 사용하는 멀티 프로세싱 방법입니다.

 

아… 정말 서론이 길었습니다. 그럼 본론으로 넘어가면…

 

 SQL Server 2008 R2 PDW Win2008 SP2에서 SQL Server 2008 R2 SP1cu5 이며, 어플라이언스 같이 SW HW 통합된 것이라는 , 시퀀스 IO 성능을 극대화한 DB이며, 물리적으로는 여러 대의 서버지만 사용자가 보기엔 한대의 서버로 보이게 됩니다.

HW업체로는 HP, Dell, IBM, EMC 같은 업체에서 지원합니다.

 

하드웨어 아키텍쳐는 다음과 같습니다.

2010071201.png 

단에 Control Rack Control Nodes에서 쿼리를 받으면, Data Rack Compute Nodes 이용하여

병렬처리를 하게 됩니다. 이때 Compute Nodes 보면 MPP방식으로 저장 노드와 1:1 처리 됨을 있습니다.

결과는 최종적으로 Control Nodes 모아지게 됩니다.

 

 

빠른 처리를 위하여 Ultra Shared Nothing이라는 방법을 사용하는데,

2010071202.png

양이 적은 디멘젼 테이블 저장 노드에 가지고 있고 용량이 팩트테이블은 나눠 가지고 있다가 Hash 분산을 이용하여 처리 하는 것입니다.

다음과 같이 처리할 때 분산해서 저장해야 조건 또는 키를 지정하는 것이 중요하다고 합니다.

 

 

많은 업체들이 MPP 방식의 어플라이언스 DW 대해 많은 솔루션과 방법을 제시하고 있습니다. MS 아직 최상의 리더는 아니지만 MS SQL 2008 R2 기반으로 빠른 시간안에 리더 임이 분명합니다.

(아래는 2010년 1월에 발표한 DW시장)

2010071203.jpg 

 

현재 Netezza 라는 어플라이언스 MPP DW 이용하여 프로젝트를 진행하고 있는데, 성능이 월등합니다. 참고적으로 Netezza 인덱스가 없습니다. DBMS 인덱스가 없이도 이렇게 빠를 있구나 하고 일반적인 통념을 무색하게 정도입니다. 물론 가격은 엄청납니다만. 가격대비 성능은 확실히 보장합니다.

 

결론적으로..

OLTP 쪽으로는 어떨지 모르겠지만, OLAP으로 최적임에는 분명합니다.

MS SQL 2008 R2 DW 저도 하루 빨리 사용해 보았으면 합니다.~~일단 개인적으로 구매가 안되니깐 ㅋㅋ

회사에서 MS SQL 2008 R2 DW 으로 제안하고, 사용하는 고객이 빨리 늘었으면 하는 바램입니다…

 





profile

안녕하세요, SQLER의 바쉬*^^*, 김상수입니다. 행복 하세욤~. ^.^
위세아이텍 연구소 책임 / SQLER 시샵 / BI Developer
E-Mail: bash1130@hotmail.com / Mobile: +82 10-6231-7672 / NateOn:bash1130@nate.com