Inflearn brand logo image

인프런 커뮤니티 질문&답변

yahohoho님의 프로필 이미지
yahohoho

작성한 질문수

비전공자도 이해할 수 있는 DB 설계 입문/실전

실제 개발에 들어가거나 서비스 운영 중에도 DB설계를 바꾸나요?

작성

·

104

·

수정됨

0

선생님, 안녕하세요!
이번에 DB설계 강의를 완강하였고, 좋은 강의 덕분에 DB 설계에 대한 자신감을 갖게 되었습니다.

강의 중간에 DB설계를 처음부터 너무 완벽하게 하려고 할 필요 없고, 혹시 나중에 생각하지 못한 부분이 있으면 수정하거나 추가로 반영하면 된다고 하셨는데요.

팀원들과 DB 설계 이후에 실제 개발을 시작하거나 또는 서비스를 운영하던 도중에 DB설계에 문제가 있다는 것을 알게 되면 추후에 수정해도 되는지 궁금합니다.

  • 예를들어, DB 처음에 설계할 당시에는 정규화를 철저하게 지켜서 설계했는데, 나중에 배포해서 성능테스트 해보니까 역정규화 이외에는 성능을 개선시킬 수 있는 방법이 없는 경우라면, 이미 서비스 운영 중에 DB설계를 바꿔야할 것 같은데, 현업에서 이런 경우들이 종종 있는지 여쭤봅니다.

예전에 팀프로젝트 할때 다른 팀원분께서 ERD는 최대한 처음에 짜둔 방향에서 개발을 시작하면 수정하지 않는 것이 바람직하다고 하셔서 DB 설계를 수정하지 못한 경험이 있는데, 현업에서는 보통 어떻게 하시는지 궁금합니다.

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 yahohoho님! DB 설계 완강 축하드려요~~~

강의가 도움되신 것 같아 너무 뿌듯하네요~!!!

질문 해주신 내용 답변드릴 수 있도록 할게요

 

팀원들과 DB 설계 이후에 실제 개발을 시작하거나 또는 서비스를 운영하던 도중에 DB설계에 문제가 있다는 것을 알게 되면 추후에 수정해도 되는지 궁금합니다.

-> 네! 추후에 수정을 해도 괜찮습니다! 실제 이런 경우가 굉장히 많아요ㅎㅎ

 

예를들어, DB 처음에 설계할 당시에는 정규화를 철저하게 지켜서 설계했는데, 나중에 배포해서 성능테스트 해보니까 역정규화 이외에는 성능을 개선시킬 수 있는 방법이 없는 경우라면, 이미 서비스 운영 중에 DB설계를 바꿔야할 것 같은데, 현업에서 이런 경우들이 종종 있는지 여쭤봅니다.

-> 말씀해주신 이런 경우도 아주 많이 발생합니다!

 

예전에 팀프로젝트 할때 다른 팀원분께서 ERD는 최대한 처음에 짜둔 방향에서 개발을 시작하면 수정하지 않는 것이 바람직하다고 하셔서 DB 설계를 수정하지 못한 경험이 있는데, 현업에서는 보통 어떻게 하시는지 궁금합니다.

-> ERD수정함으로써개발일정에차질이생기거나뭔가 DB 설계를하면서다른업무까지같이변경이되야하는상황이아니라면, 개발도중에협의를통해 DB 설계를수정하기도합니다! 그리고개발을하던와중에기획이수정되는경우도있어서, 그에맞춰서 DB 설계를변경해개발하는경우도많습니다!

 

이 외로 또 궁금한 점 있으시면 질문 남겨주세요~~

0

안녕하세요, 인프런 AI 인턴입니다. yahohoho님께서 질문해 주신 ‘실제 개발에 들어가거나 서비스 운영 중에도 DB 설계를 바꾸는지’에 관한 내용은 많은 개발자들이 고민하는 부분입니다.

실제 현업에서 배포 후 DB 설계를 변경하는 경우는 존재하며, 이는 다양한 이유로 발생할 수 있습니다. 초기 설계 단계에서는 모든 가능한 사용 시나리오와 성능 요구 사항을 예측하는 것이 어려울 수 있기 때문에, 설계 변경은 예외가 아닌 과정의 일부로 볼 수 있습니다.

  1. 성능 최적화: 초기 설계에서는 정규화를 철저히 하여 데이터 일관성과 중복 예방을 중시하지만, 운영 중 성능 문제가 발견되면 일부 테이블을 역정규화 하여 성능을 개선할 수 있습니다. 이는 데이터베이스의 접근 속도를 개선하는 일반적인 방법 중 하나입니다.

  2. 새로운 요구 사항 반영: 서비스를 운영하면서 새로운 기능이 추가되거나 기존 요구 사항이 변동되면 이에 맞춰 DB 구조를 변경해야 할 수도 있습니다. 예를 들어, 데이터 모델의 특정 필드가 새로운 데이터 형식이나 구조로 변경되어야 할 경우가 있을 수 있습니다.

  3. 기술적 부채 해소: 처음부터 최적의 설계를 갖추기 힘든 경우 기술적 부채가 발생합니다. 이후 안정화 기간을 가지면서 기술적 부채를 점진적으로 해소하는 것이 바람직합니다.

관련된 실제 사례나 설명을 담고 있는 유사한 게시물들을 확인해 보시면, 이러한 DB 설계 변경에 대한 추가적인 이해를 도울 수 있습니다:

현업에서는 이러한 변경이 필요할 때는 충분한 테스트를 통해 안정성을 확보한 후 변경하는 것이 일반적입니다. 팀 내에서의 협의와 충분한 검토도 필수적입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

yahohoho님의 프로필 이미지
yahohoho

작성한 질문수

질문하기