META 데이터아키텍처시스템 -> 도메인 개념질문 0 3 514

by 안쓰 [SQL Query] [2019.05.15 10:31:18]


안녕하세요 초급개발자입니다

현재 투입된 대기업 운영 프로젝트에서 META라는 데이터 아키텍처 시스템을 사용하는데

컬럼을 도메인 개념으로 사용하고있습니다

아마 더큰개념인것같은데

구글링해도 원론적인 내용이 많아 조금이해가어려워 질문올립니다

일반적인 테이블 컬럼에대해 도메인이라고 불르는 개념을

혹시 쉽게 개념설명해주실수 있을까요?

by 르매 [2019.05.15 11:18:32]

예를 들어 IP (version 4) 를 저장하는 컬럼이 있다고 합시다.

어떤 테이블의 컬럼에서는 varchar(15)를 사용하고, 다른 테이블의 컬럼에서는 int unsigned를 사용하면 어떤 일이 발생할까요?
아마 개발자 입장에서는 같은 유형의 속성임에도 불구하고 테이블 마다 데이터 유형이 달라서, 매번 확인을 해야하거나 어떤 경우에는 데이터를 변환하는 불편함이 초래될 겁니다. 때로는 성능 문제도 생길 수 있구요.

이런 문제를 해결하기 위해 도메인 모델을 만들어 사용할 수 있습니다.

음.. CREATE TABLE 문에서 컬럼을 정의할 때 "이름", "데이터 유형", "제약 조건 - 디폴트나 NULL 허용 여부, SEQUENCE 등등" 을 선택해서 적어 줘야죠?

이걸 테이블을 만들 때마다 매번 직접 정의하는 것이 아니라, 논리 설계를 하면서 도출되는 속성 중 유사한 속성을 그룹핑하고, 다시 상세 분류를 해 놓은 도메인 모델에서 고르게 하는 겁니다.

예를 들자면, "이름" 으로 그룹핑할 수 있는 속성이 여럿 있을테고, "이름"을 상세 분류하면 모델에 따라 "고객 이름", "고객사 이름", "로그인 이름" 같은 것들로 나뉘게 됩니다. 이렇게 상세 분류된 것들 - 고객 이름, 고객사 이름 등 - 마다 물리적인 데이터 유형, 제약 조건을 정의하는 것을 도메인 모델링이라고 볼 수 있습니다.

앞서 언급한 것처럼 이제 테이블의 각 컬럼에 대해 세부 속성을 일일이 정의하는 것이 아니라, 미리 만들어 둔 도메인에서 찾아 매핑해주면 됩니다. (물론 새로운 유형의 컬럼이라면 먼저 도메인에 추가하고 매핑하게 되겠지만요)

 

대략 이런 개념이라는 이해를 갖고 구글링하시면 도움이 될 듯 하네요.


by 임상준 [2019.05.15 13:59:43]

저희 경우 도입한 메타 시스템에 따라 도메인으로 사용하는 범위가 달랐던 것 같아요..


by 안쓰 [2019.05.16 08:21:24]

by르매 정말정말 감사합니다~!

바쁘실텐데 상세하게 설명해주셔서 정말감사해요!

설명햊쉰 내용으로 대략 개념이 이해가 되었고 구글링을 통해 조금더 보완하도록 하겠습니다

정말정말 감사합니다 !

 

by임상준 소중한 답변 감사드립니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입