본문 바로가기

카테고리 없음

[실기] - 품질 검토 및 분산 데이터

  • CRUD : 시스템 구축 단계 / 클라우드 매트리스
  • 옵티마이저 : 데이터베이스가 최적의 경로로 수행되는 경로를 옵티마이저
    • 구분
      • 규칙기반 옵티마이저 (Rule Based Optimizer)
        규칙(우선순위)를 가지고 실행 계획을 생성
      • 비용기반 옵티마이저 (Cost Based Optimizer)
        통계정보와 시스템 통계정보를 활용하여 가장 적은 비용이 드는 실행 계획을 선택함
    • SQL 성능 튜닝
      • SQL을 최적화하여 빠른 시간 내에 원하는 결과값을 얻기 위한 작업
  • 투명성 조건
    • 어디에 뭐가 저장되어있는지 난 몰라도 된다~
      • 위치 투명성 (Location)
        엑세스 하려는 데이터베이스의 실제 위치를 알 필요 없음
      • 분할 투명성 (Division)
        하나의 논리적 테이블이 여러 단편으로 분할되어 각 단편의 사본이 여러 위치에 저장됨
      • 지역사상 투명성 (Local Mapping)
        지역 DBSM와 물리적 DM 사이에 Mapping 보장
      • 중복 투명성 (Replication)
        동일 데이터가 여러곳에 중복되어 있더라도 사용자는 하나의 데이터만 존재하는 것처럼 사용함
      • 병행 투명성 (Concurrency)
        다수의 트랜잭션이 동시에 실현되더라도 그 트랜잭션의 결과는 영향 받지 않음
      • 장애 투명성 (Failure)
        장애에도 불구하고 트랜잭션을 정확히 처리함
  • CAP 이론
    • 어떤 분산 환경에서도 C, A, P 세 가지 속성 중 2가지만 가질 수 있다는 것
      • 일관성 (Consistency)
        같은 시간에 동일한 항복에 대하여 같은 내용의 데이터를 사용자에게 보여준다.
      • 가용성 (Availability)
        모든 사용자들이 읽기 및 쓰기가 가능해야 하며, 장애 시에도 다른 노드에 영향을 미치면 안된다.
      • 분단 허용성 (Partition Tolerance)
        메세지 전달 실패, 시스템 일부 망가져도 시스템이 계속 동작할 수 있어야 한다.
  • 트랜잭션 : 여러개의 작업을 하나로 묶는다.
    • 원자성(Atomiciry) : Commit, RollBack 둘 중 하나..
    • 일광성(Consistancy) : 동일한 상태
    • 독립성, 격리성(Isolation) : 영향 없도록, 관섭이 없다.
    • 영속성(Durability) : 고장이 나더라도, 영구이 보존(백업)
  • 트랜잭션의 상태
    • 활동 -> 실패 -> 철회-> 부분완료-> 완료
      • 부분완료에서 롤백이면 철회
      • 부분완료에서 커밋이면, 완료

 

[문제]

 

데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 뭐라고 하는지 쓰시오

 

1. 데이터베이스의 테이블에 변화를 주는 트랜잭션 연산 중 생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 연산에 대해 () 매트릭스를 작성하여 분석하는 것과 테이블에 발생되는 트랜잭션의 주기별 발생 횟수를 파악하고 연관된 테이블들을 분석하면 테이블에 저장되는 데이터의 양을 유추할 수 있음

 

2. SQL을 가장 빠르고 효율적으로 수행할 최적(최저비용)의 처리경로를 생성해 주는 DBMS 내부의 핵심엔진

옵티마이저

 

4. 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 우선순위를 매겨서 질의 실행 계획을 선택하는 옵티마이저

 

5. 통계 정보로부터 모든 접근 경로를 고려한 질의 실행 계획을 선택하고, 쿼리 변환, 비용 산정, 계획 생성을 구분하는 옵티마이저

 

6. 실행하려 하는 SQL문 혹은 옵티마이저의 실행 계획에 사전에 정보를 주어서 SQL문 실행에 빠른 결과를 가져오는 효과를 만드는 문법

 

힌트

 

6.5 SQL을 최적화하여 빠른 시간 내에 원하는 결과값을 얻기 위한 작업으로 SQL 문장 ()을 대부분 진행한다.

튜닝

 

7. 분산 데이터베이스 3가지 구성요소 작성하시오.

 

정답 : 분산처리기, 분산 데이터베이스, 통신 네트워크

 

8. (          )은 데이터베이스 시스템에서 ACID 트랜잭션 특성 중의 하나다. 하나의 원자 트랜잭션은 모두 성공하거나 또는 실패하는 데이터베이스 운용의 집합이다. (20년 1회 실기 기출)

 

9. 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. (20년 1회 실기 기출)

 

10.  트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다. (20년 1회 실기 기출)

 

11. 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다. (20년 1회 실기 기출)

 

12. 트랜잭션의 성질 4가지 쓰시오.

 

13. SQL 처리 흐름을 작성하고 상세히 기술하시오.

3. SQL 처리 흐름 중 옵티마이저 단계 3가지를 쓰시오...

구문분석 -> 실행 -> 인출

 

14. 데이터베이스의 상태 변화를 일으키는 트랜잭션의 특성 중 원자성에 대해 간략히 서술하시오

더보기
접기

답 : 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료되든지 아니면 전혀 반영되지 않도록 복구 되어야 한다는 특성을 의미한다

 

15. CAP에 대한 3가지 속성을 쓰시고, CAP가 무엇인지 쓰시오.