그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Database
Database

DB Replication에 대해 설명해 주세요.

실무4/5
설계4/5
인간4/5
기초3/5

면접관의 질문 의도

복제를 "읽기 분산" 정도로 외워 왔는지, 아니면 로그 형식·복제 지연·장애 전환·일관성 보장 수준까지 운영 관점에서 풀 수 있는지를 가른다.

큐레이션 답변

학습 자료

MySQL Replication은 소스(Primary)의 변경을 바이너리 로그에 적고, 레플리카가 그 로그를 받아 릴레이 로그로 복사한 뒤 자기 데이터에 적용하는 구조다. 바이너리 로그 형식은 Row(행 단위 변경), Statement(SQL 그대로), Mixed(상황에 따라 자동 선택)로 나뉘고 각각 일관성·로그 크기·복잡도가 다르다. 비동기·반동기·그룹 복제 같은 모드에 따라 "커밋이 어디까지 갔다는 보장"이 달라진다. 목적은 읽기 확장(레플리카로 읽기 분산)과 가용성(소스 장애 시 승격) 두 축인데, 둘은 서로 다른 결정과 운영 부담을 요구한다.

좋은 답변 구조

  1. 01소스 → 바이너리 로그 → 릴레이 로그 → 레플리카 적용으로 이어지는 흐름을 단계 순서로 설명한다
  2. 02Row/Statement/Mixed 같은 로그 형식이 어떤 트레이드오프(일관성·로그 크기)를 갖는지 비교한다
  3. 03비동기·반동기 같은 복제 모드가 "커밋 보장"을 어떻게 다르게 정의하는지 분기로 보여 준다
  4. 04복제 지연 추적과 장애 전환 시 데이터 누락 여부 확인 같은 운영 디버깅 포인트로 마무리한다

자주 실수하는 포인트

복제를 "실시간 동기화"라고 단정해 지연 가능성을 빠뜨린다
Statement 기반 복제에서 비결정적 함수(NOW(), UUID() 등)가 일으키는 불일치를 무시한다
비동기 복제 환경에서 "방금 쓴 데이터를 곧장 읽기"를 레플리카로 보내도 안전하다고 단정한다
장애 전환 시 GTID·바이너리 로그 위치 같은 "어디까지 넘어갔는가" 추적을 빠뜨린다

실무 맥락

  • 읽기 트래픽이 폭증해 레플리카 풀로 SELECT를 분산하는 OLTP 백엔드
  • 야간 배치가 돌면서 복제 지연이 누적되어 사용자 응답에 영향을 주는 운영 환경
  • 소스 장애 시 레플리카를 승격해 무중단 전환을 시도해야 하는 인프라

본인 경험에 녹이는 힌트

Seconds_Behind_Master(또는 GTID 격차)가 폭증한 사고를 추적해 본 경험이 있다면 "복제 지연 = 사용자 사고"로 풀어낼 수 있다

방금 쓴 데이터를 레플리카에서 못 읽어 "읽기 직후는 소스로" 라우팅한 경험이 있다면 일관성 보장 사례로 보여 줄 수 있다

장애 전환 후 GTID·바이너리 로그 위치를 맞춰 본 경험이 있다면 운영 책임 이야기로 일반화할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1Row/Statement/Mixed 로그 형식은 어떤 기준으로 고르나요
Q2복제 지연은 어떤 지표로 모니터링하고 어떻게 줄이나요
Q3장애 전환 시 데이터 누락을 줄이려면 어떤 모드와 설정이 필요한가요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문