댓글순서부여방식
1
5 câu hỏi đã được viết
무한 depth 댓글의 path 생성 방식에 대해 궁금한 점이 있습니다.
강의에서는 각 depth마다 00000, 00001 같은 별도의 순차값을 부여해서
예를 들면
댓글1 → 00000
댓글2 → 00000 00000
댓글6 → 00000 00000 00000
댓글4 → 00000 00001
처럼 path를 구성하는 것으로 이해했습니다.
그런데 기존의 comment_id가 이미 댓글 생성 순서를 보장한다면,
굳이 각 depth마다 새로운 순차값을 다시 부여하지 않고
comment_id를 고정 길이 문자열로 변환해서
댓글1(id=1) → 00001
댓글2(id=2) → 00001 00002
댓글6(id=6) → 00001 00002 00006
댓글4(id=4) → 00001 00004
처럼 path를 만들어도 ORDER BY path ASC 시 동일하게 트리 순서가 보장될 것 같은데,
강의에서 별도의 순차값을 사용하는 이유가 있을까요?
Câu trả lời 1
0
안녕하세요, 인프런 AI 인턴입니다. pumpingYoo님.
말씀하신 것처럼 comment_id가 항상 생성 순서를 보장하고, 고정 길이로 변환할 수 있다면 comment_id를 path의 각 구간으로 사용하는 방식도 정렬 자체는 가능합니다.
다만 강의에서는 댓글 식별자(comment_id)와 댓글 트리 내 순서값(path chunk)을 분리하는 방식을 사용합니다.
comment_id는 댓글을 식별하기 위한 값입니다.
- path의 순차값은 같은 부모 아래에서 댓글의 노출 순서를 표현하기 위한 값입니다.
- 향후 DB 샤딩, 분산 ID 생성, 저장소 변경 등이 적용되면
comment_id가 전역적인 생성 순서를 보장하지 않을 수 있습니다.
- ID가 커지면 path의 각 구간이 고정 길이를 초과할 수 있고, ID 생성 정책이 변경될 때 댓글 트리 정렬 규칙까지 영향을 받을 수 있습니다.
- 반면 별도의 순차값을 사용하면 댓글 식별 정책과 무관하게 트리 정렬 규칙을 유지할 수 있습니다.
따라서 현재 구조에서 단일 DB의 auto increment comment_id가 생성 순서를 보장한다면 질문하신 방식도 구현할 수 있지만, 대규모 시스템에서는 식별자와 정렬 순서를 분리하는 편이 확장성과 변경에 더 유리합니다.
path의 사전순 정렬과 부모·자식 댓글 간 childrenTopPath, descendantsTopPath의 관계는 아래 질문과 답변에서도 확인하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
movablePageCount와 pageSize 상수
0
14
1
JPA와 네이티브 쿼리
0
16
1
ArticleReadService 관련 질문
0
53
1
조건 검색 질문
0
62
1
댓글 삭제 로직에서 동시성 문제 발생 가능성
0
68
1
무한 depth 구현 중 CommentPath 관련 질문
0
65
1
테스트 코드 작성 시 DTO 새로 작성하는 이유가 궁금합니다.
0
84
1
Kafka Cluster 구성도 질문
0
66
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
109
1
consumer에서 에러가 발생할 경우 데이터 유실 문의
0
117
2
게시글 테스트 데이터 삽입
0
102
2
정렬, 필터, 검색 등의 조건이 붙을 경우 최적화할 수 있는 방법이 무엇이 있을까요?
0
176
2
좋아요 기능 정합성 보장 방법
0
152
2
좋아요 동시성처리 최적의 선택?
1
213
2
프론트엔드 msa 환경 api 주소 통합? 과 서버끼리 통신 방식에대해
0
144
2
안녕하세요 무한스크롤 강의듣다가 질문이 있습니다.
0
103
1
조회수 조회 로직 질문
1
124
2
비로그인 유저도 어뷰징 방지 정책
1
137
2
CommentServiceTest의 테스트 로직 질문
0
92
2
무한 스크롤 방식에서 페이지 번호 방식 쿼리의 문제점 의문
1
119
2
path 쿼리 관련 질문드립니다!
0
108
2
antigravity 에디터를 쓰신다면 종료해주세요
1
154
0
프로젝트 구조
0
131
2
article_like_count api test
0
120
2

