묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결JPA (ORM) 개발자를 위한 고성능 SQL (High-Performance SQL)
강의 질문 - JSON 관련
안녕하세요. 좋은 강의 진행해 주셔서 감사합니다.강의 수강 중 JSON 관련하여 의견을 여쭤보고 싶은 내용이 있습니다.기존 RDB를 통해 JSON 데이터를 저장하면 기존 데이터와 연계성이 좋다는 장점이 있을 것 같습니다.다만, 성능을 고려하면 MongoDB와 같은 NoSQL DB를 도입하는 것이 좋은 상황이 있지 않을까 생각합니다.특정한 상황마다 어떤 방식으로 시스템 인프라를 운영하는게 좋을지판단하시는 기준이나 방법 또는 노하우가 있으실지 궁금합니다.감사합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
MySQL은 실무에서 사용하는 케이스도 있을까요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]MySQL은 학습용으로는 많이 사용하는데, 실무에서도 MySQL을 쓰는 회사가 있을까요?만약 그렇지 않다면 어떤 이유에서 쓰지 않는지 궁금합니다.
-
해결됨김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
자연 키를 PK로 써도 되는 예외 조건!
안녕하세요!현대적인 설계에서는 대부분 자연 키가 아닌 대리 키를 기본 키로 사용하는 것이 권장된다고 하셨는데요.그렇다면 혹시 자연 키를 기본 키로 사용해도 괜찮은 예외적인 상황이 있을까요?예를 들어, 변경 가능성이 거의 없는 코드성 데이터나 표준화된 식별자(예: ISO 코드, 통화 코드 등) 같은 경우에도 무조건 대리 키를 추가하는 것이 좋은지, 아니면 자연 키를 PK로 두어도 실무적으로 문제가 없는 기준이 있는지 궁금합니다. 감사합니다 ☺︎
-
미해결김영한의 실전 데이터베이스 - 기본편
JOIN 방향에 따른 결과 행수와 효율적 데이터 조회 방법 질문
안녕하세요, 강사님.데이터를 효율적으로 JOIN 하여 어떻게 가져올지에 대한 방안에 대해 고민하던 중, 궁금한 점이 있어 질문을 드립니다. 강사님의 강의를 들으며 JOIN 시 결과 행수 차이에 대해 아래와 같이 이해했습니다.부모 테이블에서 자식 테이블로 JOIN할 경우→ 결과 행수가 부모 기준으로 유지된다.자식 테이블에서 부모 테이블로 JOIN할 경우→ 결과 행수가 자식 행수에 따라 크게 늘어날 수 있다.그렇다면 아래와 같은 상황에서 어떻게 처리하는 게 효율적일지 궁금합니다. 강의 상세 페이지처럼 여러 유형의 데이터를 한 번에 가져와야 하는 경우> 예시) 강의 정보, 강사 정보, 강의 평점, 강의 리뷰 등부모 테이블(강의)에서 자식 테이블(강사 정보, 강의 평점)로 JOIN할 때, 결과 행수가 부모 테이블 기준으로 유지되거나 크게 늘어나지 않는 상황에서는 한 번의 쿼리로 모든 데이터를 조회하는 것이 좋은 방법일까요 ?반대로, 강의 리뷰처럼 자식 테이블의 데이터가 많아져서 결과 행수가 급격히 늘어날 경우에는 리뷰 데이터만 별도의 쿼리 또는 API로 분리해서 조회하는 것이 더 바람직할지 궁금합니다.결국, 관계 방향과 데이터 양에 따라 결과 행수가 크게 늘어나지 않는 JOIN까지만 한 번에 처리하고,행수가 많아지는 데이터(예: 리뷰)는 별도로 쿼리하거나 API를 분리하는 전략이 좋을지, 그리고 쿼리/API 분리 기준을 어떻게 결정하는게 좋을지 설명해주시면 큰 도움이 될 것 같습니다.감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
데이터베이스의 컬럼명과 애플리케이션 코드의 일치성
데이터베이스의 컬럼명과 애플리케이션 코드의 일치성을 가져가는게 가독성면에서 좋다고 생각하는데..모든 컬럼이 앱 코드와 일치되어야하는건 또 아닐거같아서요. e.g) 앱 코드에서는 필드를 두개로 나눌수도 있지만 데이터베이스 컬럼에서는 하나의 컬럼으로 가져가는 경우도 있나요?
-
미해결김영한의 실전 데이터베이스 - 기본편
인덱스 설계와 실제 운영의 관계
혹시 테스트 데이터베이스에서 인덱스를 설계하고, EXPLAIN을 통해 점검도 했는데, 실제 서비스 운영에서는 정작 풀 테이블 스캔 결과가 더 빠른 경우가 존재할 수도 있나요?
-
미해결김영한의 실전 데이터베이스 - 기본편
수업 자료 만드는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 영한님. 만들어주신 수업 자료 덕분에 수월하게 복습하고 있습니다. 감사합니다.수업자료를 만드시는 과정과 도구가 궁금합니다. (이미지도 전부 직접 만드시나요?)
-
미해결김영한의 실전 데이터베이스 - 기본편
실행 계획 공부 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 강사님. 실무에서 SQL 실행 속도가 느릴 때 실행 계획을 확인해야 하는 경우가 종종 있는데요.실행 계획에 대한 이해가 부족하다 보니 좀 더 깊이 있게 공부해보고 싶습니다.혹시 추천해주실 만한 자료나 책이 있을까요?또한, 강사님께서는 실행 계획을 어떻게 공부하셨는지도 궁금합니다. 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
단일 키로 행을 식별할 수 없을 때 어떻게 설계하나요?
실무에서 단일 컬럼 PK만으로 행을 식별할 수 없는 경우가 있습니다.예를 들어 영화 예매 시스템에서 ‘상영회차’와 ‘좌석’ 정보를 조합해야만 특정 예매 내역을 정확히 구분할 수 있을 때가 있죠.이런 경우 복합키를 사용하게 되는데, 실제 설계에서는 어떤 방식으로 복합키를 구성하고, 단일 PK와 비교했을 때 어떤 장단점이 있는지 경험 기반으로 설명해주실 수 있나요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
혼합 모델링의 선택 기준
정규 테이블과 JSON 컬럼을 함께 사용할 때, 정규화를 유지할지 JSON으로 비정규화할지 어떤 기준으로 결정하나요?
-
미해결김영한의 실전 데이터베이스 - 기본편
실무 관련 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 수강하면서, 문득 궁금한거 질문드립니다.실무에서는 어떤 제약 조건들을 주로 쓰고, 어떤 건 잘 안 쓰는지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
정규형은 종속 분리의 연속으로 받아들이면 될까요?
제 1,2,3 정규형 강의를 들었을 때, 정규형은 종속 분리의 연속이다라는 생각이 들어서 질문 남깁니다. 앞에서부터 '제1 정규형 만족 -> 제2 정규형 만족 -> 제3 정규형 만족' 이라는 과정이 종속 분리가 차근차근 진행되는거죠? 제가 생각한 것처럼 이해하면 될까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
외래키 사용 여부
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 개인적으로 설계하다가 궁금한 점이 있어 질문드립니다.외래키 사용으로 데이터 정합성을 지킨다는 전제는 이해했으나,현재 다니고 있는 회사에서 외래키 사용으로 인하여 쿼리복잡성과 성능이슈로 인하여 사용하지 않고, FK를 걸지않고 seq를 테이블에 넣는식으로 작업하고있습니다.개인적인 의견으로는 정합성을 지켜야 한다고 생각해 외래키를 적용하는게 맞다고 생각하는데,영한님의 의견이 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
‘데이터베이스 설계를 잘한다’ 혹은 ‘데이터 모델링을 잘한다’는 게 어떤 의미인가요?
안녕하세요, 강사님. 강의를 들으면서 데이터베이스 설계와 모델링의 중요성을 많이 느끼고 있습니다.문득 ‘데이터베이스 설계를 잘한다’ 혹은 ‘데이터 모델링을 잘한다’는 게 어떤 의미인지 궁금해졌습니다.설계 과정에는 개념적, 논리적, 물리적 모델링 등 여러 단계가 있고, 각 단계마다 좋은 설계의 기준이 조금씩 다를 것 같은데요.실무에서는 이런 기준을 어떤 방식으로 판단하시나요?만약 같은 요구사항을 모델링했을 때 한쪽은 유지보수성이 높고 다른 쪽은 성능이 좋은 경우, 어떤 관점에서 우선순위를 정하시는지도 궁금합니다. 좋은 강의 제작해주셔서 감사합니다!
-
미해결김영한의 실전 데이터베이스 - 기본편
상관 서브쿼리와 성능 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상관 서브쿼리와 성능 설명해 주실때 데이터베이스 옵티마이저가 JOIN을 더 효율적으로 처리하는 경우가 많다고 하셨는데, 혹시 관련 자료를 찾아 학습할 수 있는 곳이 있을까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
간단한 질문. Workbench가 얼마나 사용되는 지 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.Q. 수업에서 사용되는 MySQL Workbench가 실무에서도 사용될만한 지 혹은 실무에서 사용하는 데이터베이스와 비슷한 수준인지,아니면 단순 수업용이라고 보는 게 맞을지 궁금합니다!항상 스승님의 강의가 실전에서 사용할 수 있게 바로 알려주셔서 너무 감사히 잘 듣고 있습니다!일반적으로도 DB 강의에는 Workbench를 사용하는 것 같던데, 이러한 이유가무료라서가벼워서실무 제품과 유사해서중에 어떤 것인지 갑자기 궁금해져서 질문을 드려보게 되었습니다!!
-
해결됨김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
RDB 선택 기준에 대해서 질문드립니다!
안녕하세요 이번 강의 정말 잘 들었습니다!강의에서는 주로 MySQL을 사용했는데 현업에서도 PostgreSQL대신 MySQL을 많이 사용하는지 궁금합니다. RDB를 선택할 때 기준같은게 있는지도 궁금합니다!
-
미해결김영한의 실전 데이터베이스 - 기본편
Inner Join에서 쿼리 작성 시 ON 절 테이블 배치 순서
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]안녕하세요.Inner Join 시 ON의 조건을 선언하는 부분에서, FROM 절에 있는 테이블을 먼저 작성하고, 이후 Join 절에 있는 테이블을 작성한 것을 보았습니다.ex. select u.address from orders ojoin users u on o.user_id = u.user_id where o.order_id = 1 ; 여기서 u.user_id = o.user_id 라고 작성해도 동일한 결과를 반환하는데, o.user_id = u.user_id 형태로 쓴 것은 가독성을 높이기 위함인가요? 아니면 성능상의 이슈가 있는 건가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
명확한 명세서 없이 진행된 프로젝트
스키마 명세서, 요구사항 명세없이 유지보수, 개발된 프로젝트의 경우 스키마 명세서를 나중에라도 추가해서 관리하는게 훨씬 좋을까요?/./
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
DAP 자격증 현업에서 유용한가요?
DAP 데이터 설계 자격증 현업에서 유용하거나 인정해주는 자격증인가요