* 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 |
댓글