본문 바로가기
DB/MariaDB

[MariaDB] CentOS에서 TokuDB 사용하기

by dev.altkey 2017. 4. 6.



* TokuDB?

Percona TokuDB 는 MySQL 에서 사용하던 추가적인 엔진으로 알고있습니다. MariaDB에서는 기본적으로 탑제가 되어있으나 설정으로 동작을 시키는 방식으로 구동이 됩니다.


RDBMS는 보통 B- 트리를 사용하지만 TokuDB 는 Fractal Tree Indexing 을 사용하여 InnoDB 에 비해 약 20배 정도의 더 빠른 응답시간을 가진다고 합니다. (공식홈페이지) Fractal Tree Indexing 에 대한 참고 문서는 (링크 / 링크) 로 가셔서 확인하시면 됩니다.


그럼 TokuDB를 어느때 사용해야할까는 저도 전문가(DBA)가 아니기에 확언은 하지 못하지만 여럿 밴치마크와 공식 문서에 참고하자면

 * InnoDB 대비 적은용량으로 SSD를 사용할시에 읽기 쓰기 작업단위가 낮기때문에 수명이 늘어난다.

 * 높은 압축율에 비해 속도저하는 없다.

정도로 압축이 될 수 있습니다. 참고한 밴치마크는 공식 홈페이지(링크) 와 개인 블로그 밴치마크인 (링크) 에서 참고하였습니다.

 

* 리눅스 계열에는 활성화를 위해 THP 라는 것을 비활성화 시켜준뒤에 사용을 해야합니다.



* THP 비활성화

CentOS 7 에는 THP 가 활성화가 되어있습니다 하지만 TokuDB 에서는 THP를 끄도록 되어있습니다. 먼저 CentOS 에서 THP 를 비활성화 시켜보도록 하겠습니다.


먼저 관리자 권한 su 로 얻으신 뒤에 진행합니다.

vi /etc/rc.local

부팅시 명령어를 실행시키기위해 rc.local 파일을 수정하도록 하겠습니다.



위 이미지처럼 명령어를 넣어줍니다.


echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

저장후 나오신 뒤에 권한 지정을 해주도록 하겠습니다.


chmod +x /etc/rc.d/rc.local


* 마리아DB TokuDB 설정


※ MariaDB 10.2 버전부터 다시 개별 설치로 바뀌었습니다. 아래 명령어로 먼저 설치후에 진행하시면 됩니다.

yum install MariaDB-tokudb-engine



그다음으로 마리아 DB에 있는 TokuDB 를 작동시키기 위해 설정파일을 수정해 보도록 하겠습니다.


vi /etc/my.cnf.d/tokudb.cnf



위 이미지와같이 # (주석)을 제거한뒤 저장하도록 하겠습니다.


이제 시스템 리부팅 후에 TokuDB를 사용하시면 됩니다.


만약 시스템 리부팅 없이 사용하시고 싶으시다면 THP 바로 적용을 위해 명령을 쳐주시고 mariadb 를 재시작 해주시면 됩니다.


echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
systemctl restart mariadb


이것으로 TokuDB 설정을 마칩니다.



* 레퍼런스

Enabling TokuDB (mariadb.com/kb/en/mariadb/enabling-tokudb/)

How to disable THP on Centos 7 for mongodb (http://stackoverflow.com/questions/29644777/how-to-disable-thp-on-centos-7-for-mongodb)

'DB > MariaDB' 카테고리의 다른 글

[MariaDB] 컬럼 암호화(Encrypt) Part2  (0) 2017.05.19
[MariaDB] 컬럼 암호화(Encrypt)  (0) 2017.05.18

댓글