2009년 4월 22일 수요일

InnoDB 파일배치3

[데이터, 인덱스를 테이블 단위로 보존]
mysqld옵션 innodb_file_per_table을 지정하면 데이터하고 인덱스를 각 테이블 단위로 개별 작성된다.  파일은 .frm파일과 같은 디렉토리에 작성된다.

파일명은 다음과 같다. 

  테이블명.ibd

이 한개의  파일안에 데이터와 인덱스 모두 포함된다. 

부수적으로  innodb_file_per_table을 지정했더라도 테이블 스페이스는 필요하다. 
데이터 사전과 UNDO로그는 이 영역을 사용하기 때문이다. 

[REDO로그 파일]
REDO로그 파일은 트랜잭션로그를 말하는 것으로 여러개의 파일로 구성된다. 
파일은 innodb_log_group_home_dir에 지정되는 디렉토리 밑에 작성된다. 

파일은 표준으로는 2개이지만 설정에 따라서 파일 수를 변경하는 것도 가능하다. 

ib_logfile0
ib_logfile1

보존위치, 파일수 , 파일의 사이즈는 다음 옵션으로 지정가능하다. 

innodb_log_group_home_dir  REDO로그파일 보존위치 디렉토리 
innodb_log_files_in_group REDO로그파일 수
innodb_log_file_size REDO로그 파일의 사이즈 

로그 영역사이즈는 다음과 같다. 

innodb_log_files_in_group  X  innodb_log_file_size 

이 사이즈는 체크포인트의 발생에도 관계가 있다.  
트랜잭션 처리가 가능한 정도의 크기가 설정되어져야한다. 
너무 크기가 크면 리커버리(복구)에 시간이 걸리게 됨으로  크게하더라도 Buffer Pool까지 이다. 

로그 파일을 미러링하는 기능은 현재 존재하지 않는다.