PostgreSQL에서 Oracle RAC와 같이 모든 노드에서 읽고 쓰기를 할 수 있는 클러스터를 구축하고자한다면 Postgres-XC를 검토하게 될 것이다. 물론 다른것도 존재하겠지만 이 녀석이 가장 좋아보인다.

관련 자료 검색 중에 PGXC-Tools라는걸 발견했다. Koichi suzuki라는 분이 만든 오픈소스 툴로 Postgres-XC를 운영하는데 유용한 스크립트/프로그램 모음이라고 한다.

웹사이트 : http://github.com/koichi-szk/PGXC-Tools

아래 사진은 github에서 툴에 대해서 설명한 부분을 캡쳐한 것이다.




iPhone 에서 작성된 글입니다.
Oracle 11g R2 RAC를 설치하는 중이다. 기술지원없이 대충 구글 검색으로 하고있다.
NAS : Openfiler ( Intel core i7 PC )
디비서버 OS : Oracle enterprise linux 5 64 bit ( Intel core i7 PC * 2 )
grid infrastructure 설치 계정 : grid
oracle 설치 계정 : oracle

그리드 인프라 설치 프로그램이 수퍼유저 계정이 아니라면서 종료되버린다. 젠장!!
스토리지 설정, 넷트웍 설정 등을 삽질해서 겨우 설치 단계까지 왔는데 중간에 종료되다니!!

구글링과 오라클 메뉴얼 정독으로 해결하려는데 시간이 모자라네.

iPhone 에서 작성된 글입니다.
오픈소스 데이타베이스 PostgreSQL을 기반으로 분산 처리가 가능한 cluster db를 만드는 Postgres-XC project 홈페이지에 갔다가 위키가 이전된걸 발견했다.
소스포지의 위키에서 아래의 링크로 바꼈다는 안내되어있다. 소스포지의 위키 서비스가 종료되어서 이전했다고 한다.

http://postgresxc.wikia.com/wiki/Postgres-XC_Wiki


iPhone 에서 작성된 글입니다.
Postgres-XC로 시스템을 구축하려고 공부 중입니다. 아직 보기 좋게 정리는 못 했고 우선 간단히 장단점을 적어보려합니다.
회사에서 외부 사이트를 거의 막아놔서 아이폰에서 작성하는거라 글로만 설명하는 점 이해해주시길 바라며...

1. 장점
1.1. Open source라 구축 가능한 인력과 시간, 그리고 장비만 있으면 소프트웨어 라이선스 비용은 들지 않는다.

1.2. 읽기 및 쓰기 부하 분산이 가능하다.

1.3. Oracle RAC처럼 어플리케이션에서는 읽고 쓰는것을 구분하여 디비 접속을 하지 않아도 된다. 전체 노드가 읽기 및 쓰기가 가능하다.

2. 단점
2.1. 1.0 버전이 출시된지 몇달되지 않아서 구축 사례와 한글로 된 자료 등이 거의 없다.

2.2. PostgreSQL 9.1.x 버전에서만 사용 가능하다. 고로 이전 버전을 쓰고 있다면 업그레이드를 해야한다.

2.3. Trigger를 지원하지 않는다.
현재로는 지원하기 어렵다고한다.

2.4. 관리 툴의 부재
기존의 pgAdmin으로는 접속시 오류가 발생하여 관리가 불가능하다.

2.5. 트랜잭션의 문제
펑션 내부에서 dynamic query를 이용하여 update를 하도록 만들어서 여러세션에서 사용했을때, 트랜잭션을 걸어서 사용하면 일부 update문이 실행되지 않는 문제 발생.
설정의 문제인지 버그인지 확인 중입니다.

그런데 위의 문제로인해서 일단 업무에 Postgres-XC을 도입하는것은 보류한 상태입니다.


iPhone 에서 작성된 글입니다.
Postgres-XC에 대해서 검색하다가 찾은 글이다. PostgreSQL의 streaming replication과 pgpool-II를 같이 쓰면 어플리케이션에서 접속 정보 변경없이 읽기, 쓰기를 구분하고 부하분산도 가능하다고 한다.
아... 이것도 꽤 쓸만한 구성인것 같은데...

원문 링크 : http://avicom.tistory.com/m/post/view/id/94

아래는 원문의 일부이다. 전체 글은 위의 링크를 클릭하면 볼 수 있다.


별도의 replication 관리 DB가 필요없고 복제 대상 테이블에 trigger를 설치할 필요가 없다.
아카이브 로그 파일을 읽을 필요가 없다
warm standby의 단점이었던 recovery중인 slave db에 대한 엑세스 제한이 없다.
multi-slave 설정이 가능하다.
streaming replication과 pgpool-II를 조합하면 소스에서 타겟DB를 변경하지 않고도 read/write db를 구분하여 select 쿼리를 slave db로 분산시킬 수 있다.

iPhone 에서 작성된 글입니다.


Cluster/HA DBMS 환경을 구성하려고 보니 DBMS는 오픈소스로 구축 가능하지만, 정작 클러스터 소프트웨어는 상용밖에 몰라서... 혹시나 하고 검색을 해봤더니 LCMC라는 툴이 나왔다.
오픈소스이고 Pacemaker의 GUI 관리툴인듯하다. 자바로 개발되어있다.
흥미로운 툴인듯...... 자세한 내용은 집에가서 가상 머신으로 한번 돌려보고...

