자료실

홈 / 고객센터 / 자료실

MariaDB/MySQL InnoDB 테이블 압축(Compression)

기본정보
  • 글쓴이
  • 고객지원팀
  • 조회수
  • 518회
상세내용

MySQL 5.5: InnoDB에서의 향상된 관리용이성, 효율성  

MySQL5.5 에서 새로 구성되어진 InnoDB는 인터널 InnoDB 셋팅을 통해 사용자에게 더 편한 제어력을 제공하여 특수한 경우나 

어플리케이션 작업들에 대해 성능, 크기(scale), 스토리지부분에  쉽게 모니터링, 조정(tune), 최적화(optimized)가 가능하다. 



MySQL (혹은 MariaDB도 동일)에는 기본적으로 다양한 테이블 엔진이 있습니다.

최근에 필요에 따라 ARCHIVE 엔진을 사용해 볼 기회가 있었습니다.

이 엔진은 로그 저장과 같이 계속해서 Append 되기만 하고,

중간에 삭제되거나 변경되지 않는 자료를 보관하기에 알맞습니다.

대신 색인을 지원하지 않는 단점이 있습니다.


압축률은 데이터에 따라 다르지만 원본의 1/5 ~ 1/3 정도 되는 것 같습니다.


이와는 무관하게 InnoDB 엔진에도 압축할 수 있는 방법이 있습니다.

하지만 이 압축을 위해서는 파일 형식도 달라져야 합니다.


우선 /etc/mysql/my.cnf 파일의


[mysqld] 항목에


innodb_file_per_table=1


innodb_file_format=barracuda




두 항목을 확인합니다.


(없는 항목은 추가합니다.)




innodb_file_format은 디폴트로 Antelope 인데, 이 경우에는 Compress 되지 않습니다.




위와 같이 설정이 변경된 상태에서,




$ /etc/init.d/mysql restart




시킵니다.




그리고 테이블을 만들 때,




CREATE TABLE foo (


 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 


 log VARCHAR(%s) NOT NULL


) ENGINE=InnoDB


ROW_FORMAT=COMPRESSED


KEY_BLOCK_SIZE=8;




와 같은 식으로 만들어 줍니다.




KEY_BLOCK_SIZE는 2,4,8,16 등이 있는데,


8로 했을 경우에 원본 크기의 50% 정도의 압축률과


50% 정도의 입력시 추가 부담 시간이 소요되는 것 같은데,


4로 했을 경우에는 입력하는 시간이 훨씬 더 부담이 


되었습니다.

자료실

유용한 자료들을 모아두었습니다.

자료실 목록
번호 제목 글쓴이
66 고객지원팀
65 고객지원팀
64 고객지원팀
63 고객지원팀
62 고객지원팀
61 고객지원팀
60 고객지원팀
열람중 고객지원팀
58 고객지원팀
57 고객지원팀
56 고객지원팀
55 고객지원팀
54 고객지원팀
53 고객지원팀
52 고객지원팀
51 고객지원팀
50 고객지원팀
49 고객지원팀
48 고객지원팀
47 고객지원팀