2009년 6월 6일 토요일

MySQL Cluster의 특징 6

◆shared nothing형

일반적인 클러스터 구성으로서 복수의 노드가 한개의 디스크를 공유하는 공유디스크형(shared everying) 과 각 노드가 각각 각자의 디스크에 저장, 서로 공유하지 않는 비공유디스크형(shared nothing)이 있다.

MySQL Cluster는 후자를 채용하고 동기 replication에 의한 가용성을 높이고 있다.

shared everyting형은 노드의 추가가 용이한 반면, 고가의 공유 디스크가 필요하거나 Lock경합에 따른 성능저하가 우려되는 등의 과제가 있다.

한편 shared nothing형인 MySQL Cluster의 장점, 단점은 shared everything형의 정반대라고 말할 수 있다.

다만, Data Node 추가에는 시스템 전체의 정지와 노드 재구축이 필요로 하는 한다는 과제가 있다.

그 때문에 관리해야만 하는 데이터양이 급격히 증가하거나 하는 경우, 그것을 전부 NDB스토리지엔진에서 관리하는 것은 문제가 있다.

MySQL은 InnoDB와 MyISAM등 그 이외의 스토리지엔진도 선택가능하고 이것을 병용하는 것도 가능함으로 오래된 데이터를 별도의 스토리지 엔진에 이행해서 NDB스토리지 엔진에서 사용하는 레코드를 일정 이하로 유지하는 운용방침도 검토하면 좋을 것이다.

이러한 유연한 대처가 가능한 것도 MySQL의 매력중에 하나라고 말할 수 있다.