인프런 커뮤니티 질문&답변
샤딩의 기준
해결된 질문
작성
·
18
0
안녕하세요 쿠케님 강의 잘 보고 있습니다!
강의를 보다가 갑자기 궁금한 점이 생겨서 질문 드립니다.
샤딩의 기준이 현재는 article_id로 되어 있는데, 특정 샤드에 댓글 데이터가 엄청 생성되어서 불균형하게 저장이 되는 경우도 있을까요??
있다면 샤딩의 기준을 다시 정의하는 일도 있는지 궁금합니다.
항상 잘 보고 있습니다. 감사합니다.
답변 1
0
azosi님, 안녕하세요!
강의 잘 수강해 주셔서 감사합니다!
샤딩의 기준이 현재는 article_id로 되어 있는데, 특정 샤드에 댓글 데이터가 엄청 생성되어서 불균형하게 저장이 되는 경우도 있을까요??
확률에 대해서 물어보신거라면 당연히 0이 아니므로 불균형하게 저장될 수 있습니다.
물론, 서비스 정책적으로 최대 댓글 수를 막는다면 큰 문제는 아니겠지만요.
아무튼 샤딩이 불균형하게 되는 상황이 일어날 수 있는지 궁금하신 것으로 이해하였고,
게시글-댓글 관계가 아닌 다른 데이터 구조에서도 이러한 상황은 분명 발생할 수 있습니다.
있다면 샤딩의 기준을 다시 정의하는 일도 있는지 궁금합니다.
위와 같은 상황이 아무튼 생길 수 있으므로, 샤딩의 기준을 다시 정의하는 일도 분명 생길 수는 있습니다.
다만, 이미 운영중인 시스템의 샤드 키를 무중단 시스템에서 변경하는 것은 복잡하고 무거운 작업이 될 수 있습니다.
그래서 처음부터 샤드 키를 잘 설정하는 것이 중요합니다.
여기에서 자세한 내용을 다룰 수는 없고, 샤딩 환경에서의 모델링 전략 관련하여 강의를 만든 것이 있어서 궁금하시면 수강해보셔도 좋을 것 같습니다. (분산 DB 환경을 직접 접하고 있지 않다면 꼭 들을 필요는 없어서 절대 강요는 아닙니다!)
다른 방법으로는, 특정 샤드 키에만 데이터가 쏠린다면, 해당 키를 Hot Key로 보고 특별하게 별도 취급하는 방법도 있습니다. (다른 데이터들은 기존 샤딩 전략을 쓰고, 일부 Hot Key만 별도 전용 샤드로 빼는 등의 방법을 취한다는 것)
감사합니다.





