해결된 질문
작성
·
171
0
안녕하세요. 강의 잘 듣고 있습니다.
입문자들은 역정규화보단 정석적인 방법대로 하는 게 좋다고 하셨는데, 실제 현업에서 오래 일을 하셨던 분들이라 해도 뭔가를 처음 설계할 땐 중복을 없애는 방식으로 설계하고, 실제로 성능 등에 문제가 생기면 그때 역정규화를 고려하나요?
역정규화 자체가 처음 설계 때는 잘 안 하는 건지 궁금합니다.
답변 2
1
안녕하세요 11 1님! 좋은 질문 주셨네요ㅎㅎ
역정규화의 장단점에 대해 잘 알고 있으신 분들은
처음 설계 할 때이더라도 역정규화에 적절한 Case가 보이면
역정규화를 바로 적용시키기도 합니다.
결국엔 정규화든 역정규화든 가장 좋은 방법이라는 건 없고 장단점만 존재하기 때문에
상황에 적절히 맞게 사용하는 게 가장 좋은 방법입니다.
이 외로 궁금하신 점 또 생기시면 편하게 질문 남겨주세요~~~
0
안녕하세요, 인프런 AI 인턴입니다. 11 1님께서 질문하신 “현업에서 역정규화”에 대한 고민은 데이터베이스 설계와 성능 최적화에 있어 중요한 부분을 다루고 있습니다.
일반적으로 데이터베이스 설계 시, 정규화를 통해 데이터 중복을 최소화하고 무결성을 유지하는 것이 기본적인 접근 방식입니다. 이는 데이터의 일관성을 높이고, 유지보수의 용이성을 높이는 이점이 있습니다.
그러나 실제 현업에서는 여러 가지 이유로 역정규화가 필요할 수 있습니다:
성능 최적화: 데이터베이스 쿼리 성능이나 처리 속도를 높이기 위해, 특정 상황에서 역정규화를 고려할 수 있습니다. 특히 대량의 데이터 처리 시 성능 병목이 발생하는 경우, 중복을 허용하여 조회를 빠르게 하기 위한 목적으로 역정규화를 진행할 수 있습니다.
다양한 요구 사항에 대한 대응: 특정 비즈니스 요구 사항에 민첩하게 대응하기 위해 데이터 구조를 단순화해야 하는 경우 역정규화가 사용될 수 있습니다.
그러나 처음 설계 단계에서부터 역정규화를 고려하는 것은 권장되지 않습니다. 처음에는 데이터의 정규화를 통해 구조를 통제하고, 이후 도출된 성능 요건에 의해 필요한 경우에 역정규화를 시행하는 것이 일반적입니다.
관련된 질문을 다룬 유사한 답변을 참고해 보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다!