SQLD자격증독학 28

[SQLD자격증독학] 18. 분산 데이터베이스와 성능

분산 데이터베이스의 정의- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스- 논리적으로 동일한 시스템에 속하지만 , 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합.공유 > 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스 분산 데이터베이스의 6가지 투명성 (Transparency)1. 분할 투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장2. 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Cata..

SQLD자격증독학 2017.01.21

[SQLD자격증독학] 17. 데이터베이스 구조와 성능

Extended ER모델 = 슈퍼/서브타입 데이터 모델- 공통의 부분을 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성에 대해서는 별도의 서브엔터티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점- 분석단계에서 많이 쓰이는 모델 - 슈퍼/서브타입을 아무런 기준없이 변환하는 것 자체가 성능이 저하될 수 있는 위험이 있음을 기억해야 한다 슈퍼/서브타입 데이터 모델의 변환- 데이터 보관주기에 따라 쉽게 삭제하는 기능은 제공 될 수 X 1. 트랜잭션은 항상 일괄로 처리하는데 테이블은 개벼로 유지되어 Union연산에 의해 성능이 저하될 수 있다2. 트랜잭션은 항상 서브타입 개별로 처리하는데 테이블은 하나로 통합되어 있어..

SQLD자격증독학 2017.01.21

[SQLD자격증독학] 16. 대량 데이터에 따른 성능

