mysqldump VS mydumper
OS : CentOS Linux 7.0.2009 (Core)
Memory : 16GB
CPU : AMD Ryzen 5 3600 6-Core Processor (VM 환경)
MySQL : 8.0.30 - commercial
Single Thread 기반인 mysqldump는 backup및 load가 느린 것이 단점입니다.
mydumper라는 C언어로 만들어진 오픈소스 툴은 backup과 load 모두 Multi Thread 기반이라 mysqldump에 비해 처리가 수월합니다.
MyDumper is a MySQL Logical Backup Tool. It has 2 tools:
mydumper which is responsible to export a consistent backup of MySQL databases
myloader reads the backup from mydumper, connects the to destination database and imports the backup.
Both tools use multithreading capabilities.
MyDumper is Open Source and maintained by the community, it is not a Percona, MariaDB or MySQL product.
공식 페이지의 install 가이드를 참고합니다.
Redhat / CentOS
[root@localhost ~ ]# release=$(curl -Ls -o /dev/null -w %{url_effective} https://github.com/mydumper/mydumper/releases/latest | cut -d'/' -f8)
[root@localhost ~ ]# yum install https://github.com/mydumper/mydumper/releases/download/${release}/mydumper-${release:1}.el7.x86_64.rpm
MySQL 테스트 데이터 구성
데이터 총 용량
대표 테이블 구조
mysqldump
대략 4분 30초 소요
평균 CPU Load 20%
mydumper
대략 1분 30초 소요
평균 CPU Load 95~100% (옵션에 따라 다를 수 있음)