http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
foreign key 설정…
인텍스 추가 등에…
mysql master - s…
다대다 관계에서 …
mysql my파일과 …
 
질문과 답변 (Cluster) > 커뮤니티 존 > 질문과 답변 (Cluster)
디스크 기반과 메모리 기반에 대해 궁금합니다.
글쓴이 : 아침꽃   날짜 : 12-10-25 11:24   조회수 : 6120
안녕하세요.
 
클러스터 디비를 디스크 기반으로 사용하는 것과 메모리 기반으로 사용할 수 있는 것에 대해서
 
설정 파일에서 각종 메모리 부분 사이즈를 크게 잡으면 그것이 메모리 기반으로 사용하는 것인지요?
 
데이터 사이즈에 따라 메모리 설정 값들을 늘려 주면 되는지요?
 
정확하게 어느 부분인지
그리고 데이터 사이즈 만큼 해주면 되는 것인지 계산하는 공식이 따로 있는지 궁금합니다.
 
감사합니다. ^^
taeguni
이해를 좀 달리해야 할것 같습니다. 아래 내용을 참고 하시고, 다시 메뉴얼을 보시는 것이 도움이 될 듯 싶네요.

mysql> CREATE TABLE t1 (
    >    c1 INT NOT NULL PRIMARY KEY,
    >    c2 VARCHAR(30)
    >    )
    >    TABLESPACE ts1 STORAGE DISK
    >    ENGINE NDBCLUSTER;
Query OK, 0 rows affected (1.73 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER ONLINE TABLE t1 ADD COLUMN c3 INT COLUMN_FORMAT DYNAMIC STORAGE MEMORY;
Query OK, 0 rows affected (1.25 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER ONLINE TABLE t1 ADD COLUMN c4 INT STORAGE MEMORY;
Query OK, 0 rows affected, 1 warning (1.17 sec)
Records: 0  Duplicates: 0  Warnings: 0


mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
      Table: t1
Create Table: CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  `c2` varchar(30) DEFAULT NULL,
  `c3` int(11) /*!50120 STORAGE MEMORY */ /*!50120 COLUMN_FORMAT DYNAMIC */ DEFAULT NULL,
  `t4` int(11) /*!50120 STORAGE MEMORY */ DEFAULT NULL,
  PRIMARY KEY (`c1`)
) /*!50100 TABLESPACE ts_1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
1 row in set (0.03 sec)


위에서 STORAGE DISK / STORAGE MEMORY 옵션 설정 부분을 보시면 이해가 되실 것 같습니다.

다음은 메뉴얼 링크 입니다.
http://dev.mysql.com/doc/refman/5.5/en/alter-table-online-operations.html
royster
통상적으로 MySQL Cluster 필요메모리 총용량 구하는 공식은 아래를 참고하구요..
공식) Data Size * NoOfReplicas(replica 수) * 1.25
샘플) 20Gb * 2 * 1.25 =  50Gb

보다 정밀한 값을 추정하려면...
/usr/local/mysql/bin/ndb_size.pl 유틸을 활용하세요 !

MySQL Cluster는 기본적으로 메모리기반으로 사용하여야 합니다.

Disk기반으로 사용하고자 할때는 단순한 로그성 테이블은 활용하여도 되지만..(싱글쿼리들)

Disk기반의 테이블들에 Join Query시 Memory테이블들의 Join Query에 비하여
I/O부하가 증가되며 동시에 Join Query 리턴 속도 또한 저하 됩니다.
이전글 클러스터 구성시 SSD 사용 관련 문의 입니다. ^^ 
다음글 Table Creation Error 문의 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
Copyright ⓒ ssebiz All Rights Reserved.