SQLD (7) 썸네일형 리스트형 SQLD) 내가 보려고 정리한 사소한 포인트 정리 반정규화 데이터 조회시 디스크 입출력 양이 많아서 성능이 저하되거나 조인으로 인한 성능저하가 예상되는 경우 반정규화 수행 반정규화 수행 전, 통계/중복/이력/부분 테이블 추가를 통해 반정규화를 회피하려고 함 반정규화 검토 대상 한 테이블의 일정 범위만 자주 조회하는 경우 대량의 데이터가 있고 대량의 데이터 범위를 자주 처리하는 경우 통계성 정보를 자주 필요로 하는 경우 통계 테이블을 추가 테이블이 지나치게 많은 조인이 필요한 경우 데이터 성능 로우 체이닝 : 로우 길이가 너무 길어서 두 개 이상의 데이터 블록에 걸쳐서 하나의 로우가 저장되는 경우 로우 마이그레이션 : 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식으로 디스크.. SQL) SQL 기초 1. 관계형 데이터베이스 1. 데이터베이스 데이터를 일정한 형태로 저장해놓은 것 종류 계층형 : 트리 자료구조 사용, 1:N 관계 표현 네트워크형 : 오너와 멤버 형태, M:N 관계형 : 릴레이션(테이블)에 데이터 저장, 집합연산, 관계 연산 가능 2. 관계형 데이터베이스 정규화를 통해 이상 현상 및 중복 데이터 제거 동시성 관리와 병행 제어를 통해 데이터 동시 조작 가능 집합 연산 합집합(union), 차집합(difference), 교집합(intersection), 곱집합(Cartesian Product) 관계 연산 선택 (Selection) : 조건에 맞는 행(튜플|가로) 조회 투영 (Projection) : 조건에 맞는 속성(컬럼|세로) 조회 결합 (Join) : 공통 속성(컬럼)을 사용해서 새로운.. SQLD) 데이터베이스 구조와 성능 1. 대용량 데이터에 따른 성능 테이블 반정규화 중 테이블 분할 관련 내용 블록 : 테이블의 데이터 저장 단위 대량 데이터 발생으로 인해 발생하는 현상 블록 입출력 횟수가 증가 → 디스크 입출력 횟수 증가 → 성능 저하 row chaining : 행 길이가 너무 길어 여러 블록에 걸쳐 저장되는 형상 row migration : 수정된 데이터가 해당 블록이 아닌 다른 블록의 빈 공간에 저장되는 현상 테이블 분할은 블록, 디스크 입출력을 감소시킴 Partitioning 테이블 수평 분할 기법 (레코드, 행 기준) 논리적으로는 하나의 테이블이지만 물리적으로 여러 데이터 파일에 분산 저장 데이터 조회 범위를 줄여 성능을 향상시킴 종류 range partition : 데이터 값의 범위를 기준으로 분할 list p.. 반정규화 De-normalization 1. 반정규화 기본 개념 데이터 무결성을 희생하고, 데이터 중복을 허용하여 조인을 줄여 조회 성능을 향상시키는 방법 시스템 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터모델을 통합, 중복, 분리하여 의도적으로 정규화 원칙을 위배하는 행위 절차 반정규화 대상 조사 뷰, 클러스터링, 인덱스, 애플리케이션 등 다른 성능 향상 방법 검토 반정규화 적용 2. 테이블 병합 자주 조인되는 두 개의 테이블을 하나로 합치는 것 특징 데이터 조회 성능은 향상 중복 데이터가 생겨 처리량이 증가 not null, default,check 등 제약 조건 설계가 어려움 종류 1:1 관계 테이블 병합 : 병합했을 때 이행적 종속이 발생하더라도 자주 변경되는 정보가 아니고 조회시 조인이 자주되는 경우가 많은 경우 병.. 정규화 Normalization 1. 성능 데이터 모델링 DB 성능 향상을 위한 사항을 데이터 모델링에 반영하는 것 분석, 설계 시점에 수행해야 하고 이 시점이 늦어질수록 재업무 비용 증가 정규화는 반드시 수행해야 하고 DB용량 산정, 트랜잭션 유형 파악을 통한 반정규화를 수행할 수도 있음 2. 함수적 종속성 정규화 데이터 분해 과정 이상현상 anomaly 제거 목표 : 테이블 간 중복된 데이터를 제거 → 무결성 Integrity 유지, 용량 축소 함수적 종속성 Functional Dependency;FD 테이블(릴레이션)에 속성 X, Y가 있다고 가정 X 값을 알면 Y값을 식별할 수 있고, X값에 따라 Y값이 달라지는 경우; Y는 X에 함수적으로 종속된다고 함 ex) 학번 → 이름, 학번 → 나이, 학번 → 성별 (학번으로 모든 학생.. ERD (Entity Relationship Diagram) 기초 1. 기본 개념 데이터 모델링의 3요소 엔티티 - 사각형 관계 - 마름모 속성 - 타원형 ERD 그리기 절차 엔티티 도출 엔티티 배치 엔티티 간 관계 설정 관계명 기술 관계 차수 표현 : 1:1, 1:N, M:N 관계선택사양 표현 : 필수, 선택 2. 엔티티 업무에서 관리해야 하는 데이터의 집합, 명사형, 인스턴스의 집합 특징 업무에서 필요로함 유일한 식별자를 가짐 2개 이상의 인스턴스를 포함함 속성을 가지고 있음 다른 엔티티와의 관계를 가지고 있음 종류 유무형에 따른 분류 유형 엔티티 : 물리적 형태가 있고, 지속적으로 활용되는 것 개념 엔티티 : 물리적 형태가 없는 것 발생 시점에 따른 분류 기본 엔티티 Key Entity : 독립적으로 생성되는 엔티티 중심 엔티티 Main Entity: 기본 엔티티.. 데이터 모델링의 이해 1. 모델링 현실 세계를 단순화하여 표현하는 것 특징 추상화 : 일정한 형식에 맞춰 표현 단순화 : 제한된 표기법이나 언어로 표현 명확성 : 이해하기 쉽게 표현 관점 데이터 관점 : 업무와 데이터 사이의 관계 프로세스 관점 : 진행되고 있거나 진행되어야 하는 업무 상관 관점 : 데이터에 대한 업무 처리 방식의 영향 2. 데이터 모델링 정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법 목적 정보 표기법을 통일하여 업무 내용 분석 정확도 증대 데이터 모델을 기초로 DB 생성 기능 가시화, 명세화, 구조화된 데이터 틀 제공 문서화 다양한 관점 제공 구체화 중요성 파급효과 leverage 간결한 표현 conciseness : 정보 요구사항과 한계를 간결하게 표현하는 도구 데이터 품직 향상 유일성 : 데이터.. 이전 1 다음