mysql_repl

[MySQL]Replication Database 구현

도입 이전 포스팅 참조 : DB 이중화 및 CQRS 패턴의 중요성 실습환경 Docker : v25.0.3 MySQL : v8.3.0 시작에 앞서 간단히 Replication의 원리를 확인해보겠습니다. Slave DB는 Master DB의 로그파일을 참조하여 변경사항을 업데이트 합니다. Master DB는 데이터 변경사항을 Binary log 파일에 저장합니다. Slave DB는 Binary log 파일의 변경사항을 감시하다가, 변경이 발생하면 해당 로그를 확인합니다. 변경사항을 Relay log파일에 적용합니다. SQL Thread는 Relay log파일의 변경사항을 감시하다가, 변경이 발생하면 DB에 반영합니다. 그럼 이제 본격적으로 MySQL Master DB와 Slave DB를 Docker 이미지로 생성하고, Replication 설정을 통해 Master DB의 변경사항을 Slave DB로 복제하는 실습을 진행하겠습니다. ...

2024. 3. 13. · 6 분 · 1071 단어 · Leaf
replication

DB 이중화 및 CQRS 패턴의 중요성

도입 우리가 일상에서 매일 접속하는 인터넷은 전세계의 수많은 사용자가 사용하는 만큼 항상 엄청난 트래픽이 발생합니다. 이러한 트래픽의 가장 중심에는 데이터베이스가 있습니다. 결국 사용자는 데이터베이스를 통해 다양한 정보를 획득합니다. 이러한 데이터베이스의 성능을 늘리기 위해 개발자들은 다양한 시도를 합니다. 그중에서도 이번에는 데이터베이스 이중화와 CQRS 패턴에 대해 알아보고, 이를 실제로 가상서버 및 코드로 구현해보려 합니다. DB 이중화 기법 데이터베이스 이중화에는 다양한 장점이 있습니다. 대표적으로 장애 대응(Failover) : DB가 1개라면, 해당 DB가 다양한 원인1에 의해 장애가 발생했을 시 서비스 운영이 불가능합니다. DB를 이중화한다면 이러한 장애에 신속히 대응할 수 있으며, 차후 손실된 데이터를 복구하는 것도 가능합니다. 부하 분산(Load Balancing) : 하나의 DB가 받던 부하를 여러 DB로 분산한다면, 병목현상으로 인한 장애를 예방할 수 있을 뿐 아니라, 요청에 대한 신속한 응답을 기대할 수 있습니다. 또한, DB 이중화 기법을 통해 시스템의 두가지 성질을 달성할 수 있습니다. ...

2024. 3. 11. · 4 분 · 651 단어 · Leaf