Meet-Coder-Study/book-system-design-interview

[05주차]_8장_URL 단축기 설계_윤철

icarus8050 opened this issue · 1 comments

  • 책의 예제에서 생성한 단축 URL을 DB에 저장하고 찾는 과정이 포함되어 있는데, DB에 하루에 1억건씩 write하고, 읽기 연산은 11,600TPS 가 필요한 상황에서 오는 부하로 인해 처리 지연이 발생하지는 않을까 싶네요. 그래서 제시한 솔루션으로 캐시 서버를 이용하는 방법이 있는데, DB에서도 RDB를 사용하는 것보다 Mongo와 같은 NoSQL을 사용하는건 어떻게 생각하시나요? base-62 변환에서는 ID의 유일성이 보장된 후에 단축 URL을 생성하기 때문에 충돌에 대한 고려를 하지 않고 write를 할 수 있을 것 같은데요. 그러면 상대적으로 더 성능이 좋고 샤딩이 편한 NoSQL을 사용하는 것도 좋을 것 같다는 생각이 드네요.
  • Write도 초당 1160TPS가 필요한데, 이건 단순히 24시간을 초로 나누었을 때의 기준이라 더 정확하게는 낮시간에 Write 가 훨씬 많이 발생하고 밤에는 상대적으로 적을 것이기 때문에 위와 같이 유일성이 보장된다면 NoSQL을 선택하는게 처리지연에 있어서 부담이 좀더 덜할 것 같다는 생각입니다. 여러분들 생각은 어떠신가요??

윤철님이 이번에 참여못하셔서 참여하신 분들끼리 간략하게 이야기나눠보았습니다.
거의 대부분이 문제가 없을 것 같다는 의견이셨어요. 그리고 조인 등의 RDB를 필요로 하는 포인트도 없었기에 NoSQL이 더 좋아보이기도 하는 의견도 있었습니다!