본문 바로가기

Database/GPDB with BIG_data

what is GPDB? 이게 뭘까?

GPDB를 만났다.

 

Greenplum Database

 

이게 뭘까?

 

네이버에 검색해본다. 안 나온다...

 

구글에 검색해 본다.

 

쫌 나온다...

 

연달아서 MPP도 나오고, 대용량, 빅데이터 뭐 이런 말도 나온다.

 

PostgreSQL 오픈 소스 기술을 기반으로 하는 DBMS의 한 종류로써,

 

대부분의 SQL을 지원하며, 최종 사용자 기능 등과 관련하여 PostgreSQL과 매우 유사하단다..

 

일단, 설치를 해서 사용해보고 싶다.

 

아니, 일단 설치를 해야 한다... 이젠 GPDB랑 일 해야 하니깐.

 

 

일단 아키텍처부터 찾아본다.

 

 

기본적으로 약간 다르다.. 무엇과? 오라클이랑..

 

더 적게도 가능하긴 하지만, 일반적인 GPDB 테스트 환경에는 서버 6대가 필요하다.

 

난 물론, VMware로 한다.

 

1. 마스터 (mdw)

2. 스텐바이마스터 (smdw)

3. 세그먼트인스턴스1 (sdw1)

4. 세그먼트인스턴스2 (sdw2)

5. 세그먼트인스턴스3 (sdw3)

6. 세그먼트인스턴스4 (sdw4)

 

위 그림에 마스터 호스트가 보이는데, 이는 마스터를 뜻하며 스탠바이는 말 그대로

 

장애를 대비해 스탠바이하고 있는 것이기에 그림에는 나오지 않았다.

 

오른쪽에 위치한 세그먼트 인스턴스가 4개 보인다. 이게 가장 기본적인 구성이며,

 

일반적으로 여기에다가 서버를 추가할 때는 세그먼트 인스턴스만 4개씩 더 추가하게 된다.

 

하지만, 2개 내지는 3개씩도 추가가 가능하다. (안 되는 건 아니지만, 권장하지는 않음)

 

 

여기서 보면, 일단 데이터는 각 세그먼트 인스턴스에 속한 또 다른 인스턴스 안에 데이터별(테이블별)

 

분산키에 의해 나눠서 들어가고, (그래서 분산키의 지정이 중요함)

 

각 세그먼트 인스턴스는 자신을 제외한 다른 세그먼트 인스턴스에 자신의 내부 인스턴스들의 미러를

 

가지고 있어, 장애를 대비하고 있다.

 

그리고, 쿼리를 수행하게 되면, 오라클과 달리 힌트의 개념이 없이 오직, GPDB의 레거시 옵티마이져

 

(통계정보를 참조함)에 의해 쿼리가 수행되며, 각 세그먼트 인스턴스에서 모든 작업이 이루어진 후

 

마스터에 올라와서는 sort 작업만 이루어지게 되는 것이 기존의 다른 DBMS와의 가장 큰 차이이다.

 

물론, 각 세그먼트 인스턴스가 많을수록 병렬 작업을 수행할 수 있는 node들이 많아지는 것이므로

 

작업 속도는 향상된다.

 

여기까지가 기본적인 GPDB의 겉모습이다.

 

다음엔 VMware에 설치하는 과정을 한번 올려보겠다.

 

By. stricky