해결된 질문
작성
·
79
답변 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은 고유하며, 이는 데이터를 특정 URL 단위로 균등하게 분배하게 만들고, 특정 파티션에 데이터가 집중되는 현상을 줄일 수 있습니다. 이는 데이터베이스 내에서의 고른 부하 분배를 유도하고 전반적인 성능을 향상시키는 데 도움이 됩니다.
부하 관리: 트래픽이 특정 URL에 집중되더라도 그것이 long URL이라면, 데이터베이스는 자연스럽게 다른 파티션으로의 부하 분배를 촉진할 수 있습니다. 이는 특정 URL에 과도한 부하가 걸릴 때도 시스템이 안정적으로 운영될 수 있게 해줍니다.
확장성: long URL을 기준으로 파티션을 나누면, 데이터베이스의 크기가 커져도 새로운 URL에 대한 확장을 용이하게 합니다. 이는 데이터 증가에 따라 시스템을 쉽게 확장할 수 있게 하여, 성능 저하를 방지합니다.
위와 같은 특성 덕분에 트래픽 분산이라는 장점이 언급된 것으로 보입니다. 다만, 이로 인해 발생할 수 있는 단점도 고려해야 하므로, 각 시스템의 요구사항에 따라 파티션 키를 신중히 선정하는 것이 중요합니다.
자세한 내용은 다음과 같은 비슷한 주제로 답변된 질문들을 통해 더 알아보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.