long url을 파티션키로 지정했을때 장점이 생각 안나네요 ㅎㅎ;;
visitor는 short url 로만 접근
user는 자신의 short url list를 검색할때 userid 기반으로 파티셔닝 탐색
위 두가지 유즈케이스일거라, 강의 중에 말씀해주신 traffic distribution이 어떤 의미인지 잘 모르겠어요

답변 2
0
안녕하세요. 좋은 질문 감사드립니다.
강의에서 언급했던 Traffic distribution 의 경우에는 단순히 short URL 조회 트래픽뿐만 아니라,
short URL을 생성할 때 발생하는 트래픽을 포함하는 개념이라고 할 수 있습니다.
보통 URL 단축 시스템은 크게 두 가지 주요 트래픽 유형을 가집니다.
Read-heavy 트래픽이 발생하는 유형 (Short URL -> Long URL 조회)
대부분의 사용자는 shortURL 을 입력했을 때 Long URL 로 리다이렉션 됩니다.
이 경우에는 Short URL 을 기준으로 파티션을 나누는 것이 효율적 입니다.
Write-heavy 트래픽이 발생하는 유형 (Long URL -> Short URL 변환)
사용자가 새로운 short URL을 생성할 때, 보통은 해당 Long URL이 이미 존재하는지 체크하는 경우가 많습니다. 이때, Long URL을 파티션 키로 하면 동일한 URL이 하나의 파티션에 저장되므로 검색 속도를 최적화할 수 있음.
즉, 트래픽 분배라는 것은 데이터 읽기 Read 트래픽만이 아니라, 데이터 쓰기에 대한 부하도 고려해야 한다는 것이기 때문에 특정 유저가 대량의 URL을 만들거나, 특정 URL 도메인 (예: https://youtube.com/...) 에 집중된 트래픽이 발생하는 경우, Long URL을 기반으로 분산하면 특정 파티션으로 몰리는 현상을 줄일 수 있습니다. 그래서 Traffic distribution 이 Pros 중의 하나가 될 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 목동 개발자님께서 문의하신 내용에 대해 설명드리겠습니다.
파티셔닝 키로 long URL을 사용하는 경우의 장점
트래픽 분산: long URL을 파티션 키로 사용하는 경우, 데이터가 더 균등하게 분산될 수 있습니다. 왜냐하면 각 long URL은 고유하며, 이는 데이터를 특정 URL 단위로 균등하게 분배하게 만들고, 특정 파티션에 데이터가 집중되는 현상을 줄일 수 있습니다. 이는 데이터베이스 내에서의 고른 부하 분배를 유도하고 전반적인 성능을 향상시키는 데 도움이 됩니다.
부하 관리: 트래픽이 특정 URL에 집중되더라도 그것이 long URL이라면, 데이터베이스는 자연스럽게 다른 파티션으로의 부하 분배를 촉진할 수 있습니다. 이는 특정 URL에 과도한 부하가 걸릴 때도 시스템이 안정적으로 운영될 수 있게 해줍니다.
확장성: long URL을 기준으로 파티션을 나누면, 데이터베이스의 크기가 커져도 새로운 URL에 대한 확장을 용이하게 합니다. 이는 데이터 증가에 따라 시스템을 쉽게 확장할 수 있게 하여, 성능 저하를 방지합니다.
위와 같은 특성 덕분에 트래픽 분산이라는 장점이 언급된 것으로 보입니다. 다만, 이로 인해 발생할 수 있는 단점도 고려해야 하므로, 각 시스템의 요구사항에 따라 파티션 키를 신중히 선정하는 것이 중요합니다.
자세한 내용은 다음과 같은 비슷한 주제로 답변된 질문들을 통해 더 알아보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
특별 학습 자료 프로모션 1년 멤버십 제공 관련 문의 드립니다.
0
59
2
simcached를 검색을 했을때 해당 자료가 나오지 않는데 혹시 MemcachedGPU 라고 불리는 기술을 말씀하시는건가요?
0
57
1
유튜브 예제에서 흐름 관련 질문있습니다
0
47
2
Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.
0
73
1
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법
0
87
2
[위치 이름 기반으로 호텔을 조회하는 메서드] 코드 질문 드립니다.
0
49
2
14강. 영화 DVD 대여 시스템 데이터베이스 스키마 설계에서 Inventory 테이블 질문있습니다.
0
83
2
Matching Service의 MQ 필요성, Cassandra의 필요성, Cassandara - RDB 동기화
0
88
2
Imgur 이미지 호스팅 서비스 질문
0
83
2
쿠폰 문의
0
83
1
Redis 랜덤 값 추가 시 메타데이터 저장
0
88
1
Blob Storage에서 파일 업로드에 대한 동시성을 어떻게 제어할 수 있을까요?
0
106
2
채팅을 영속할 DB로 RDB를 선택한 이유도 궁금합니다
0
269
2
URL 단축 서비스에서 redis counter를 사용하는 이유가 무엇인지 궁금합니다.
0
213
2
실제 인터뷰에서도 Object Oriented Design 을 이런 과정으로 하는걸까요?
0
161
1
able to get all students who got a "d+" grade or lower 요구사항
0
115
1
number of copies 컬럼은 Inventory Table에 들어가야하지않을까요?
0
171
3
Spotify 서비스 시스템 디자인 및 스케일링에서 백업 클러스터 사용에 대한 문의
0
93
2
URL 단축 서비스 시스템 디자인 및 스케일링 질문있습니다.
0
187
2
예시 두개가 납득이 잘 가지않네요 ㅠㅠ
1
201
2
강의자료는 제공 불가능할까요?
0
218
1
General Service 서비스 컴포넌트 관련 질문있습니다!
1
182
2
영화 DVD 대여 시스템 데이터베이스 스키마 설계에 대한 질문입니다.
1
249
2
메세지 큐 예제 2번 질문있습니다!!
0
308
2





