데이터베이스) 파티션, 설계 단계, 논리
▤ 목차
✔ 파티션(Partiton)
대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는
⌨ 장점과 단점
[장점]
- 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상된다.
- 파티션 별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상된다.
- 파티션 별로 백업 및 복구를 수행하므로 속도가 빠르다
- 장애 발생시 데이터 손상 정도를 최소화 할 수 있다.
- 데이터 가용성이 향상된다.
- 파티션 단위로 입출력을 분산시킬 수 있다.
[단점]
- 하나의 테이블을 세분화하여 관리해야함으로 세심한 관리가 요구된다.
- 테이블간 조인에 대한 비용이 증가한다.
- 용량이 작은 테이블에 파티셔닝을 수행하면 성능이 저하된다.
💻 종류
- 범위 분할 (Range Partitioning) : 지정한 열의 값을 기준으로 분할한다.
- 해시 분할 (Haxh Partitoning) : 해시 함수를 적용한 결과 값에 따라 분할 (특정 데이터가 어디에 있는지 수 없다. )
- 조합 분할 (Composite Partitioning) : 범위 분할로 분할 한 후 해시 함수를 적용하여 다시 분할한다.(범위 파티션이 너무 커서 관리가 어려울때 유용하다.)
+ 라운드-로빈 분할
: 파티션에 행의 고른 분포를 원할 때 사용한다. 그러나, 해시 분할과 달리 분할 칼럼을 명시 할 필요가 없다.
라운드 로빈 분할로 회전하면서 새로운 행이 파티션에 할당된다.
👏 문제
수평 분할
하나의 테이블의 각 행을 다른 테이블에 분산시키는 것을 말한다.
✔설계 단계
특정 DBMS로 데이터베이스를 구현하는 것
- 요구 조건 분석
- 개념적 설계
- 논리적 설계
- 물리적 설계
- 구현
⌨ 개념적 설계
- 정보 모델링 : 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정을 말한다.
- 추상적인 개념으로 표현하는 과정이다.
- 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
- DBMS에 독립적인 개념 스키마를 설계한다.
- 독립적인 E-R 다이어그램을 그린다.
💻 논리적 설계
- 데이터 모델링을 말한다.
- 컴퓨터가 이해하고 처리할 수 있는 논리적 자료 구조로 변환시키는 과정이다.
- 트랜잭션의 인터페이스를 설계한다.
- 목표 DBMS에 일치하는 (= 종속적인) 논리 스키마를 설계한다.
- 스키마의 평가와 정제를 한다.
⌨ 물리적 설계
- 데이터 구조화를 말한다.
- 물리적 저장 장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
- 레코드 집중의 분석 및 설계
- 접근 경로 설계
- 저장 레코드의 양식 설계
👏 문제
✔ 릴레이션
⌨ 특징
- 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다. (key로 구분한다.)
- 튜플 무순서 : 튜플 사이의 순서는 무의미하다.
- 속성 무순서 : 속성 사이의 순서는 무의미하다.
- 속성의 원자성 : 속성 값으로 원자값(더는 분해할 수 없는 하나의 )만 사용할 수 있다.
💻 키 종류 (튜플 구분자)
- 유일성 : 하나의 키 값으로 튜플을 유일하게 식별할 수 있는 성질
- 최소성 : 키를 구성하는 속성들 중 꼭 필요한 최소한의 속성들로만 키를 구성하는 성질
👏 슈퍼키 : 유일성 O, 최소성 X
슈퍼키는 유일성을 만족하는 속성 또는 속성들의 집합이다.
키 값이 같은 튜플을 존재할 수 없다.
👏 후보키 : 유일성 O, 최소성 O
후보키는 슈퍼키 중에서 유일성과 최소성을 모두 만족하는 속성 또는 속성들의 집합이다.
꼭 필요한 최소한의 속성들로만 이루어진
👏 기본키 (primary key)
데이터베이스 설꼐자나 관리자는 여러 후보키 중에서 기분적으로 사용할 키를 반드시 선택해야한다.
릴레이션에서 튜플을 구별하기 위해 여러 개의 후보키를 모두 사용할 필요는 없다.
- not null 속성이다.
- 중복된 값이 저장될 수 없다.
- 자주 변경되지 않는 속성으로 구성된 후보키를 기본키로 선택하는 것이 좋다.
- 단순한 후보키를 기본키로 선택하는 것이 좋다.
- 기본키는 속성 이름 밑줄을 그어 표현한다.
👏대체키
기본키로 선택되지 못한 후보키이다.
👏 외래키 :참조키
다른 릴레이션의 기본키가 되는 키이다.
외래키는 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키이다.
외래키는 기본키로 사용할 수도 있고 외래키를 포함하여 기본키를 구성할 수 있다.
릴레이션의 기본키가 아닌 다른 속성을 참조한다면, 기본키가 아니면 튜플을 유일하게 구별하기 어렵기때문에 참조되는 릴레이션에서 관련있는 튜플을 검색하지 못할 수 있다.
- null 가능
- 서로 다른 튜플이 같은 값을 가질 수 있다.
✔ 시스템 카탈로그
- 하나의 작은 데이터베이스 데이터 사전(Data dictionary)라고 한다.
- DDL의 결과로 생성되는 기본 테이블, 뷰, 인덱스, 데이터베이스, 접근 권한 등 데이터베이스 구조 및 성능 평가를 위한 통계 정보까지 저장한다. 기본적으로 모든 데이터 개체들에 대한 정의나 명세에 대한 정보를 수록한 시스템 테이블이다.
- 데이터베이스의 스키마 정보, 스키마들 간의 사상 정보, DBMS의 특정 모듈을 필요로하는 정보를 저장한다.
- 내용을 메타 데이터라고 한다.
⌨ 특징
- 일반 사용자도 SQL을 이용해 내용을 검색할 수 있다.
- 사용자가 INSERT,DELETE,UPDATE문을 사용하여 카탈로그를 직접 갱신하는 것을 허용하지 않는다.
- 데이터베이스 시스템에 따라 구조가 다르다.
- 카탈로그는 DBMS 스스로가 생성하고 유지한다.
- 카탈로그는 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템을 자동으로 갱신한다.
👏 문제
정답은 1번
✔ 분산 데이터베이스 투명성 조건
분산 데이터 베이스란 여러 곳으로 분산된 데이터 베이스를 하나의 가상 시스템처럼 사용할 수 있게 하는 데이터 베이스를 말한다.
논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 집합니다.
⌨ 6가지 투명성(Transparency)
- 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장된다.
- 위치 투명성 : 사용하려는 데이터 저장 명소 명시할 필요 없다. 위치 정보가 카탈로그에 유지되어야한다.
- 지역사상 투명성 : 지역DBMS와 물리적DB 사이의 Mapping이 보장된다. 지역 시스템 이름과 무관한 이름 사용 가능.
- 중복 투명성 : DB객체가 여러 site에 종복되어 있는지 알 필요성이 없다. 데이터베이스가 중복 존재해도 고객과는 무관하게 유지되는 데이터 일관성이다.
- 장애 투명성 : DBMS, computer 등 구성요소에 장애가 발생과 무관한 Transaction의 원자성을 유지한다.
- 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성을 유지한다. Time Stamp, 분산 2단계 Locking을 이용해 구현한다. 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 결과에 영향을 주지않는다.
✏️장점과 단점
장점 | 단점 |
효율성과 융통성 | 소프트웨어 개발 비용 증가 |
빠른 응답 속도 통신 비용 절감 | 오류의 잠재성 증대 |
데이터의 가용성과 신뢰성 증가 | 처리 비용의 증대 |
시스템 규모의 적절한 조절 | 설계, 관리의 복잡성과 비용 |
각 지역 사용자의 요구 수용 증대 | 불규칙한 응답 속도 |
지역 자치성, 점증적 시스템 용량 확장 | 통제의 어려움 |
통합된 데이터베이스에서 제공할 수 없는 빠른 성능 | 데이터 무결성에 대한 위협 |
네트워크 부하 및 트랜잭션 집중에 따른 성능 저하를 분산 데이터 환경을 구축함으로 방지할 수 있다. |
👏 중요
정답은 4번
✔ OLAP(Online Analytical Processing)
⌨ 데이터 웨어하우스( DATA Warehouse)
급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율적으로 사용할 수 있도록 데이터베이스를 말한다.
- 사용자의 의사 결정을 도와주기 위해, 기가 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다.
- Subject-Oriented 주제 지향 : 의사 결정에 필요한 특정 주제의 데이터만 가지고 그 외의 데이터는 포함하지 않는다.
- Intergrated 통합 : 데이터 웨어하우스에 저장, 관리되는 데이터는 다수의 서로 다른 형태의 데이터베이스로 통합된 것.
- Time-Variant 시계열 : 대부분의 데이터 웨어 하우스에는 시간에 따라 변화된 정보를 저장한다.
- Non-volatile 비휘발성 : 데이터 웨어하우스에는 오퍼레이셔널 데이터베이스와는 물리적으로 별도의 데이터를 저장한다.
💻 OLAP
- 실시간 데이터 분석 기법이다.
- ROLL -UP : 분석할 항목에 대해 작은 범위에서 큰 범위로 접근하는 기능
- Drill - down : 큰 범위에서 작은 범위로 접근하는 기능
- slicing : 특정 관점으로 잘라서 보기
- dicing : 슬라이싱 기법에서 더 쪼개서 비교
- pivot : 데이터 교환 비교
- sort : 데이터 정렬 비교
👏 data mart
데이터 웨어하우스 환경에서 정의된 접근 계층이다.
데이터를 꺼내 사용자에게 제공하는 역할을 한다.
👏 data mining
저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 과정을 말한다.