http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
인텍스 추가 등에…
mysql master - s…
다대다 관계에서 …
mysql my파일과 …
mysql server 설…
 
질문과 답변 (Cluster) > 커뮤니티 존 > 질문과 답변 (Cluster)
share nothing에서 메모리기반 클러스터란..?
글쓴이 : 까르보나라   날짜 : 08-02-13 11:50   조회수 : 6441
공유스토리지 데이터를
리눅스 장비(mysql) 2대에서 각각 접근하도록 클러스터 구축이 가능한지요?
현재까지 버전이 메모리기반에 공유라 본것같은데...
클러스터라는 개념이 스토리지 별도로 두고, mysql끼리 서로 살아있는지 체크한다는 개념인가요?
그럼 2개모두 살아서 각각 스토리지를 엑세스할수있는지요?
 
주로 사용할 데이터는 분석데이터기준으로 통계데이터를 만들어 사용자들이 엑세스가 가능하기도한 부분이라 안정성이 필요하기도 해서 클러스터 도입을해야할지를 고민중이거든요..
 
mysql 초보라서 ...아시는분 답변좀 부탁드립니다.
이창희
위에 질문을 제가 잘 이해는 못하겟는데 제가 아는 선에서 말씀드리자면 공유 스토리지가 필요가 없습니다.
그리고 공유 스토리지를 어케든 이용을 하게되면 이중화의 의미가 없어지는 거죠.

클러스터는 잘 아시겠지만 MGM 노드, NDB노드, MYSQL노드 이렇게 크게 3가지로 나눠져 있습니다.
그중 MGM노드는 자신 및 여타 다른 노드들을 말그대로 관리해주는 노드고요.

중요한건 MYSQL노드와 NDB노드인데
MYSQL노드로는 디비를 억세스하기 위해 접근하는 창구 역할을 하는 노드입니다.

그럼 마지막 NDB노드 한개가 남아 있는데 NDB는 물리적으로 2대 이상으로 나눠져 이중화가 되며
데이터를 이중으로 가지고 있는 방식입니다. 물로 모든 데이타는 메모리에 올라가 서비스를 하고 있습니다.
버전 5.0기준으로요. 뭐 올해 상반기중에 5.1버전이 릴리즈 된다는 소문이 있긴 하지만
확실지는 않고 하지만 5.1은 그존 메모리기반으로만 했던 서비스를 디스크 기반을 추가해서
대용량 데이터를 처리가 가능하게 해주는 거죠.
듀크
서버A1 : MGM node
서버B1 : MySQL node
서버C1 : NDB node


서버A2 : MGM node
서버B2 : MySQL node
서버C2 : NDB node

이렇게 클러스터가 6대의 서버에 6개의 노드로 구성을 한다면

MGM node는 위에 이창희님 말대로 입니다.

거기다 추가를 해준다면 NDB 엔진을 이용하지 않고 그외의 엔진을 이용해서 쌓는 데이터는 MySQL node에 쌓이고요

NDB node에는 NDB에 관련 데이터만 디스크에 쌓이고 5.0에서는 구동시 전부 메모리에 올라갑니다.
각각 서버C1 : NDB node, 서버C2 : NDB node의 디스크 상의 데이타는 항상 일치하지만
반밖에 활성화되어 사용한다고 이해를 하시면 됩니다.

예를 들어 클러스터 NDB에 1 ~ 20의 데이터가 있다고 하면 서버C1, 서버C2에 각각 1 ~ 20의 데이터가 들어가있지만
서버 C1에는 1~ 10만 활성화, 서버 C2에서는 11 ~ 20만 활성화 되어 클러스터 로직에 따라서 서비스를 하게 되는 거죠
13이라는 데이터를 가져올때는 서버 C2에서 가져오고 5라는 데이터를 가져올라면 서버C1에서 가져오는 거죠
물론 서버C2가 죽었다면 가지고 있는 모든 데이터 1 ~ 20을 다 활성화 시켜서 서비스를 하는 거죠
그래서 자동 failover가 된다는 겁니다.

그림 없이 말로만 설명하려니까 넘 힘드네요;;;
이전글 리플리케이션을 클러스터 처럼 사용할 수도 있나요? 
다음글 MySQL Cluster 제품이 GPL버전도 있나요? 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
Copyright ⓒ ssebiz All Rights Reserved.