안녕하세요.
이번에 새 프로젝트를 시작하면서 메인 데이터베이스로 PostgreSQL을 사용하려고 합니다.
최종 확정된 건 아니지만 강력히 주장하는 중이고 거의 확정적.. ^^;
이전까지는 mysql을 주로 사용했지만 자료의 안정성 및 무결성에 대한 보장이 이전보다 월등해진 까닭에 pgsql을 선택했는데요,
실제로 실무에서 사용하기 전에 몇가지 숙지해야 할 게 있을 것 같아서요.
pgsql에 대한 지식은 실무에서의 사용 경험은 없지만 개인적으로 공부하다보니 경험이 있는 오라클과 상당히 비슷해서 크게 어렵진 않을 것 같습니다. -.-
MySQL의 built-in 리플리케이션은 어플리케이션을 만들면서 조회용 세션, 갱신용 세션을 상황에 따라 선택해서 쿼리를 날렸는데요..
pgsql은 built-in은 없지만 선택할 수 있는 서드파티 어플이 많더군요.
pgpool-II, Slony, pgcluster 세개 중 하나를 사용하게 되지 않을까 싶은데 각각을 사용함에 있어 어플레키이션 레벨에서 사용방식이 틀릴 것 같아서요.
일단 Slony는 mysql의 그것처럼 필요에 따라 세션을 선택해서 사용해야 할 것 같은데 나머지 두 개는 어떤가요..?
조회시에 부하분산과 병렬처리가 가능하다는 점 때문에 pgpool이 가장 땡기긴 하는데, 이놈의 모태가 세션 풀러에서 시작됐다고 하니 참 애매합니다.
pgcluster는 멀티마스터 구조라 클러스터링에 있어서는 가장 적합할 것 같은데 이놈도 애매하구..
질문1. pgcluster, pgpool 두개 중 하나를 사용한다고 했을 때 어플리케이션에서의 처리 방식이 궁금합니다.
예를 들면 복수의 노드 중 아무거나 접속 후 하나의 세션에서 조회, 갱신등의 작업을 한다면 알아서 갱신은 master에서 하고 조회는 slave에서 하는지요..?
아니면 상황에 따라 적합한 노드에 대한 세션을 선택해서 작업해야 하는지가 궁금합니다. ^^;
질문2. 위에서 선택한 세 가지 중 복수를 동시에 사용할 수 있나요? 예를들면 실제 서비스를 위해서 pgcluster를 사용하고
특정 하나의 노드에 Slony를 사용해서 단순 백업용 서버를 구동한다던가.. ㅎㅎ
질문3. 세가지 모두 개발이 계속 진행중인 건가요? DB는 최소 8.3.3부터 버젼업이 있을 때마다 최대한 반영할 계획입니다.
그런데.. 특히 pgcluster는 홈페이지 가보면 떡하니 Last update가 2005년 3월이던가 그렇더군요.
두서없는 글 읽어주셔서 감사합니다. 선배님들의 조언 부탁드립니다.. ^^
|