inflearn logo
강의

講義

知識共有

AI時代にも生き残るエンジニアの条件、米国ビッグテックのシステムデザイン・アルゴリズム思考・オープンソース実務の完成

映画DVDレンタルシステムのデータベーススキーマ設計

number of copies 컬럼은 Inventory Table에 들어가야하지않을까요?

解決済みの質問

171

mokdogdev

投稿した質問数 35

0

 

인벤토리 테이블의 성격이 재고 개념으로 정규화된 것으로 보이는데, 컬럼값이 옮겨가야하지않을까 싶습니다

소프트웨어-설계 시스템-디자인

回答 3

1

americasnail

안녕하세요, 목동개발자님.

미국 서부가 주말이라 답변이 조금 늦어진 점 양해 부탁드립니다.

제가 강의를 진행하면서 간과했던 부분을 질문해 주셔서 정말 감사합니다.

 

InventoryTable에 number of copies를 추가하지 않고 각 아이템 테이블에 넣은 이유는, 단순히 풀어보면, 데이터베이스가 유형별로 더 직관적이며, 시스템 설계상 합리적인 부분일 것이라 생각했기 때문입니다. 하지만 목동개발자님의 설계처럼 InventoryTable로 통합하는 것이 정규화 원칙, 확장성과 중복 제거 측면에서 유리할 수 있다는 점을 다시 생각하게 되었습니다. 맞는 말씀입니다.

 

추가적으로 몇 가지 고민해보시면 좋을 것 같아 질문을 드리고 싶습니다 😊

- Inventory Table에 대규모 트래픽으로 인한 성능 병목이 생길 가능성이 있다면, 이를 해결하기 위해 어떤 전략을 사용할 수 있을까요?

- 또한, Inventory Table로 통합했을 때 새로운 아이템 유형이 추가될 경우 확장성을 유지하는 방법에 대해 어떤 방식이 더 좋을까요?

좋은 질문 해주셔서 다시 한번 감사드립니다.

0

mokdogdev

Inventory Table로 통합했을 때 새로운 아이템 유형이 추가될 경우 확장성을 유지하는 방법

  • 요 케이스는 inventory 테이블에서 입고된 갯수 / 현재 수량(차감분 반영)만 가지고 있어서 이미 확장 가능한 구조가 아닐까요?? 제가 질문을 잘 이해 못했습니다 ㅠ

0

americasnail

안녕하세요, 목동개발자님 😊
추가 질문 주셔서 감사합니다. 제가 드린 질문이 다소 모호하게 전달된 것 같아 보완해서 다시 설명드리겠습니다.

Inventory Table로 통합했을 때 확장성 관련한 제 질문의 의도는, "새로운 아이템 유형이 추가될 때 데이터 스키마 설계와 운영 측면에서 어떤 영향을 받을 수 있는지"를 함께 고민해 보자는 뜻이었습니다. 현재 말씀하신 구조에서, Inventory Table이 입고된 갯수와 현재 수량만 가지고 있는 경우, 기본적으로 새로운 아이템 유형이 추가되더라도 큰 문제가 없다는 점은 저도 동의합니다 😊

하지만, 만약 새로운 아이템 유형이 추가됨에 따라 재고 관리 로직이 복잡해진다면, 이를 처리하기 위한 시스템 설계 역시 복잡도가 증가할 수 있습니다.
예를 들어, 유형별 재고 관리 정책(예: 만료 날짜 관리, 예약된 수량 추적 등)이 필요하다면 이를 Inventory Table에서 모두 처리할지, 개별 유형 테이블에서 처리할지에 대한 설계 방향을 고민해 볼 필요가 있습니다.

하지만 아래와 같은 상황도 한번 고려해 보시면 좋을 것 같습니다!

  1. 새로운 속성이 필요한 경우

     

  2. 트래픽 증가 시 성능 문제

  3. 재고 관리 로직의 복잡성 증가

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 목동 개발자님께서 주신 질문에 대해 답변드리겠습니다.

인벤토리 테이블은 일반적으로 물리적으로 존재하는 개별 항목의 상태를 관리하는 역할을 합니다. ‘number of copies’라는 정보는 흔히 영화의 각 DVD가 몇 개의 복사본이 존재하는지를 나타내며, 각 개별 DVD의 상태를 명시하지는 않습니다. 따라서 이 정보는 Inventory 테이블보다는 더 상위 개념인 Items 테이블이나 다른 적절한 테이블에 저장될 가능성이 높습니다. 이는 실제 물리적 재고와는 별개의 논리적 재고 수량을 나타내기 때문입니다.

그러나, 물리적 객체의 개수를 Inventory 테이블에서 직접 관리해야 하는 경우라면, Inventory 테이블에 ‘number of copies’ 컬럼을 추가하는 것도 하나의 방법이 될 수 있습니다. 이는 시스템의 설계 방식에 따라 달라질 수 있습니다.

관련하여 더 이해를 돕기 위해 아래 링크에서 유사한 주제에 대한 기존의 답변을 확인하실 수 있습니다:

이 게시물에서는 다양한 테이블 간의 관계 설정과 데이터베이스 설계를 더 자세히 다루고 있으니 참고하시면 좋을 것 같습니다.

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

특별 학습 자료 프로모션 1년 멤버십 제공 관련 문의 드립니다.

0

56

2

simcached를 검색을 했을때 해당 자료가 나오지 않는데 혹시 MemcachedGPU 라고 불리는 기술을 말씀하시는건가요?

0

56

1

유튜브 예제에서 흐름 관련 질문있습니다

0

47

2

Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.

0

73

1

특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법

0

83

2

[위치 이름 기반으로 호텔을 조회하는 메서드] 코드 질문 드립니다.

0

49

2

14강. 영화 DVD 대여 시스템 데이터베이스 스키마 설계에서 Inventory 테이블 질문있습니다.

0

83

2

Matching Service의 MQ 필요성, Cassandra의 필요성, Cassandara - RDB 동기화

0

88

2

Imgur 이미지 호스팅 서비스 질문

0

83

2

쿠폰 문의

0

83

1

Redis 랜덤 값 추가 시 메타데이터 저장

0

86

1

Blob Storage에서 파일 업로드에 대한 동시성을 어떻게 제어할 수 있을까요?

0

106

2

채팅을 영속할 DB로 RDB를 선택한 이유도 궁금합니다

0

269

2

URL 단축 서비스에서 redis counter를 사용하는 이유가 무엇인지 궁금합니다.

0

213

2

long url을 파티션키로 지정했을때 장점이 생각 안나네요 ㅎㅎ;;

0

135

2

실제 인터뷰에서도 Object Oriented Design 을 이런 과정으로 하는걸까요?

0

161

1

able to get all students who got a "d+" grade or lower 요구사항

0

115

1

Spotify 서비스 시스템 디자인 및 스케일링에서 백업 클러스터 사용에 대한 문의

0

93

2

URL 단축 서비스 시스템 디자인 및 스케일링 질문있습니다.

0

187

2

예시 두개가 납득이 잘 가지않네요 ㅠㅠ

1

201

2

강의자료는 제공 불가능할까요?

0

218

1

General Service 서비스 컴포넌트 관련 질문있습니다!

1

182

2

영화 DVD 대여 시스템 데이터베이스 스키마 설계에 대한 질문입니다.

1

249

2

메세지 큐 예제 2번 질문있습니다!!

0

308

2