inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

공통코드 관련한 질문 드립니다.

52

쿵쿵뛰는꼬부기

작성한 질문수 1

0

안녕하세요,

공통코드 관련하여 코드그룹, 코드상세 테이블 설계 강의 잘 들었습니다.

관련하여 2가지 질문이 있습니다!


1. 혹시 사내에 dataware라는 메타시스템을 사용할 경우에는 어떤 식으로 운영을 하는지 궁금합니다.

전 회사에서는 메타시스템은 단순 정의 용도로 사용하고, 모든 코드값은 enum으로 사용을 했었는데요~

강의 내용에 있는 것처럼 값이 바뀔 때마다 계속 재배포 작업을 해야 하긴 했지만, 그 외에 특별한 이슈는 없었던 것 같습니다. (배치성 프로젝트라 빠른 대응이 필요하지 않았음)

현 회사에서는 아직 정해진 정책은 없지만, 메타DB를 어플리케이션에서 접근할 수 있도록 하는 방법은 어떨지도 고민하고 있습니다.

그래서 일반적으로는 메타시스템, 공통코드 테이블, enum을 어떤 식으로 mix하여 사용하는지 궁금합니다.

 

  1. 추가로 고유한 컬럼 인식을 위해 최대한 유니크한 컬럼명을 사용하고 있는데요~

예를 들어, 사용자로그인상태코드라는 컬럼이 있더라도 사이트에 따라 아래처럼 분리하는 경우가 존재합니다.

이 경우 같은 아래처럼 코드값을 다르게 정의할 경우 현실적으로 체크하는 것이 좀 어려운 것 같습니다.

같은 의미의 코드일 경우 같은 코드값을 가지게 하고 싶은데 영한님께서도 이러한 고민을 하신적이 있으신지 궁금하고 어떻게 해결하셨을지도 궁금합니다~

 

감사합니다.

 

 

sql mysql dbms/rdbms 소프트웨어-설계 SQLD

답변 1

1

김영한

안녕하세요. 쿵쿵뛰는꼬부기님

  1. 애플리케이션에서 메타시스템DB에 직접 접근하기 보다는, 성능 저하 및 장애 확산(SPOF) 방지를 위해 '메타시스템(설계) → 서비스 DB(동기화) → 캐시(조회)' 파이프라인 구조를 권장합니다. 이때 실시간 변경이 필요하지 않다면 물론 ENUM을 사용하셔도 됩니다.

  2. 슈퍼셋(Superset) 마스터 코드 전략을 권장합니다. 동일한 도메인(개념)을 공유한다면, 메타시스템 레벨에서 모든 상태를 포괄하는 표준 코드 하나만 정의하는 것입니다. 그렇지 않으면 향후 통합이 큰 어려움이 있을 거에요. 그런데 이름만 같을 뿐 개념과 관리 규칙이 완전히 독립된 서비스라면 당연히 둘을 분리해야 합니다.

감사합니다.

다음 강의는 언제쯤 나올까요?

0

76

2

실제 FK제약조건을 설정하지 않는이유

0

71

2

히스토리 관련 질문

0

65

2

통계 데이터 수정 질문

1

75

2

공통 코드에서 Redis Pub/Sub은 최근 실무에서 쓰이진 않나요?

0

147

2

DELETE -> SELECT 질문 드립니다.

0

59

1

상속 관계 모델링의 적용 기준 질문

0

84

1

TTL 캐싱에 대한 질문

0

95

1

공통 코드 사용시 컬럼 타입 설정

0

90

1

history_creted_at과 valid_from

1

73

2

함수 기반 인덱스 (Function-Based Index)

0

78

1

추후 강의 질문있습니다

0

136

2

실무 통계 질문(고민) 드립니다..!

0

101

2

Json 컬럼의 객체 맵핑

0

70

1

[Deprecated] 오타 제보

0

95

1

오타 제보

0

79

2

category_path 테이블에서 idx_descendant 인덱스를 생성하는 이유가 궁금합니다

0

105

2

물리적으로 외래 키 제약 조건을 설정하지 않을 때

0

104

1

`전체 행 스냅샷 이력 테이블`의 대상 테이블 칼럼 변경

1

93

1

common_code_detail의 code 변경 가능성

1

119

1

[해결책 - 코드값 분리] 중 orders(order_status) - common_code(code) 타입 불일치 제보

0

94

1

이미 문자열 타입인 컬럼을 캐스팅하는 이유

0

111

2

계층 구조 모델링 기타 방법들

0

112

1

섹션 9의 퀴즈가 영어로 출력되요.

0

112

2