뷰 / 클러스터

0

정보처리기사

목록 보기
45/100

1. 뷰(View)란 무엇인가?


1.1 뷰의 정의

  • 뷰(View)란:
    • 사용자에게 제한된 데이터만 보여주기 위해 기본 테이블로부터 유도된 가상 테이블.
    • 물리적으로 저장되지 않으며, 필요한 순간에 데이터베이스에서 생성된 결과를 제공합니다.

1.2 뷰의 동작 방식

  • 예:
    • 학생 테이블학과 테이블이 있고, 사용자에게 학번, 이름, 학과만 보여주고 싶다면, 이 데이터를 뷰로 정의할 수 있음.
    • 뷰는 사용자에게 데이터베이스 내 민감한 정보(예: 주민등록번호, 주소 등)를 숨기고, 선택된 데이터만 표시.

1.3 뷰의 특징

  1. 가상의 테이블:
    • 물리적으로 저장되지 않으며, 사용자가 질의할 때마다 동적으로 생성.
  2. 데이터 보호:
    • 민감한 정보를 숨겨 데이터 접근을 제한.
  3. 데이터 독립성:
    • 기본 테이블이 변경되더라도 뷰는 동일한 방식으로 작동.
  4. 뷰의 삭제:
    • 뷰를 정의한 기본 테이블이 삭제되면, 관련된 모든 뷰도 자동으로 삭제.
  5. 명령어:
    • 생성: CREATE VIEW
    • 삭제: DROP VIEW

1.4 뷰의 장단점

장점
  • 데이터 독립성 제공:
    • 논리적으로 데이터 구조를 단순화.
  • 보안 강화:
    • 사용자가 볼 필요 없는 데이터는 숨길 수 있음.
  • 다양한 요구 지원:
    • 동일 데이터를 다르게 보여주는 여러 뷰를 정의 가능.
  • 간단한 데이터 관리:
    • 사용자 요구에 따라 원하는 데이터만 간단히 제공.
단점
  • 독립적 인덱스 없음:
    • 뷰는 물리적으로 저장되지 않으므로 독립적인 인덱스를 가질 수 없음.
  • 정의 변경 불가:
    • 생성된 뷰는 정의 변경이 불가능.
  • 제약 조건:
    • 삽입, 삭제, 갱신 연산 시 제약이 따름.

2. 클러스터(Cluster)란 무엇인가?


2.1 클러스터의 정의

  • 클러스터(Cluster)란:
    • 데이터 조회 성능을 향상시키기 위해, 동일한 성격의 데이터를 같은 데이터 블록에 물리적으로 저장하는 방법.
    • 데이터 접근 효율을 높이고 조회 속도를 빠르게 하는 데 중점.

2.2 클러스터의 동작 방식

  • 예:
    • 동물원 데이터베이스에서, "호랑이", "토끼", "원숭이" 데이터를 종류별로 각각의 데이터 블록에 저장.
    • 호랑이 관련 데이터는 하나의 블록에, 원숭이 데이터는 다른 블록에 저장하여, 사용자가 특정 동물을 검색할 때 빠르게 접근 가능.

2.3 클러스터의 특징

  1. 조회 성능 향상:
    • 동일한 데이터끼리 물리적으로 묶어서 저장.
  2. 저장 효율성:
    • 데이터의 분포도에 따라 저장 공간 절약 가능.
  3. 성능 저하:
    • 삽입, 수정, 삭제 작업에서는 성능이 저하될 수 있음.
  4. 데이터 분포도:
    • 중복 데이터가 많은 경우(분포도가 넓음) 클러스터링이 유리.

2.4 클러스터의 종류

  1. 단일 테이블 클러스터링:

    • 처리 범위가 넓은 경우에 사용.
    • 하나의 테이블 내에서 데이터를 클러스터링.
  2. 다중 테이블 클러스터링:

    • 조인이 많이 발생하는 경우 사용.
    • 여러 테이블을 묶어서 클러스터링.

2.5 데이터 분포도

  • 분포도가 좁다:
    • 중복 데이터가 적은 경우(예: 학번).
  • 분포도가 넓다:
    • 중복 데이터가 많은 경우(예: 성별: 남/여).
  • 클러스터링은 분포도가 넓은 데이터에 적합:
    • 동일한 데이터가 많을수록 공간 절약 효과가 큼.

2.6 클러스터의 장단점

장점
  • 조회 속도 향상:
    • 동일한 데이터가 모여 있어 검색이 빠름.
  • 저장 공간 절약:
    • 데이터 분포도가 넓을 경우 저장 공간 효율적 사용.
단점
  • 삽입/수정/삭제 시 성능 저하:
    • 데이터를 재정렬해야 하므로 추가 작업 필요.
  • 구현 복잡성:
    • 클러스터링 구현 및 관리가 복잡할 수 있음.

3. 비교 및 정리

특징뷰(View)클러스터(Cluster)
정의가상 테이블(물리적으로 저장되지 않음)동일한 성격의 데이터를 물리적으로 묶어서 저장
목적데이터 보안 및 사용자 요구 충족조회 성능 향상
저장 방식가상 테이블(동적으로 생성)물리적 블록에 데이터 저장
장점데이터 보안, 데이터 독립성조회 속도 향상, 저장 공간 절약
단점삽입/삭제/갱신 제약, 정의 변경 불가삽입/수정/삭제 작업 시 성능 저하
활용 상황특정 사용자에게 제한된 데이터 제공특정 데이터 검색이 빈번한 경우

뷰와 클러스터의 개념과 특징을 잘 이해하고, 각각의 장단점을 기억해두세요. 이를 기반으로 실무와 시험 대비 모두 가능할 것입니다!

0개의 댓글