묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문
안녕하세요 영한님! 기초부터 설계까지 영한님의 강의 덕분에 실무에서 테이블을 설계할 때 큰 자신감을 얻고 있습니다. 늘 감사드립니다.강의를 듣고 운영 중인 서비스의 ERD를 검토해보니 과거 설계된 테이블들이 비식별 관계가 아닌 식별 관계로 되어 있는 등 개선이 필요한 상황입니다. 하지만 1인 개발 상황에서 데이터 마이그레이션을 수반한 대규모 리팩토링은 리스크가 크고, 기획팀의 신규 기능 배포 속도도 맞춰야 하는 딜레마에 빠져 있습니다.조만간 동료 개발자가 합류할 예정인데, 현시점에서 제가 취해야 할 스탠스에 대해 의견을 여쭙고 싶습니다.방안 A: 기획팀에 상황 공유후, 일괄 재설계를 통해 '기술 부채'를 완전히 청산하고 신규 기능을 올린다.방안 B: 영향도가 큰 부분부터 점진적으로 수정하며, 팀원이 합류한 뒤 안정적으로 함께 리팩토링을 진행한다.영한님의 실무 경험에 비추어 보았을 때 어떤 결정을 내리는 것이 팀과 서비스 관점에서 더 좋을지 조언해주시면 큰 도움이 될 것 같습니다. 감사합니다.
-
미해결로그까지 잡아라! Zabbix & Grafana 실전 통합 강의
Grafana에서 Loki를 통해 대시보드를 만들 때 어떤 로그를 보는 게 좋은 지 궁금합니다
안녕하세요 유뚱님, 로그 관련 질문이 있어서 질문 남깁니다. 수업에서는 보안 관점에서 시스템 로그, 어센티케이션 로그, 디스크 로그, 네트워크 로그 4단계로 나누어서 보셨는데, 일반적으로 이 정도의 로그를 수집하는지 아니면 보안 관점 말고도 다른 관점으로도 로그를 수집하고 대시보드를 만드는 방식이 있는지 궁금합니다. 제가 취준생이라 실제 서비스를 배포하고 에러를 만나본 것이 아니라서, 어떤 로그를 수집하는 것이 운영 환경에서 꼭 필요한 것인지 체감이 잘 안 되는 것 같습니다. 어떤 로그를 중요하게 보고 수집하고 체크해야 하는지 알려주시면 감사하겠습니다!
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
계층 구조 모델링 기타 방법들
안녕하세요 영한님!섹션 3의 계층 구조 강의를 듣고, 계층(트리) 구조를 모델링하는 다른 방법에 대해서도 찾아보면서인접 리스트 모델 , 폐쇠 테이블 모델 이외에도 경로 열거 모델, 중첩 세트 모델 등이 있다는 점을 알게되었는데요 실무에서 경험을 묻고싶습니다!강의에서 소개해주신 이외에도 다른 모델을 상황에 맞게 자주 사용하시는지, 혹은 다른 방법들의 단점으로 인해 결국 인접 리스트와 폐쇠 테이블 모델의 사용으로 귀결되는 것인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션 9의 퀴즈가 영어로 출력되요.
섹션 9의 퀴즈가 영어로 출력되요.
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
43페이지 4번 문제 질문드립니다
43페이지 4번문제 질문드립니다. - 대체 식별자를 "기본키가 아닌 모든 후보키중에서 선택한다"라고 표현하면 틀린거 아닌가요?? "기본키가 아닌 모든 후보키"가 대체키라고 적혀있는것 같아서요. '선택하는게 아니라 남은 전부'라고 생각해서 틀렸다고 생각했거든요.답변해주시면 감사하겠습니다
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션 6 SOFT DELETE) UNIQUE 제약 조건 + 가상 컬럼
안녕하세요!질문이 있습니다Soft delete 환경에서 UNIQUE를 걸 시, 가상 컬럼을 이용한 해결 방법은 소개되지 않은 이유가 있나요?가상 컬럼으로 해결하는 방식은 추천하지 않는 방법인가요? 예를 들어,(MySQL)목표 = Member - email의 unique를 지키는 것 <Member 테이블>필드 = email, deleted_at, _active_checkUNIQUE(email, _active_check) 이때,가상 컬럼 =_active_check-> _active_check BOOLEANGENERATED ALWAYS AS (IF(deleted_at IS NULL, TRUE, NULL)) VIRTUAL; 이렇게 하면hello 계정 생성email = "hello", deleted_at = null, _active_check = true(이때, hello 계정은 다시 INSERT 불가 (UNIQUE(email, _active_check))hello 계정 soft 삭제email = "hello", deleted_at= 2025.01.01, _active_check = nullhello 계정 다시 생성 email = "hello", deleted_at= 2025.01.01, _active_check = nullemail = "hello", deleted_at = null, _active_check = true=> 결과적으로 UNIQUE 제약이 지켜짐 가상 컬럼을 활용하여, Soft Delete 환경에서 UNIQUE 제약을 지키는 방식은 좋지 않은 방법인가요?
-
해결됨김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
섹션2 공통 코드) 애플리케이션 ENUM을 API에 그대로 노출한다면?
안녕하세요! 강의 정말 재밌게 보고있습니다궁금한 점이 있습니다애플리케이션 ENUM을 쓴다고 가정합니다.이때, (PENDING, 대기중)에서 PENDING만 API로 주면 안되나요? FE에서 PENDING을 보고 "대기중"으로 글씨를 띄우면 안되는 걸까요? 기획자의 요구에 따라서 "대기중"이라는 글씨의 변경 요청을 BE, FE 누가 담당하는게 맞는 건가요?
-
미해결김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴
NoSQL 질문있습니다.
NoSQL은 대규모 분산시스템 환경에서 CAP중에 AP을 주로 선택하는 모델이라 Eventual Consistency모델로 알고 있습니다. 하지만, NoSQL도 서버를 한대만 사용하면 Strong Consistency가 아닌가라는 생각이 들었습니다. 강의에서 설명해주신 NoSQL은 Eventual Consistency모델이다라고 하신거는 일반적인 사용환경이 대규모 분산시스템이기 때문에 Eventual Consistency라고 하신걸까요? 아니면 제가 잘못 생각하고 있는 것일까요?
-
미해결데이터 분석을 위한 SQL 문제풀이 (Advent of SQL 2024)
DAY8 질문
같은 코드를 작성했는데 시간 소요가 약 9초정도 나오는데 이거는 어떤 문제때문에 발생하는 건가요?
-
미해결업무에 바로 쓰는 SQL 튜닝
FTS 방식으로 수행하는 나쁜 SQL 에서 질문이 있습니다.
LIKE 로 하면 불 필요한 것 까지 스캔할 수 있는가능성이 있다고 하셨는데요.말씀해주신 내용이 MySQL 에만 한정인가요?아니면 Oracle 이나 다른 DB 들도 동일하게적용되는 내용일까요?
-
해결됨BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
biquery 테이블 생성 오류 이슈
안녕하세요. 빅쿼리에서 테이블 생성을 하려고 했으나 계속 실패하여 문의 남깁니다. 파싱 문제가 있는 것 같고, 결제 수단 등록 같은 어드민 문제는 아닌 것 같습니다. 윈도우이고 반디집으로 압축 해제한 뒤 파일 업로드했고 아래와같이 파일 형식도 지정했는데 못 읽는 이유가 있을까요? 감사합니다.오류 메시지: 테이블을 만들 수 없음: Error while reading data, error message: The Apache Orc library failed to parse file metadata from file tail with error: Not an ORC file File: bigstore/bigquery-prod-upload-us/prod-scotty-455134432611-bde32926-0829-41cc-80fa-43f553dc0a93
-
미해결ON-CHAIN SIGNALS: 온체인 데이터 분석가 마스터 코스
자료를 한번에 받아서 볼수 있을까요?
자료를 한번에 받아서 볼수 있을까요?강의마다 따로 받아서 정리하기 쉽지 않네요.
-
미해결김영한의 실전 데이터베이스 - 기본편
섹션 3 퀴즈 3번 문제
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]섹션 3 퀴즈 中3. 자식 테이블을 부모 테이블에 조인할 때, 결과 행의 수는 일반적으로 어떻게 변할까요?제가 이해한 걸 쿼리로 나타내면,SELECT * FROM [부모 테이블]JOIN [자식 테이블]이라고 생각했는데, 문제에서 말하는건SELECT * FROM [자식 테이블]JOIN [부모 테이블]인건가요?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
안녕하세요. 질문이 있습니다!! 제2정규화는 제 1 정규형을 만족하고, 테이블의 기본키가 복합키일 때 부분 함수 종속이 있으면 적용할 수 있잖아요 근데 이전 강의 영상에서 말씀하셨듯이 유연하고 확장성 있는 설계를 하기 위해 자연키가 아닌 대리키를 사용하고, 연관 엔티티(매핑 테이블)을 두어 사용하려면 비즈니스 로직에 따라 유니크 제약조건을 걸어 해결하라고 하셨습니다 그럼 여기서 궁금한 것이 이렇게 실무적인 접근으로 설계를 한다면(대리키) 항상 키는 단일컬럼 키니까 복합키가 아니라서 항상 제 2정규형을 만족하는 것인가요??
-
미해결[2026] 비전공자도 한 번에 합격하는 SQLD 올인원
Part1 > Chapter2 단원정리문제
안녕하세요 선생님,단원정리문제를 풀다 이해가 되지 않는 부분이 있어 문의드립니다.바로 Q&A상단에 같은 문의가 있긴한데 올려주신 답변으로는 이해가 잘 되지않아 문의드립니다. 문제7번) 관계에서 1:M관계에 대한 문제입니다[학생 - 강의]한학생이 여러강의를 들을 수있고 한강의에 여러학생이 듣는다는게 일반적인 사회적 통념인것같은데 어째서 이게 1:M인지 모르겠습니다.'학생 - 수강신청' 이런 느낌이엇으면 이해가 됬을거같은데 어째서 학생-강의 가 1:M이 되는걸까요?보편적으로 시험에서 나온다면 '강의'라는 것은 강의의 종류를 말하는것인지(ex. sql강의, 빅데이터강의) 강의를 듣는다는 행위인지(ex.수강신청)가 궁금합니다.[강사 - 과목]한강사가 여러과목을 할수있고, 한과목에는 한강사가 연결된다는것이 일반적인 사회적 통념이라 해당부분은 이해했습니다![주문 - 주문상세]한주문에 여러주문상세가 만들어질 수 있어서 1:M인걸까요? 주문상세 라고 하는건 A주문건에 대한 상세라고 생각해서 1:1관계라고 생각했는데 이거는 좀 다른 해석이 되는걸까요?앞에 수업에서도 계속 헷갈렸는데, 마지막 단원정리에서까지 틀리니 확실히 알고 넘어가야겠다 싶어서 문의드립니다!
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
슈퍼/서브 타입 joined 전략
db의 슈퍼/서브 타입으로 설계된 부분을 보면 joined 전략으로 했을 경우 어쩔 수 없이 식별 관계로 해야하는 경우가 있던데 이럴 경우 sigle table 전략으로 푸는 게 나은 것 같으세요? 아니면 어쩔 수 없이 식별 관계로 풀려고 하는 게 나은 것 같으신가요?
-
해결됨[4주 과정] 저자와 함께 하는 『퀵스타트 SQL with 챗GPT』 완독 챌린지
월요일것은 언제부터 볼 수 있나요?
월 1장을 볼려고 하는데 아무것도 표시가 안되서요. 언제부터 볼 수 있는 것인지요?
-
미해결실무에서 바로 쓰는 SQL튜닝 45가지
그 EXISTS의 힌트절에 NESTED LOOP를 쓰는이유 질문
EXISTS 힌트절에 NL_SJ을 써야한다고 말씀하셨는데 이게 EXISTS 자체가 하나씩 상관 서브 쿼리에 사용이 되기 때문에 NL_SJ를 써야한다는 거죠? IN 같은 경우는 독립적으로 실행이 가능하기 떄문에 HASH_SJ가 유리한거구요?
-
미해결실무에서 바로 쓰는 SQL튜닝 45가지
어우 옵티마이저가 뛰어난건지..
SELECT COUNT(*)FROM ORDERSWHERE MEMBER_ID IN ( SELECT /*+ UNNEST HASH_SJ */ MEMBER_ID FROM MEMBERS WHERE CITY = 'Busan' );이렇게 진행을 하더라도 옵티마이저가 멋대로 HASH JOIN RIGHT SEMI로 MEMBERS를 선행해버리네요
-
미해결실무에서 바로 쓰는 SQL튜닝 45가지
안녕하세요 NESTED LOOP 문제에서
CREATE INDEX EMP_DEPTNO_ENAME ON EMP(DEPTNO, ENAME);CREATE INDEX DEPT_DEPTNO_LOC ON DEPT(DEPTNO, LOC);SELECT /*+ LEADING(E D) USE_NL(D) INDEX_SS(E EMP_DEPTNO_ENAME) INDEX(D DEPT_DEPTNO_LOC) */ E.ENAME, D.LOCFROM EMP E, DEPT DWHERE E.DEPTNO = D.DEPTNO AND E.ENAME = 'SCOTT';이렇게 결합컬럼인덱스 접근하니 BUFFERS수가 더 주는데 이렇게 풀이를 해도 괜찮을까요??