본문 바로가기

cs(with 매일메일)

[251031금] DB Replication에 대해서 설명해주세요

대규모 어플리케이션 환경에서는 데이터의 지속적인 가용성과 신뢰성이 굉장히 중요하기 때문에,

원본(Source)서버와 복제(Replica)서버 간의 데이터 동기화가 중요하다. 

 

DB Replication : Source서버에 발생하는 모든 데이터 변경 사항을 Replica서버로 복제하여 두 서버간의 데이터 일관성을 유지하는 매커니즘 > Binary Log를 기반으로 이뤄짐

 

Binary Log 방식 3가지 : Row, Statement, Mixed

 

Row

방식 : 데이터베이스의 각 행별로 변경된 내용을 정확히 기록

장점 : 데이터 일관성을 매우 높게 유지

단점 : 저장 공간에 부담을 준다

 

Statement

방식 : 데이터 변경을 일으킨 SQL문 자체를 기록

장점 : 로그 파일을 상대적으로 작게 유지할 수 있어, 저장 공간 절약

단점 : 실행할 때 마다 반환하는 함수와 같이 비확정적 SQL쿼리의 경우, 동일한 쿼리가 Source와 Replica서버에 다른 결과 줄 수 있음(ex.  SELECT NOW())

 

Mixed

방식 : 상황에 따라 row, statement를 혼합하여 사용, 비정확성 SQL문인지를 기준으로 

장점 : 저장공간 절약하면서 데이터 불일치 문제 해결할 수 있다. 

단점 : 구현이 다소 복잡