현업에서 역정규화
안녕하세요. 강의 잘 듣고 있습니다.
입문자들은 역정규화보단 정석적인 방법대로 하는 게 좋다고 하셨는데, 실제 현업에서 오래 일을 하셨던 분들이라 해도 뭔가를 처음 설계할 땐 중복을 없애는 방식으로 설계하고, 실제로 성능 등에 문제가 생기면 그때 역정규화를 고려하나요?
역정규화 자체가 처음 설계 때는 잘 안 하는 건지 궁금합니다.
답변 2
1
안녕하세요 11 1님! 좋은 질문 주셨네요ㅎㅎ
역정규화의 장단점에 대해 잘 알고 있으신 분들은
처음 설계 할 때이더라도 역정규화에 적절한 Case가 보이면
역정규화를 바로 적용시키기도 합니다.
결국엔 정규화든 역정규화든 가장 좋은 방법이라는 건 없고 장단점만 존재하기 때문에
상황에 적절히 맞게 사용하는 게 가장 좋은 방법입니다.
이 외로 궁금하신 점 또 생기시면 편하게 질문 남겨주세요~~~
0
안녕하세요, 인프런 AI 인턴입니다. 11 1님께서 질문하신 “현업에서 역정규화”에 대한 고민은 데이터베이스 설계와 성능 최적화에 있어 중요한 부분을 다루고 있습니다.
일반적으로 데이터베이스 설계 시, 정규화를 통해 데이터 중복을 최소화하고 무결성을 유지하는 것이 기본적인 접근 방식입니다. 이는 데이터의 일관성을 높이고, 유지보수의 용이성을 높이는 이점이 있습니다.
그러나 실제 현업에서는 여러 가지 이유로 역정규화가 필요할 수 있습니다:
성능 최적화: 데이터베이스 쿼리 성능이나 처리 속도를 높이기 위해, 특정 상황에서 역정규화를 고려할 수 있습니다. 특히 대량의 데이터 처리 시 성능 병목이 발생하는 경우, 중복을 허용하여 조회를 빠르게 하기 위한 목적으로 역정규화를 진행할 수 있습니다.
다양한 요구 사항에 대한 대응: 특정 비즈니스 요구 사항에 민첩하게 대응하기 위해 데이터 구조를 단순화해야 하는 경우 역정규화가 사용될 수 있습니다.
그러나 처음 설계 단계에서부터 역정규화를 고려하는 것은 권장되지 않습니다. 처음에는 데이터의 정규화를 통해 구조를 통제하고, 이후 도출된 성능 요건에 의해 필요한 경우에 역정규화를 시행하는 것이 일반적입니다.
관련된 질문을 다룬 유사한 답변을 참고해 보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
진짜중복/가짜중복을 나누는데 있어서
0
34
2
규칙 1에 대해서
0
53
2
강사님도 실제로 구글 시트에 이런식으로 적으면서하는걸까요?!
0
56
2
만약 신고사유가 객관식 다운드롭형태일때는 테이블을 따로 분리하는건가요??
0
56
2
설문 후속강의 쿠폰 제공 이벤트에 대해서
0
76
2
FK 값 중복과 규칙 3 질의
0
76
2
7-42. 역정규화 섹션에 나온 참고글 링크
0
44
2
[JSCODE 쇼핑몰 (2)] 상품 테이블의 등록한 사람 질문 입니다.
0
48
1
몽고DB 강의 계획
0
80
2
프론트단에서 고정 저장 / 백엔드에서 조회 저장
0
90
1
게시글 작성자 Id(사용자 FK) 숫자가 맞나요?
0
96
2
UI를 보고 저장해야할 데이터인지 파악하는 팁이 있을까요?
0
97
2
안녕하세요 강사님 문의 사항이 있습니다
0
109
2
실제 개발에 들어가거나 서비스 운영 중에도 DB설계를 바꾸나요?
0
233
2
관리자 테이블
0
228
2
외래 키 지정은 필수가 아닌 건가요?
0
256
2
게시판 닉네임, 아이디 관련질문
0
126
2
개발자 및 DB 설계 관련 질문
0
155
1
중복데이터 질문 있습니다.
0
104
2
db 컬럼에 JSON 박아도 되나요?
0
315
2
erd 진짜 안그려도 되나요
0
279
2
그냥 하나씩 만들어나가면서 DB 설계를 그때그때 하는건 틀린건가요?
0
106
2
JSCODE 게시판에서 댓글 관련하여 설계
0
129
2
주문수량과 재고량 관련하여 테이블 분리시
0
200
2





