본문 바로가기
CS/데이터베이스

타임라인 최적화 - 04. 팬아웃 타임라인 이론

by 컴쏘 2023. 6. 6.
728x90

Fan Out On Read

  • Pull Model 이다.
  • 조회 시점에 부하가 있음

Fan Out On Write (Push Model)

  • write 시점에 fan out을 한다.
  • 핵심 개념 : 게시물 작성시, 해당 회원을 팔로우하는 회원들에게 데이터를 배달한다.

아무것도 없는 상태

3번 유저가 게시물을 작성

  • **Fan Out On Write (Push Model)**에서는 Timeline이라는 별도의 테이블이 생기게 됨
  • 유저가 게시물을 작성하는 시점에 해당 유저의 follow을 찾게 된다.

해당 유저의 follow을 찾음
1번 유저(해당 유저의 follow)

1번 유저(해당 유저의 follow)에게 해당 유저의 게시물을 배달해줌 → Timeline table에 게시물을 insert 해주는 것(게시물이 작성되는 시점에)

 

1번 유저가 게시물을 작성

follow 테이블에서 1번 유저의 follow하고 있는 유저를 찾음

3번 유저(해당 유저의 follow)

3번 유저(해당 유저의 follow)에게 해당 유저의 게시물을 배달해줌 → Timeline table에 게시물을 insert 해주는 것(게시물이 작성되는 시점에)

조회 시점

  • 타임 라인 조회시에는 Timeline 테이블을 조회하여 게시물들 조회
  • 팔로워 수가 많은 유저도 시간에 부담이 없음 (OR 조건을 제거함으로써 부하를 줄임)
  • Pull 모델에서의 조회시점의 부하를 쓰기시점의 부하로 치환 (Timeline 테이블에 배달을 해줘야하기 때문)

2023 KAKAO Tech Campus_BackEnd 필수 과정
DB(MySQL) 강의 정리 내용입니다.
728x90