Push Model은 공간 복잡도를 희생, Pull Model은 시간 복잡도를 희생
정합성과 성능
Push Model vs Pull Model 중 어떤 것이 정합성을 보장하기 쉬울까?
- Pull Model : 원본 데이터를 직접 참조하므로, 정합성 보장에 유리
- 반면, Follow가 많은 회원일수록 처리 속도가 느리다.
Pull Model의 예시) Facebook
Push Model의 예시) 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) 강의 정리 내용입니다.
'CS > 데이터베이스' 카테고리의 다른 글
데이터 정합성 보장을 위한 트랜잭션 이해하기 - 02. 트랜잭션 A, C, I, D (0) | 2023.06.07 |
---|---|
데이터 정합성 보장을 위한 트랜잭션 이해하기 - 01. 트랜잭션이 없는 세상은 (0) | 2023.06.06 |
타임라인 최적화 - 04. 팬아웃 타임라인 이론 (0) | 2023.06.06 |
타임라인 최적화 - 03. 서비스가 커질수록 느려지는 타임라인 (0) | 2023.06.06 |
타임라인 최적화 - 01. 타임라인이란? (0) | 2023.06.06 |