[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 6) 분산 데이터베이스와 성능
·
자격증/SQLD
4) 분산 데이터베이스와 성능 1. 분산 데이터베이스의 개요 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용하는 DB 논리적으로는 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는데이터들의 모임 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역, 여러 노드로 위치시켜 사용성과 성능을 극대화 시킨 데이터베이스이다 2. 분산데이터베이스의 투명성 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 있고, 각 단편의 사본이 여러 사이트에 저장 위치 투명성 : 사용하려는 데이터 저장 위치가 불필요 하다 지역 사상 투명성 : 지역 DBMS와 물리적 DB사이의 사상(매핑)을 보장 중복 투명성 : DB 객체가 여러 사이트에 중복되어 있..
[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 5) 데이터베이스 구조와 성능
·
자격증/SQLD
4) 데이터베이스 구조와 성능 1. 슈퍼/서브 타입 모델의 성능 고려 슈퍼/서브 타입 데이터 모델의 개요 분석 단계에서 논리적 데이터 모델에 사용하는 모델 업무 모습을 정확하게 표현하면서 물리적 데이터 모델로 변환할 때 선택의 폭을 넓힐 수 있다는 장점 데이터들이 갖는 공통점을 슈퍼타입으로 모델링하고, 다른 엔터티와 차이가 있는 속성(상속의 개념)에 대해서는 별도로 서브 엔터티로 구분한다 슈퍼/서브 타입 데이터 모델의 변환 슈퍼/서브 타입에 대한 변환을 잘못하면 성능이 저하되는데, 큰 이유는 트랜잭션 특성을 고려하지 않고 테이블이 설계됐기 때문이다 트랜잭션이 빈번하게 처리되는 기준에 따라 테이블을 설계해야 한다 즉, 슈퍼/서브 타입 성능을 고려한 물리적 데이터 모델로 변환하는 기준은 데이터 양과 테이블에..
[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 4) 대량 데이터에 따른 성능
·
자격증/SQLD
4) 대량 데이터에 따른 성능 1. 대량 데이터 발생에 따른 테이블 분할 데이터가 특정 테이블에 많이 발생되는 경우, 트랜잭션(DB에서 수행하는 논리적 작업의 단위)이 분산 처리될 수 있도록 테이블 단위에서 분할하는 방법을 적용할 필요가 있다 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능 저하를 예방한다 성능 저하를 예방하는 2가지 경우 한 테이블에 데이터가 대량으로 집중된 경우 SQL 문장에서 데이터 처리를 위한 I/O 양이 증가하기 때문에 성능 저하 인덱스 구성으로 접근하는 범위를 조절하면서 I/O를 줄일 수 있다. 하나의 테이블에 여러 칼럼이 존재하여 디스크에 많은 블록을 점유한 경우 디스크에 물리적으로 저장되는 범위..
[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 3) 반정규화와 성능
·
자격증/SQLD
3) 반정규화와 성능 1. 반정규화를 통한 성능향상 전략 반정규화의 정의 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상&개발&운영의 단순화를 위해 협의 : 데이터를 중복하여 성능을 향상시키기 위한 기법 광의 : 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정 정규화를 거치면 입력/수정/삭제 뿐만 아니라 조회에 대한 성능도 향상된다. 하지만 엔터티의 개수와 관계가 증가하기 때문에 여러 조인을 통해 데이터를 가져오는 경우가 발생한다. 이에 대한 해법으로 반정규화를 진행한다. 설계단계에서 반정규화를 적용하기 위해 함수적 종속관계는 위반하지 않는 선에서 데이터 중복을 허가 반정규화의 적용방법 칼럼 중복을 통한 반정규화 다른테이블에 조인하여 가져와야할 칼럼을,..
[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 2) 정규화와 성능
·
자격증/SQLD
2) 정규화와 성능 1. 정규화를 통한 성능 향상 관계형 데이터베이스에서 중복을 최소화하기 위해 데이터를 구조화하는 것 데이터 중복성을 제거하고, 데이터가 처리되는 경우에 따라 구분하기 때문에 성능 향상 됨 중복속성을 제거하고 결정자(데이터를 결정하는 역할)에 의해 동일한 의미의 일반속성이 하나의 테이블로 집약(의존자로 하여금 입력/수정/삭제를 제거)되므로 한 테이블에 데이터 용량이 최소화 되는 효과 한 테이블에 인덱스가 많아지면 조회 성능은 향상되지만 입력/수정/삭제 성능은 저하 가급적 인덱스 수를 7-8개로 유지하는 것이 좋다 2. 함수적 종속성에 근거한 정규화 수행 함수의 종속성: 데이터들이 어떤 기준값에 의해 종속되는 현상 기준값을 결정자, 종속되는값을 종속자라고 한다 정규화의 궁극적 목표는 반복..
[SQLD 개념 - 1과목 Part2. 데이터모델과 성능] 1) 성능데이터 모델링의 개요
·
자격증/SQLD
1) 성능데이터 모델링의 개요 1. 성능 데이터 모델링의 정의 성능 데이터 모델링 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링부터 성능과 관련된 여러 사항(정규화, 반정규화, 테이블 통합/분할, 조인구조, PK, FK 등)을 데이터 모델링에 반영하는 것 성능을 저하시키는 원인 데이터 모델의 구조에 의해 데이터가 대용량이 되면서 인덱스 특성을 고려하지 않고 생성하여서 데이터 모델링에서의 '성능' 일반적으로 데이터 조회의 성능을 의미(반복적으로 빈번하게 발생하며, 여러 건을 처리해야하는 경우가 많다) 데이터 입력/수정/삭제는 일시적이며 빈번하지 않고, 하나의 이벤트를 처리함 2. 성능 데이터 모델링 수행 시점 성능 향상을 위한 비용은 프로젝트 수행 중 사전에 할 수록 적게 든다 특히, 분석/설..
[SQLD 개념 - 1과목 Part1. 데이터모델링의 이해] 5) 식별자(identifier)
·
자격증/SQLD
5) 식별자 1. 식별자의 개념 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성 하나의 엔터티에는 반드시 하나의 유일한 식별자가 존재해야 한다. 2. 식별자의 특징 주식별자(Primary Key) 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들이 유일하게 구분되어야 한다 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.(최소 단위) 불변성 : 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않는다. 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재해야한다. 외부 식별자(Foreign Key) 참조무결성 제약조건 : 값이 존재하거나 주식별자의 값을 갖는다. 3. 식별자 분류 대표성 여부 주식별자 : 엔터티 내에서 각 개체를..
[SQLD 개념 - 1과목 Part1. 데이터모델링의 이해] 4) 관계(Relationship)
·
자격증/SQLD
4) 관계 1. 관계의 개념 관계의 정의 인스턴스 사이의 논리적인 연관성, 존재 또는 행위로서 서로에게 연관성이 부여된 상태 관계의 페어링 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링) 관계 페어링 : 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태 cf) 개체 어커런스(Entity Occurence : 개체 인스턴스, 실제 데이터가 들어간 상태 - 행에 해당하는 데이터) 2. 관계의 분류 관계를 연결하는 목적에 따른 분류 존재에 의한 관계 : 존재의 형태에 의해 형성되는 관계 행위에 의한 관계 : 행위에 의해 발생하는 관계 3. 관계의 표기법 관계명 관계명은 엔터티가 관계에 참여하는 형태를 지칭한다 관계가 시작되는 편을 '관계 시작점'으로 부..
WONILLISM
'SQLD' 태그의 글 목록