본문 바로가기

전체 글

(44)
1.2.6 제6절 분산 데이터베이스와 성능 1. 분산 데이터베이스의 개요분산데이터베이스의 정의여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임, 물리적 Site 분산, 논리적으로 사용자 통합 공유 2. 분산 데이터베이스의 투명성(Transparency)분산데이터베이스가 되기 위한 6가지 투명성분할 투명성(단편화)하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장위치 투명성사용하려는 데이터의 저장 장소 명시 불필요, 위치정보가 System Catalog에 유지되어야 함지역사상 투명성지역 DBMS와 물리적 DB사이의 Mapping 보장, 각 지역시스템 이름과 무관..
1.2.5 제5절 데이터베이스 구조와 성능 1. 슈퍼타입/서브타입 모델의 성능고려 방법가. 수퍼/서브타입 데이터 모델의 개요Extended ER모델(슈퍼/서브타입)이라 부르는 슈퍼/서브타입 데이터 모델은 최근에 데이터 모델링을 할 때 자주 쓰이는 모델링 방법업무를 구성하는 데이터의 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현할 수 있기 때문즉, 공통의 부분은 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔티티와 차이가 있는 속성에 대해서는 별도의 서브엔티티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점이 있다. 나. 슈퍼/서브타입 데이터 모델의 변화슈퍼/서브타입에 대한 변환을 잘못하여 성능이 저하되는 이유트랜잭션 특성을 고려하지 않고 테이블이 설계되었기 때문경우의..
1.2.4 제4절 대량 데이터에 따른 성능 1. 대량 데이터발생에 따른 테이블 분할 개요아무리 설계가 잘되어 있는 데이터 모델이라도 대량의 데이터가 하나의 테이블에 집약되어 있고 하나의 하드웨어 공간에 저장되어 있으면 성능저하를 피하기가 힘들다.트랜잭션이 분산 처리 될 수 있도록 테이블단위에서 분할 필요한 테이블에 데이터가 대량으로 집중되거나 하나의 테이블에 여러 개의 칼럼이 존재하여 디스크에 많은 블록을 점유하는 경우는 모두 성능저하를 유발할 수 있는 경우대량의 데이터 시, 인덱스 Tree구조가 너무 커져 효율성이 떨어져 데이터를 처리 할 때 디스크 I/O를 많이 유발SQL에서 처리하는 I/O량이 증가 -> 적절한 인덱스 구성으로 해소 가능할 것으로 예상되지만, 정말 대량의 데이터 일때에는 인덱스 Tree구조가 커짐에 따라 CUD 수행 시 성..
1.2.2 제2절 정규화와 성능 1. 정규화를 통한 성능 향상 전략정규화를 하는 것은 기본적으로 데이터에 대한 중복성을 제거하여 주고 데이터가 관심사별로 처리되는 경우가 많기 때문에 성능이 향상되는 특징을 가짐데이터베이스에서 데이터를 처리할 때 성능의 종류조회입력/수정/삭제 둘다 좋은면 좋겠지만 둘 중하나만 좋은 경우(Trade-Off)가 많다.정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것정규화된 테이블은 데이터를 처리할 때 속도가 빨라질 수도 있고 느려질 수도 있는 특성 정규화 수행 모델은데이터를 입력/수정/삭제할 때 일반적으로 반정규화된 테이블에 비해 처리 성능이 향상데이터를 조회 할 때에는 처리 조건에 따라 조회 성능이 향상될 수도 ..
1.2.1 제1절 데이터 모델링의 개요 1. 성능 데이터 모델링의 정의성능저하 원인데이터 모델 구조에 의해 성능저하데이터가 대용량이 됨으로 의한 성능저하인덱스 특성을 충분히 고려하지 않고 인덱스를 생성함으로 인한 성능저하성능 데이터 모델링데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영 될 수 있도록 하는 것으로 정의단순히 반정규화만으로 진행되지 않음정규화 및 인덱스의 특징을 고려하여 컬럼의 순서도 변형 하여 성능개선이 가능정규화된 모델이더라도 테이블을 수직 또는 수평분할 하는 방법 2. 성능 데이터 모델링의 수행시점성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 비용이 들지 않음분석/설계..
1.1.5 제5절 식별자 1. 식별자(Identifiers) 개념여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름이 있어야 한다.하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 함 2. 식별자의 특징주식별자 특징주식별자에 의해 엔티티내에 모든 인스턴스들이 유일하게 구분주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수지정된 주식별자의 값은 자주 변하지 않는 것이어야 함주식별자가 지정이 되면 반드시 값이 들어와야 함 대체식별자 특징주식별자의 특징과 일치외부식별자 특징주식별자 특징과 일치하지 않으며, 참조무결성 제약조건에 따른 특징을 가짐 3. 식별자 분류 및 표기법가. 식별자 분류자신의 엔티티 내에서 대..
1.1.4 제4절 관계 1. 관계의 개념가. 관계의 정의엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태나. 관계의 페어링관계 페어링각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태 2. 관계의 분류존재에 의한 관계DB팀에 "소속된다" 라는 존재의 형태에 의한 관계행위에 의한 관계고객이 "주문한다" 라는 행위에 의한 관계 UML(Unified Modeling Language)에서 클래스다이어그램의 관계 중 연관관계와 의존관계가 있다.연관관계(Association) : 항상 이용하는 관계로 존재적 관계에 해당 (표현을 실선)의존관계(Dependency) : 상대방 클래스의 행위에 의해 관계가 형성 (표현을 점선) 3. 관계의 표기법ⓐ 관계..
1.1.3 제3절 속성 1. 속성(Attribute)의 개념업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위업무에서 필요의미상 더 이상 분리되지 않음엔티티를 설명하고 인스턴스의 구성요소 2. 엔티티, 인스턴스와 속성, 속성값에 대한 내용과 표기법가. 엔티티, 인스턴스, 속성, 속성값의 관계한 개의 엔티티는 두 개 이상의 인스턴스의 집합이어야 한다.한 개의 엔티티는 두 개 이상의 속성을 갖는다.한 개의 속성은 한 개의 속성값을 갖는다. 3. 속성의 특징반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 한다,하나의 속성에는 한 개의 값만을 가진다. 4. 속성의 분류가. 속성의 특성에 따른 분류기본속성(Bas..