데이터 모델링 — ERD의 네 요소, 정규화, 그리고 반정규화를 언제 하는가
개체-관계 모델의 네 요소와 카디널리티 표기, 이상현상을 없애는 정규형 1NF~5NF, 반정규화를 꺼내도 되는 조건과 3원칙, 쿼리가 모델을 결정하는 NoSQL 모델링, 그리고 데이터 표준이 실제로 줄이는 비용을 정리한다.
태그
10편
개체-관계 모델의 네 요소와 카디널리티 표기, 이상현상을 없애는 정규형 1NF~5NF, 반정규화를 꺼내도 되는 조건과 3원칙, 쿼리가 모델을 결정하는 NoSQL 모델링, 그리고 데이터 표준이 실제로 줄이는 비용을 정리한다.
로컬 LLM은 싸게 하려고 쓰는 것이 아니다. GGUF 형식과 양자화 등급, VRAM 산정 공식, Ollama 운영, 그리고 온프레미스 도입을 판단하는 기준을 정리한다.
알림은 지워지는 계기가 없어 무한히 쌓이는데 실제로 읽히는 것은 언제나 최신 스무 건뿐이다. 이 비대칭 위에서 저장소를 문서형으로 고른 근거를 도메인 특성에서 끌어내고, 기준값을 넘겨 받는 페이징과 읽음 경계를 시각 한 값으로 푸는 설계, 가장 자주 불리는 엔드포인트를 캐시로 받는 자리, 그리고 90일이 지난 문서를 배치 없이 치우는 만료 인덱스까지 차례로 본다.
병렬화는 튜닝 축 다섯 개 중 하나의, 그 안에서도 한 칸이다. 그마저도 병목이 어디인지 확정한 뒤에야 의미를 갖는다. 이 글은 측정 설비를 세우는 데서 시작해 Multi-threaded Step·Parallel Step·Partitioning 셋이 각각 무엇을 쪼개고 무엇을 깨뜨리는지, 그리고 여기서 말하는 파티셔닝이 왜 저장 구조를 바꾸는 파티셔닝과 다른 결정인지를 정한다.
배치 Step의 세 인터페이스 중 둘은 한 건을 받고 하나는 묶음을 받는다. 이 비대칭이 트랜잭션 커밋 간격을 정하고, 그 간격이 Cursor냐 Paging이냐를 정하며, JPA를 얹는 순간 같은 계산이 전부 다시 돌아간다.
RAG 비용의 실체인 토큰 구조와 컨텍스트 윈도우 예산을 정리하고, 적게 넣어야 한다면 무엇을 넣을지 고르는 MMR 알고리즘까지 이어서 다룬다.
토큰 비용을 줄이는 순서와 로컬 LLM 판단 기준, 병목을 가리는 관측 방법, 유지보수 가능한 워크플로 설계, 그리고 노코드를 확산시키며 통제하는 구조를 정리한다.
캐시를 붙이기 전에 끝내야 할 세 가지 결정을 정리한다. 캐싱 대상 판별 기준, 요구사항에 맞는 Redis 자료구조 선택, 그리고 Look-Aside부터 Write-Back까지 네 가지 캐시 전략의 트레이드오프다.
같은 데이터에서 어떤 SQL만 느려지는 이유를 네 자리에서 짚는다. 하드 파싱과 바인드 변수, B-Tree 인덱스와 복합 인덱스의 선두 컬럼 규칙, 실행계획의 access와 filter 구분, 그리고 조인 알고리즘 세 가지의 선택 기준이다.
클러스터 토폴로지와 OS 커널 튜닝, 샤드 할당과 watermark, ILM, 장애 복구 절차, 배포 전략, 모니터링, 성능 튜닝을 운영 관점에서 정리한다.