ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스) 파티션, 설계 단계, 논리
    정보처리기사/개념 2024. 5. 14. 12:40

    ▤ 목차

       

       

      ✔ 파티션(Partiton)

      대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 

      ⌨ 장점과 단점

      [장점]

      • 데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상된다.
      • 파티션 별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상된다.
      • 파티션 별로 백업 및 복구를 수행하므로 속도가 빠르다
      • 장애 발생시 데이터 손상 정도를 최소화 할 수 있다.
      • 데이터 가용성이 향상된다.
      • 파티션 단위로 입출력을 분산시킬 수 있다.

       

      [단점]

      • 하나의 테이블을 세분화하여 관리해야함으로 세심한 관리가 요구된다.
      • 테이블간 조인에 대한 비용이 증가한다.
      • 용량이 작은 테이블에 파티셔닝을 수행하면 성능이 저하된다.

       

      💻 종류

      1. 범위 분할 (Range Partitioning) : 지정한 열의 값을 기준으로 분할한다.
      2. 해시 분할 (Haxh Partitoning) : 해시 함수를 적용한 결과 값에 따라 분할 (특정 데이터가 어디에 있는지  수 없다. )
      3. 조합 분할 (Composite Partitioning) : 범위 분할로 분할 한 후 해시 함수를 적용하여 다시 분할한다.(범위 파티션이 너무 커서 관리가 어려울때 유용하다.)

      + 라운드-로빈 분할

      : 파티션에 행의 고른 분포를 원할 때 사용한다. 그러나, 해시 분할과 달리 분할 칼럼을 명시 할 필요가 없다.

      라운드 로빈 분할로 회전하면서 새로운 행이 파티션에 할당된다. 

       

      👏 문제

      수평 분할

      하나의 테이블의 각 행을 다른 테이블에 분산시키는 것을 말한다.

       


       

       

       

      ✔설계 단계

      특정 DBMS로 데이터베이스를 구현하는 것

      1. 요구 조건 분석
      2. 개념적 설계
      3. 논리적 설계
      4. 물리적 설계
      5. 구현

       

      ⌨ 개념적 설계

      • 정보 모델링 : 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정을 말한다.
      • 추상적인 개념으로 표현하는 과정이다.
      • 개념 스키마 모델링트랜잭션 모델링병행 수행한다.
      • DBMS에 독립적인 개념 스키마를 설계한다.
      • 독립적인 E-R 다이어그램을 그린다.

       

      💻 논리적 설계

      • 데이터 모델링을 말한다.
      • 컴퓨터가 이해하고 처리할 수 있는 논리적 자료 구조로 변환시키는 과정이다.
      • 트랜잭션의 인터페이스를 설계한다.
      • 목표 DBMS에 일치하는 (= 종속적인) 논리 스키마를 설계한다.
      • 스키마의 평가와 정제를 한다.

       

      ⌨ 물리적 설계

      • 데이터 구조화를 말한다.
      • 물리적 저장 장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
      • 레코드 집중의 분석 및 설계
      • 접근 경로 설계
      • 저장 레코드의 양식 설계

       

      👏 문제

       


       

       

      ✔ 릴레이션

      http://www.databaser.net/moniwiki/wiki.php/%EA%B4%80%EA%B3%84%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%AA%A8%EB%8D%B8?action=body

      ⌨ 특징

      • 유일성 : 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다. (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

      저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 과정을 말한다.

       

       

       

    Designed by Tistory.