iPhone 에서 작성된 글입니다.
 최근 들어 클라우드 컴퓨팅에 대한 관심이 많아졌고, 그래서인지 Hadoop(하둡)에 관한 글도 예전보다는 자주 보이는것 같습니다. 최근엔 한글로 된 책도 나왔더군요.
HADOOP 완벽 가이드
카테고리 컴퓨터/IT
지은이 톰 화이트 (한빛미디어, 2010년)
상세보기

 최근에 삼성 SDS에서도 Hadoop 개발 가능자를 구인하는걸 본적이 있습니다. 아마 Private Cloud System을 구축하려는 고객사들이 점점 늘어나는게 아닌가하는 추측을 해봅니다. 최근에 만난 SI 업체의 영업 담당자의 얘기를 들어보니 모 통신사에서 사내 클라우드 컴퓨팅 시스템을 구축하는 프로젝트를 진행했었다고 하던데, 앞으로 배워두면 경력에 큰 도움이 될것 같다고 생각합니다.
 이런 저런 뉴스들을 접하던 중 한국 IBM DeveloperWorks에 Hadoop에 관한 글이 있더군요. 한번 읽어보면 좋을것 같아서 소개합니다.

제목 : Hadoop을 이용한 분산 데이터 처리, Part 1: 시작
부제 : 단순 클러스터 설치 및 구성하기

Hadoop은 일부 대형 검색 엔진에서 데이터 축소를 위한 핵심 기능으로도 사용되고 있기는 하지만 분산 데이터 처리를 위한 프레임워크라는 설명이 더 잘 어울린다. 단순한 데이터가 아니라 검색 엔진에 필요한 데이터 및 검색 엔진에서 수집한 데이터 등과 같은 대용량 데이터의 분산 처리에 적합한 프레임워크이다. 많은 애플리케이션에서는 분산 프레임워크인 Hadoop을 통해 병렬 데이터 처리를 효과적으로 수행할 수 있다.

이 기사는 Hadoop 및 아키텍처를 소개하기 위한 것이 아니라 간단한 Hadoop 설정을 보여 주기 위한 것이다. 참고자료 섹션에서 Hadoop 아키텍처, 컴포넌트 및 작동 원리에 대한 자세한 정보를 볼 수 있다. 해당 면책사항을 검토한 후 Hadoop 설치 및 구성 과정을 살펴보자.


ROqynQX3gVz0_QcF16svVOdb_B0bY6IcdGWU77GNOT8,

 저희 회사에 Tibero TAC(Tibero Active Cluster)가 도입되었다는건, 이전의 제 글들을 보신 분이라면 아실겁니다. 국산 DBMS 시장에 여러가지 제품이 출시되어 있지만, Oracle RAC처럼 Shared disk 방식으로 구현한 Active-Active 형태의 Cluster 제품은 Tibero TAC가 처음이죠.

 현재 TAC를 사용중인데 편한 점부터 얘기를 해볼까합니다.

 우선 서비스 중단 없이 OS, DBMS 등의 패치 및 점검 작업 등을 할 수 있다는 점이 아주 편하다고 생각합니다. 각 노드를 번갈아가면서 재부팅하는 작업을 해보니 꽤 편하더군요. ^^  그리고 한쪽 노드에 부하가 몰려있을때라도 좀 한가한 나머지 노드에 접속하여 Data 조회, 조작 작업을 할 수 있는 가용성. 확실히 Cluster의 장점이 아닐까요?

 이제, TAC 제품의 단점을 얘기해볼까 합니다.

첫째, 원인을 정확하게 알 수 없는 성능 저하 현상 발생.
Storage와 OS 등의 제품들과 엮여서 딱히 어느 곳이 문제인지 알 수 없는 성능 저하 현상이 발생합니다. 그것도 자주!
벌써 몇달째 고생중인 문제인데요. 현재 원인 규명 작업을 진행중인데 쉽게 해결될것 같지가 않습니다.

둘째, 이기종 DBMS와의 data 공유가 어렵다. DBMS 자체가 이기종 DBMS와의 data 공유가 어렵다는건 티베로 만의 문제는 아니긴 한데, Data 공유를 위한 솔루션(ETL, DB복제툴 등)에서 티베로를 거의 지원하지 않는다는게 문제입니다. TmaxData에서 나온 제품만 지원하고 있죠. DB복제툴은 Oracle이외의 DBMS는 제대로 지원하지 않고, ETL tool의 경우에는 다양한 DB를 지원하지만 실시간 동기화(2, 3분 이내)에는 적절하지 않더군요.
Oracle과는 JAVA Gateway를 이용해서 처리할 수 있는데, 현재는 어느정도 해결이 되었지만 이 부분이 그동안 문제가 많았었죠. 프로세스가 정상 종료되지 않고 남아서 성능을 떨어뜨리는 현상을 일으켰는데, 현재는 Tibero 패치를 통해서 해결이 되었습니다. 뭐, Oracle과는 어느정도 해결이 된다고하지만 그 외의 DB와는 아직 문제가 많습니다. MS-SQL과는 Openquery를 통해서 select만 가능합니다. MS-SQL Gateway를 이용해서 data 공유가 가능하다고 하는데, 별로 권장하지 않는다고합니다. 그래서 좀 고민이 되는 부분입니다. 


+ Recent posts