inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

다대다(M:N) 관계 - 관계형 모델의 한계

list, json 컬럼은 지양하나요?

78

Jace Alan

작성한 질문수 1

0

관계형 DB에서도 데이터로 list, json이 가능하게 되는것 같던데... 실무상 거의 안쓰는 건가요?

이걸 이용하면 쌤이 말씀해주시는 룰에 안맞게 되서, 일단은 피하면서 이것저것 연습해보는 중인데, 좀 갑갑하네요;; 교과서적으로는 피하는게 답이겠지만, 실무상으로도 피해야는 걸까요?

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

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Jace Alan님.

관계형 데이터베이스에서의 리스트나 JSON 컬럼은 분명 매력적인 기능이지만, 일반적으로 실무에서는 사용을 지양하는 경우가 많습니다. 그 이유는 여러 가지가 있는데, 주요한 이유는 데이터 검색과 관련된 문제입니다.

  1. 검색 및 쿼리 성능: 리스트나 JSON 컬럼을 사용하게 되면 일반적인 SQL 쿼리로 데이터의 일부를 검색하기가 어렵습니다. 특히 JSON은 문자형으로 저장될 경우 데이터베이스의 인덱싱 기능을 제대로 활용하지 못해 성능 저하를 초래할 수도 있습니다.

  2. 유지보수: 데이터 구조가 명확하게 정의되지 않으면 코드 유지보수가 어려워질 수 있습니다. 특히 팀 내 다른 개발자들이 데이터의 구조를 정확히 이해하지 못하게 될 가능성이 있습니다.

  3. 이식성과 표준성: 현재의 JSON 기능은 모든 데이터베이스 시스템에서 동일하게 구현되지 않습니다. 따라서 특정 데이터베이스 시스템에 종속될 가능성이 높습니다.

물론, 특정한 경우에는 JSON 컬럼이 유용할 수 있습니다. 특히, 스키마가 자주 변하거나 불명확한 경우에 유연하게 대처할 수 있다는 장점이 있습니다. 실무에서 JSON 컬럼을 사용할 때는 이러한 장단점을 이해하고, 필요한 경우에만 제한적으로 활용하는 것이 좋습니다.

아래 링크들은 JSON 및 관련 데이터 저장에 대한 다른 질문 및 답변을 확인할 수 있습니다. 비슷한 주제들에 대한 영한님의 답변을 참고하셔서 더 깊이 있는 이해에 도움이 되길 바랍니다:

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

아주 작은 정오표 전달드립니다.

0

52

2

실제로 작은 기업에서 기획 롤

1

27

1

order_product 까마귀발

0

44

2

[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.

0

53

1

자연키 vs 대리키 실무질문

0

28

1

1:N 관계에서 중간테이블 (연관엔티티)

0

57

2

일대일 fk 위치

0

43

1

제 3 정규형 vs BCNF 정규형 차이점?

0

106

3

BCNF 질문

0

78

2

연관 엔티티 네이밍 규칙

0

53

1

진짜 강의 듣는거 너무 고문

0

139

1

28강 sql 파일 어딨나여?

0

94

1

2NF의 엄밀한 정의

0

74

1

comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.

0

124

3

학습중인 수업자료를 받아볼 수 있을까요??

0

103

2

수업자료 pdf파일관련 건의 - 제목 링크위치 개선

0

88

2

서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문

1

107

2

실무적인 설계로 접근했을 때 제 2정규형 항상 만족?

0

82

1

슈퍼/서브 타입 joined 전략

0

74

2

created_at 관련 구현과 DB ENUM에 대해

0

75

1

M:N 관계의 연관 엔티티 설계 순서

0

81

2

데이터 역사성 훼손 문제

0

67

2

실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.

0

84

1

구글이 이메일 변경을 허용하는 이유

0

126

1