상세 컨텐츠

본문 제목

[정보처리기사 실기 공부] 분산 데이터베이스

정보처리기사 공부지식

by 소란한소란 2024. 4. 24. 20:32

본문

728x90

분산 데이터베이스 탐색: 종합 가이드

데이터베이스 관리 영역에서 분산 데이터베이스는 현대 데이터 아키텍처의 초석입니다. 여러 위치에 분산된 데이터베이스가 하나의 가상 시스템으로 원활하게 작동할 수 있도록 하는 고유한 솔루션을 제공합니다.


분산 데이터베이스

  • 정의
    • 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스

구성요소

  • 분산 처리기
  • 분산 데이터베이스
  • 통신 네트워크

분산 데이터베이스 장 / 단점

장점 - 지역 자치성, 점증적 시스템 용량 확장
- 신뢰성과 가용성 높음
- 빠른 응답속도와 통신비용 절감
- 시스템 규모의 적절한 조절
단점 - 소프트웨어 개발 비용 증가
- 오류의 잠재성 증대
- 처리 비용의 증대
- 통제의 어려움
- 불규칙한 응답 속도
- 설계 , 관리의 복잡성과 비용 증대
- 데이터 무결성에 대한 위협

 

분산 데이터베이스의 적용 기법

  • 테이블 위치 분산
    • 설계된 테이블의 위치를 각각 다르게 위치시키는 것

테이블 위치 분산

 

테이블 분할(Fragmentation) 분산

  • 각각의 테이블을 쪼개어 분산하는 방법
수평분할 (Horizontal Fragmentation) - 테이블을 특정 칼럼의 값을 기준으로 로우(Row)를 분리
- 컬럼은 분리되지 않음
수직분할 (Vertical Fragmentation) - 테이블 칼럼을 기준으로 컬럼(Column)을 분리

 

테이블 복제(Replication) 분산

부분복제 (Segment Replication) - 마스터 데이터베이스에서 테이블의 일부의 내용만 다른 지역이나 서버에 복제
광역복제 (Broadcast Replication) - 마스터 데이터베이스의 테이블의 내용을 각 지역이나 서버에 복제

 

테이블 요약(Summarization) 분산

  • 지역 간 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재
분석요약 (Rollup Replication) - 각 지역별로 존재하는 요약정보를 마스터에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법
통합요약 (Consolidation Replication) - 각 지역별로 존재하는 다른 내용의 정보를 마스터에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법

 

투명성 조건

투명성 조건 설명
위치 투명성 사용자는 액세스하는 데이터의 물리적 위치를 인식하지 못한 채 분산 데이터베이스와 상호 작용합니다.
분할 투명성 하나의 논리적 테이블이 여러 단편으로 분할되어 각 단편의 사본이 여러 위치에 저장
중복 투명성 사용자는 중복 상태나 복제본을 호스팅하는 특정 노드에 대한 지식 없이 중복된 데이터에 액세스합니다.
지역사상
투명성
각 지역시스템 이름과 무관한 이름 사용 가능

 

CAP 이론

  • 개념
    • 어떤 분산환경에 일관성(C), 가용성(A), 분단 허용성(P) 세 가지 속성 중, 두 가지 가질 수 있다는 것
  • 특징의 의미
    • 일관성(Consistency)
      • 모든 노드들은 같은 시간에 동일한 항목에 대하여 같은 내용의 데이터를 사용자에게 보여준다.
    • 가용성(Availability)
      • 모든 사용자들이 읽기 및 쓰기가 가능해야 하며, 몇몇 노드의 장애 시에도 다른 노드에 영향을 미치면 안 된다.
    • 분단 허용성(Partition Tolerance)
      • 메시지 전달이 실패하거나 시스템 일부가 망가져도 시스템이 계속 동잘할 수 있어야 한다.

트랜잭션 (★)

  • 개념
    • 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하는 작업 단위 한꺼번에 모두 수행되어야 할 연산
성질 설명
원자성 (Atomicity) 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
일관성 (Consistency) 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
독립성, 격리성 (Isolation) 둘 이상의 트랜잭션이 동시에 병행실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
영속성 (Durablility) 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장이 나더라도 영구적으로 반영되어야 한다.

 

트랜잭션의 상태 (★)

상태 설명
활용 (Active) 트랜잭션이 실행 중인 상태
실패 (Failed) 트랜잭션 실행에 오류가 발생하여 중단된 상태
철회 (Aborted) 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태
부분 완료 (Partially Committed) 트랜잭션의 마지막 연산까지 실행했지만, Commit 연산이 실행되기 직전의 상태
완료 (Committed) 트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태

분산 데이터베이스 영역을 탐구하면 가능성과 과제의 세계가 드러납니다. 이 가이드에 설명된 원칙을 수용하고 최신 기술을 파악함으로써 조직은 분산 데이터베이스의 잠재력을 최대한 활용하여 끊임없이 진화하는 데이터 관리 환경에서 혁신을 주도하고 전략적 목표를 달성할 수 있습니다. 2024년에 정보처리기사를 따기 위해 노력하는 모두에게 행운을 빕니다!

 

 

728x90

관련글 더보기