SQLD (14) 썸네일형 리스트형 SQLD 시험 대비 - 데이터 모델과 성능 (3) 로우 체이닝 : 로우의 길이가 너무 길어서 데이터 블록 하나에 데이터가 모두 저장되지 않고 두 개 이상의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태 -> 1:1로 테이블 분리해 조회 성능 향상 로우 마이그레이션: 데이터 블록에서 수정이 발생하면 수정된 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장하는 방식 로우 체이닝과 로우 마이그레이션이 발생하여 많은 블록에 데이터가 저장되면 DB 메모리에서 디스크 I/O가 발생할 때, 많은 디스크 I/O가 발생하여 성능 저하발생 트랜잭션을 분석하여 적절하게 1:1 관계로 분리함으로써 성능 향상이 가능하도록 해야 한다. PK에 의해 테이블을 분할하는 방법(파티셔닝) (파티셔닝: 1개 테이블에 많은 데이터가 저장될 때 논리적으로는 1.. SQLD 시험 대비 - 데이터 모델과 성능 (2) 3. 반 정규화 적용 ( 테이블, 칼럼, 관계 ) 3-1 테이블 반 정규화 테이블 병합( 1:1 관계 , 1:M관계, 슈퍼 / 서브타입) 1. 1:1관계를 통합하여 성능 향상 2. 1:M관계를 통합하여 성능향상 3. 슈퍼/서브 관계를 통합하여 성능향상 ( 슈퍼: 공통부분/ 서브: 공통으로부터 상속받아 다른 엔터티와 차이나는 특성) 테이블 분할( 수직분할, 수평분할) 1. 수직분할: 칼럼 단위 테이블을 디스크(I/O) 를 분산처리하기 위해 테이블을 1:1로 분리하여 성능향상 2. 수평분할 :로우 단위로 집중 발생되는 트랜잭션을 분석하여 디스크(I/O) 및 데이터 접근의 효율성을 높여 성능을 향상 하기 위해 로우 단위로 테이블을 쪼갬. 테이블 추가 1. 중복 : 다른 업무이거나 서버가 다른 경우 동일한 테이.. SQLD 시험 대비 - 데이터 모델과 성능 (1) 성능 데이터 모델링 : DB 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 정규화, 반 정규화 테이블 통합, 테이블 분할, 조인 구조 , PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것. ==> 문제 발생 시점에 튜닝성능을 튜닝하며 데이터 모델이 변경 가능. 분석/ 설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능 저하에 따른 재 업무 비용을 최소화할 수 있음. 데이터의 증가가 빠를수록 성능 저하에 따른 성능 개선비용은 기하급수적으로 증가하게 된다. 성능 데이터 모델링 고려사항 순서 1. 데이터 모델링을 할 때 정규화를 정확하게 수행 2. DB 용량산정을 수행한다. 3. DB에 발생되는 트랜잭션의 유형을 파악한다. 4. 용량과.. SQLD 시험 대비 - 데이터 모델링의 이해 (3) 식별자 : 엔터티 내에서 인스턴스를 구분하는 구분자, 식별자는 논리적, Key는 물리적 데이터 모델링 단계에 사용 식별자의 특징: 유일성, 최소성, 불변성, 존재성 (유최불존) - 유일성 : 주 식별자에 의해 모든 인스턴스들이 유일하게 구분 ex) 식별자의 구조 : 사원번호 ( o ), 사원번호 +분류 코드 (x) - 최소성 : 주 식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 - 불변성 : 지정된 주 식별자의 값은 자주 변하지 않아야 함 -> 사원번호가 변하면 이전 기록 말소 - 존재성 : 주 식별자가 지정되면 반드시 값이 들어와야 함 (Not Null) 식별자 분류 대표성 여부 : 주 식별자, 보조 식별자 - 주 : 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자, 타 엔.. SQLD 시험 대비 - 데이터 모델링의 이해 (2) 속성(Attribute) - 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 분리되지 않는 최소의 데이터 단위 - 1 개의 엔터티는 2개 이상의 인스턴스 집합 - 1 개의 엔터티는 2개 이상의 속성을 가짐 - 1 개의 속성은 1개의 속성값을 가짐 (1개 이상 불가) 구성 방식의 분류 : PK, FK , 일반 속성 PK: 엔터티를 식별하는 속성 FK: 타 엔터티와 관계에서 포함된 속성 일반속성: PK, FK가 아닌 속성 속성의 분류 : 기본, 설계, 파생 속성 - 기본 : 업무로부터 추출한 모든 일반적인 속성 - 설계 : 업무를 규칙화하기 위해 새로 만들거나 변형, 정의하는 속성 ex) 일련번호, 분류코드 - 파생 : 다른 속성에 영향을 받아 발생하는 속성 (계산된 값 x) 빠른 성능을 낼 수 있도.. SQLD 시험 대비 - 데이터 모델링의 이해 (1) 오늘부터 SQLD시험을 대비하여 정리하는 시간을 가져보도록 하겠다. 데이터 모델링의 3단계 개념적 , 논리적 , 물리적 데이터 모델링 ( 추상화 정도에 따라 구체적이다.) 데이터 독립성 요소 ( 데이터베이스 스키마 구조 3단계) 외부 스키마 : 개개 사용자가 보는 개인적 DB 스키마 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB 내부 스키마 : 물리적 장치에서 데이터가 실제로 저장된 형식 데이터 독립성 : 상호 영향에서 벗어나 고유기능을 극대화 논리적 독립성 : 개념 스키마 변경 -> 외부스키마에 영향 x 물리적 독립성 : 내부 스키마 변경 -> 외부/내부스키마에 영향 x 데이터 모델링의 3요소 엔터티(E), 속성(A), 관계(R) EAR (귀로 외우자) 데이터 모델링 표기법 1976년 피터 첸이.. 이전 1 2 다음