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

타임라인 최적화 - 06. 타임라인에서 배우는 트레이드 오프

by 컴쏘 2023. 6. 6.

Push Model은 공간 복잡도를 희생, Pull Model은 시간 복잡도를 희생

정합성과 성능

Push Model vs Pull Model 중 어떤 것이 정합성을 보장하기 쉬울까?

  • Pull Model : 원본 데이터를 직접 참조하므로, 정합성 보장에 유리
    • 반면, Follow가 많은 회원일수록 처리 속도가 느리다.

Pull Model의 예시) Facebook

Facebook의 제한 사항

Push Model의 예시) Twitter

Twitter의 제한 사항

  • Facebook : 5000명이 되었을 때는 내가 친구를 끊어야 다른 사람을 친구로 등록 가능
  • Twitter : 5000명이 최대여도 나를 팔로우한 사람이 더 늘어난다면, 다른 사람 팔로우 가능

Push Model에서는 게시물 작성과 타임라인 배달의 정합성 보장에 대한 고민이 필요하다.

  • 모든 회원의 타임라인에 배달되기 전까지 게시물 작성의 트랜잭션을 유지하는 것이 맞을까?

CAP 이론

  • Consistence(일관성), Available(고가용성), Partition Network
  • 위의 3가지를 모두 충족할 수 없다는 의미 → 3가지 중 2가지만 가져갈 수 있다는 의미

정리

Push Model은 Pull Model에 비해 시스템 복잡도가 높다.

하지만, 그만큼 비지니스와 기술 측면에서 유연성을 확보시켜준다.

따라서 상황, 자원, 정책 등 여러가지를 고려해 트레이드 오프 해야한다.


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