- 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능저하를 예방할 수 있음 대량의 데이터가 하나의 테이블에 존재하게 되면?- 인덱스를 생성할 때 인덱스의 크기(용량)가 커지게 됨> 인덱스를 찾아가는 단계가 깊어지게 됨> 조회의 성능에도 영향을 미침> 데이터를 입력/수정/삭제하는 트랜젝션의 경우 인덱스의 특성상 일량이 증가하여 더 많이 성능의 저하를 유발 칼럼이 많아지게 되면- 물리적인 디스크에 여러 블록에 데이터가 저장되게 됨> 데이터를 처리할 때 여러 블록에서 데이터를 I/O해야 함> SQL문장의 성능이 저하될 수 있는 특징을 가지게 됨- 로우체이닝과 로우마이그레이션이 많아지게 되어 성능이 저하됨> 로우체이닝 (Row Cha..

SQLD자격증독학 2017.01.21

[SQLD자격증독학] 15. 반정규화와 성능

비정규화- 아예 정규화를 수행하지 않은 모델 반정규화- 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미- 정규화만을 수행하면?> 엔터티의 갯수가 증가하고 관계가 많아져 일부 여러 개의 조인이 걸려야만 데이터를 가져오는 경우가 있다- 반드시 데이터 무결성을 보장할 수 있는 방법을 고려한 이후에 반정규화를 적용하도록 해야한다. 반정규화 절차1. 반정규화 대상조사2. 다른 방법유도 검토- 지나치게 많은 조인 > 뷰(VIEW)를 사용하여 해결 가능- 대량의 데이터처리나 부분처리 > 클러스터링을 적용하거나 인덱스를 조정클러스터링? 대량의 데이터를 특정 클러스터링 팩트에 의해 저장방식을 다르게 하는 방법입력/수정/삭제하는 경우 X, 조회가 대부분인 경우 O- 대량..

SQLD자격증독학 2017.01.19

[SQLD자격증독학] 14. 정규화와 성능

정규화를 하는 것- 데이터에 대한 중복성을 제거- 성능향상 > 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것> 한 테이블의 데이터 용량이 최소화되는 효과 함수적 종속성 (Functional Dependency)- 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭하는 것- 기준값 : 결정자(Determinant), 종속되는 값 : 종속자(Dependent) > 기본적으로 데이터는 속성간의 함수종속성에 근거하여 정규화되어야 한다.

SQLD자격증독학 2017.01.19

[SQLD자격증독학] 13. 성능 데이터 모델링 개요

성능이 저하되는 데이터 모델의 경우- 데이터 모델 구조에 의해- 데이터가 대용량이 됨으로 인해 불가피 하게- 인덱스 특성을 충분히 고려하지 않고 인덱스 생성함으로 인해 성능 데이터 모델링- 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 성능 데이터 모델링 고려사항- 데이터 모델링을 할 때 정규화를 정확하게 수행- 데이터베이스 용량산정을 수행- 데이터베이스에 발생되는 트랜잭션의 유형을 파악- 용량과 트랜잭션의 유형에 따라 반정규화를 수행- 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행- 성능관점에서 데이터 모델을 검증

SQLD자격증독학 2017.01.18

[SQLD자격증독학]12. 식별자 (Identifiers)

식별자- 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성- 하나의 엔터티는 반드시 하나의 유일한 식별자 존재 식별자와 키와 차이점- 식별자는 논리 데이터 모델링 단계에서 사용 , 키는 물리 데이터 모델링 단계에서 사용 식별자의 특징- 유일성 : 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야 함- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함- 불변성 : 지정된 주식별자의 값은 자주 변하지 않는 것이어야 함- 존재성 : 주식별자가 지정이 되면 반드시 값이 들어와야 함 주식별자 도출기준- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정- 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않..

SQLD자격증독학 2017.01.17

[SQLD자격증독학] 11. 관계 (Relationship)

관계의 정의- 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태 패어링- 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것- 패어링의 집합 : 관계 관계 패어링 (Relationship Paring)- 엔터티내에 인스턴스와 인스턴스 사이에 관계가 설정되어 있는 어커런스 관계의 분류- 존재의 형태에 의해 관계 : 소속된다- 행위에 의한 관계 : 주문한다 - 연관관계 : 항상 이용하는 관계, 존재적 관계 >실선으로 표현, 멤버변수 등으로 선언하여 사용- 의존관계 : 상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현한다는 것 > 점선으로 표현, Operation(Method)에서 파라미터 등으로 이용 관계의 표기법- 관계명 (Membership..

SQLD자격증독학 2017.01.17

[SQLD자격증독학] 10. 속성 (Attribute)

속성의 정의- 업무에서 필요로 한다.- 의미상 더 이상 분리되지 않는다.- 엔터티를 설명하고 인스턴스의 구성요소가 된다.ex) 생년월일 -> 생년, 생월, 생일 -> 서로 관련 O -> 생년, 생월, 생일, 생년월일 모두 다 하나의 속성이 됨. 이름주소 -> 이름, 주소 -> 서로 관련 X -> 이름, 주소 만! 하나의 속성이 됨. 엔터티, 인스턴스, 속성, 속성값의 관계- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.- 한 개의 인스턴스는 두 개 이상의 속성을 갖는다.- 한 개의 속성은 한개의 속성값을 갖는다.ex) 엔터티 : 사원인스턴스 : 홍길동이라는 사람속성 : 이름, 주소, 생년월일속성값 : 홍길동, 서울시, 1994년 12월 19일 속성의 표기법- 엔터티 내에 이름을 포함하여 표..

SQLD자격증독학 2017.01.17

[SQLD자격증독학] 9. 엔터티(Entity)

엔터티의 개념 - 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 (Thing) - 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상 - 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합 - 인스턴스의 집합 > 인스턴스 : 엔터티의 하나의 값에 해당 - 눈에 보이지 않는 엔터티도 존재 ( 놓치지 않도록 주의!!! ) 엔터티의 특징 - 반드시 해당 업무에서 필요하고 관리하고자 하는 정보 - 유일한 식별자에 의해 식별이 가능 > 유일한 식별자는 그 엔터티의 인스턴스 만의 고유한 이름 - 영속적으로 존재하는 인스턴스의 집합 > 두 개 이상 - 업무 프로세스에 의해 이용 - 반드시 속성이 있어야 함 - 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함 > 관계가 없으면,..

SQLD자격증독학 2017.01.16