replication 2

[DB] Azure MariaDB 에서 MySQL로 중단 없이 migration 하기

서론이전 포스팅에서 언급한대로, 회사에서 Azure 기반의 MariaDB에서 MySQL로 migration 하는 작업을 했다.이유는 9월 19일부로 MariaDB에 대한 지원을 Azure에서 종료하기 때문이다.본 포스팅에선 그 방법에 대해 작성하고자 한다. 사실 그렇게 어렵진 않은데, VM 서버의 ubuntu 버전이 호환이 안되서 삽질을 좀 많이했다.결론부터 말하자면, ubuntu 18.04 버전에선 불가능하다. 그리고 GTID 기반 replication도 불가능하다.바이너리 로그 기반 replication이 필요하다.  본인의 작업환경 버전을 꼭 체크하도록 하자.정확히는 온프레미스 환경이라면 어찌저찌 온몸비틀기로 되겠지만, 적어도 Azure 기반에선 불가능하다. 이유는 후술하겠다. 서비스 안정성을 위해..

Backend/DB 2025.02.08

[DB] Replication에 대해 알아보자

서론회사에서 대규모 업데이트를 진행함에 따라, 기존 MariaDB 10.2에서 MySQL 8.0으로 migration하는 작업을 진행했다.이 과정에서 필연적으로 replication 작업도 진행했는데, 하는 방법도 중요하지만 원리에 대해 조금 더 알아보고자 한다.본론Replication?Replication(복제)은 write 연산과 read 연산을 분산시켜 DB의 부하를 낮추고, 시스템 장애 발생 시 slave를 master DB로 승격시켜 빠른 장애 대응이 가능한 기법을 의미한다.정의 같은 것은 너무 기본적인 내용이고 더 자세하게 소개한 레퍼런스가 많으니 패스하고, 간단하게 도식화한 그림으로 이해해보자.어떤 원리로 작동하는가?크게 동기식, 비동기식, 반동기식(semi-sync)가 존재한다.반동기식은 ..

Backend/DB 2025.02.08