[TOPCIT 목차]

 

01. 운영체제 (OS, Operation System)

  가) 운영체제의 개요

 

    - 하드웨어 자원을 관리하여 사용자나 응용 프로그램에게 컴퓨터 자원의 인터피이스를 제공하는 시스템 소프트웨어

    - 사용 목적

추상화 하드웨어의 복잡성을 추상화시켜 표준화된 API제공
가상화 다중 프로세스, 다중 사용자 기능 제공
관리화 컴퓨터 자원의 제약사항을 만족하면서 성능 최대화

  ) 운영체제의 주요 기능

자원관리 프로세스 관리 - 사용자 프로세스, 시스템 프로세스 생성/폐기
- 프로세스 중지/재실행
- 프로세스 통신과 동기화 기법 제공
- 교착상태 방지 기법 제공
주기억장치 관리 - 기억장치 공간과 사용자 추적 관리
- 기억공간 점유 프로세스 결정
- 기억공간 할당/회수
파일관리 - 파일, 디렉토리 생성/폐기
- 파일과 디렉토리 관리 프리미티브 제공
- 보조 기억장치 매핑
- 비휘발성 저장 매체에 파일 저장
입출력 시스템 관리 - 입출력 장치 인터페이스 (driver)
보조 기억장치 관리 - 저장 장소, 공간 관리
- 디스크 스케줄링
시스템 관리 네트워킹 - 네트워크 IF 제공
명령 해석기 시스템 - 사용자 명령과 커널간 인터페이스 (shell)

  다) 주요 운영체제의 종류

구분 운영체제 설명
PC 운영체제 윈도우즈 (Windows) - Microsoft 개발
- 안정적이고 표준적인 GUI
- 다수의 3rd Party 프로그램 지원
맥OS (MacOS) - Apple 개발
- 자사 하드웨어 최적화
모바일 운영체제 안드로이드 (Android) - Google 개발
- 높은 개방성
- APK 파일을 이용하여 설치 가능
iOS - Apple 개발
- 높은 보안성
- 앱스토어에서만 앱설치 가능
서버운영체제 유닉스 (UNIX) - AT&T 개발
- 다중사용자 환경 지원
- 상용제품 위주로 가격이 비싸며 서버개발사마다 전용 유닉스 운영체제를 개발하여 탑재
리눅스 (Linux) - 다양한 오픈 소스가 존재하며, 소스코드 공개
- 저비용으로 구축가능
- UNIX 호환
- RedHat, CentOS, Ubuntu, Fedora, Suse 등
윈도우서버 (Windows Server) - Microsoft 개발
- Windows 인터페이스로 PC와 동일한 UI/UX 제공
- 지원되는 응용 프로그램이 다양함

 

02. 프로세스와 스레드

  가) 프로세스(Process)의 이해

    - 수행중인 프로그램, 시분할 시스템의 작업 단위

    1) 프로세스의 상태

프로세스의 상태변화

생성 프로세스가 생성되었으나 아직 운용체제에 의해 실행 가능하게 되지 못한 상태
준비 프로세스가 실행을 위해 CPU 할당 받기를 기다리는 상태
실행 프로세스가 CPU를 차지하고 있는 상태
종료 프로세스의 실행이 끝나고 CPU 할당이 해제된 상태
대기 프로세스가 실행상태에서 입출력 완려 등과 같은 어떤 사건이 발생해 주기를 기다리고 있는 상태

    2) 프로세스제어블록 (PCB, Process Control Block)

정의 운영체제가 프로세스 관리를 위해 필요한 정보를 저장하는 운영체제 커널의 자료구조
생명주기 프로세스가 생성될때 PCB 생성, 프로세스가 종료될때 PCB 제거
포함 정보 - PID, 프로세스 상태, 프로그램 카운터(PC), 스케줄링 우선순위, 레지스터 정보, 주기억장치 정보 등
- OS별로 상이

  나) 프로세스 관리를 위한 기법

UNIX 운영체제의 프로세스 생성과 종료

    1) 프로세스 생성 (Process Creation)

      - 병행 수행, 동적 생성/제거

      - 프로세스 실행중 fork() 시스템호출을 통한 프로세스 생성 (부모, 자식 관계)

    2) 프로세스 종료 (Process Termination)

      - exit() 시스템후출을 통한 프로세스 삭제 요청

      - 자식 프로세스는 wait() 시스템호출을 통해 부모 프로세스에게 자료 반환

 

  다) 스레드(Thread)

프로세스와 스레드의 관계

    1) 스레드 개념

      - 중앙처리장치(CPU)를 사용하는 기본단위

      - 경량 프로세스 (lightweight process)

      - 기억장치 공유로 경제적인 문맥교환

    2) 멀티스레드

싱글 스레드와 멀티 스레드

      - 하나의 프로세스가 점유한 메모리를 공유, 멀티스레드에서 같은 메모리 주소 접근 가능

      - 프로세스보다 경제적인 스레드 생성과 문맥교환 비용

      - 프로세스의 병렬성을 높여 멀티 프로세스를 활용 가능

 

03. 프로세스 동기화와 교착상태

  가) 프로세스 동기화(Process Synchronization)의 개념

    - 병행 프로세스가 동일 자료를 접근할 때, 하나의 프로세스만 자료를 조작하도록 보호하기 위한 프로세스 동기화

  나) 임계구역(Critical Section) 문제

    - 프로세스 동기화를 위해 동시 접근할 수 없는 임계구역의 범위와 수행을 정하는 것

프로세스 코드의 임계구역 구조

    - 임계구역 해결방안의 조건

상호배제 임계구역은 동시에 한개의 프로세스만 실행할 수 있다.
진행 잔류 구역 프로세스만 임계구역에 진입할 수 있다.
한정된 대기 임계구역 진입 대기시간은 한정적이어야 한다.

  다) 임계구역 문제 해결법

    1) 인터럽트 제어

      - 다중프로세스 환경에서 효율 감소

    2) 세마포어

      - S 변수, P연산(wait), V연산(signal) 을 통한 상호배제 구현

라) 교착상태

    - 대기중인 프로세스가 요청한 자원이 다른 대기중인 프로세스에 의해 점유되어 프로세스 상태를 변경할 수 없는 상태

    1) 교착상태 발생 조건

조건 내용
상호배제(Mutual Exclusion) 한번에 하나의 프로세스만이 공유 자원을 사용할 수 있는 상태
점유 및 대기 (Hold & Wait) 프로세스들이 현재의 자원을 점유하면서 다른 자원을 요구하는 상태
비선점 (Non-Preemption) 각 프로세스에 할당된 자원은 사용이 완료될 때까지 강제로 해제할 수 없는 상태
환형 대기 (Circular Wait) 서로 다른 프로세스 간의 자원요구가 연속적으로 반복되는 상태

    2) 교착상태 해결 방안

조건 내용
예방(Prevention) 교착상태의 발생조건을 제거하여 사전에 미리 예방하는 방법
회피(Avoidance) 교착상태의 발생조건을 제거하지 않고, 다만 적절하게 피해 나가는 방법
발견(Detection) 교착상태의 발생을 허용하고, 발생 시 원인을 찾아 해결하는 방법
회복(Recovery) 교착상태에 빠진 프로세스를 재시작하거나 원래 상태로 되돌림으로써 교착상태를 해결하는 방법

04. 기억장치

  가) 기억장치 관리의 이해

    - 멀티 프로세스를 위해 기억장치에 여러 개의 프로세스 저장 필요

    - 가상기억장치를 통해 대용량 프로그램 실행 가능 

  나) 기억장치 관리기법

    1) 기억장치 할당 기법

구분 설명
최초 적합 가용공간 중 첫번째로 검색된 공간에 할당
빠른 할당, 단편화 부작용
최적 적합 가용공간 중 가장 작은 가용공간에 할당
최악 적합 가용공간 중 가중 큰 가용공간에 할당
최적 적합의 단편화보다 유용한 운용 가능

    2) 단편화 문제

      - 할당과 회수의 과정에서 사용하지 않고 낭비되는 부분적인 기억공간이 생기는 현상

      - 최초, 최적, 최악 적합방식 : 외부 단편화 발생

      - 고정크기 방식 : 내부 단편화 발생

외부 단편화 문제
내부 단편화 문제

    3) 단편화 문제 해결방법

압축
(Compaction)
기법
- 외부단편화를 제거
- 작은 크기의 메모리 합병
- 구현 복잡, 큰 부하
통합
(Coalescing)
기법
- 인접한 미사용 공간 통합

 

05. 스케줄링

  - 다중 프로그래밍 환경에서 CPU 활용의 극대화를 위한 프로세스를 CPU에 할당하는 것

  가) 스케줄링의 목적

    - 프로세스의 공정성

    - 단위 시간 당 처리량의 최대화

    - 반응시간의 최소화

    - 예측 가능한 수행 시간

    - 시스템의 과부하 방지

    - 균형있는 자원 활용

    - 프로세스 수행의 무한정 연기 방지

    - 우선 순위제도 실시

  나) 스케줄링 알고리즘의 종류 및 특징

종류 방법 특징 구분
FIFO
(First In First Out)
- CPU 요구 순서대로 할당 방식 - 대화형에 부적합
- 반응속도 예측 가능
비선점
우선순위
(Priority)
- 각 프로세스에 우선순위 부여, 높은 프로세스에 CPU 할당 방식 - 고정적 우선순위
- 가변적 우선순위
- 구입된 우선순위
비선점
SJF
(Shortest Job First)
- 예상 작업시간이 짧은 프로세스에 CPU 할당 방식 - 큰 작업은 상당 시간 소요됨 비선점
SRT (Shortest
Remaining Time)
- 수행 도중 남은 작업시간 추정치가 가장 적은 프로세스에 CPU 할당방식
- 선점형 SJF
- 작업 처리는 SJF와 같으나 이론적으로 가작 적은 대기시간 선점
R-R
(Round Robin)
- FIFO + 정해진 시간만큼 사용후 반환
- 시분할 처리(TSS)에 적합
- 시분할 방식에 효과적
- 할당시간이 크면 FIFO와 같음
- 할당시간이 작으면 빈번한 문맥교환
선점
마감시간
(Deadline)
- 제한된 시간내에 프로세스가 반드시 완료되도록 하는 방식 - 마감시간 계산에 오버헤드 및 복잡성 발생 비선점
HRN (Highest
Response-ratio
Next)
- SJF에서 큰 작업이 시간이 걸리는 점을 보완 - 우선순위 =
(대기시간+수행시간) / 수행시간
비선점
MLQ (Multi-Level
Queue)
- 서로 다른 작업을 각각 큐에서 타임 슬라이스에 의해 처리 - 각각의 큐는 독자적인 스케줄링 알고리즘 사용 선점
MFO (Multi-Level
Feedback Queue)
- 하나의 준비상태 큐를 통하여 여러개의 피드백 큐에 걸쳐 처리 - CPU와 IO 장치의 효율을 높일 수 있음 선점

 

06. 가상 기억장치

  - 보조기억장치에 가상의 논리적 주기억장치 공간을 만들고, 사용시 주기억장치로 매핑하는 기술

  가) 가상기억장치의 구현 기법

페이징 기법과 세그먼트 기법

    1) 페이징 기법

      - 주기억장치와 가상기억장치를 각각 동일크기의 프레임과 페이지로 분할하여 프레임에 페이지를 적재시켜 실행하는 기법

    2) 세그먼트 기법

      - 가상기억장치에 보관되어있는 처리해야 할 작업을 다양한 크기의 세그먼트로 분할한 후 주기억장치에 적재시켜 실행하는 기법

  나) 가상기억장치의 페이지 교체 기법

최적화 기법
(Optimal)
- 앞으로 가장 오랫동안 사용되지 않을 페이지를 교체하는 기법
- 현실적으로 구현 불가
선입선출 (FIFO) - 주기억장치에 적재된 순서를 추적하여 제일 처음 적제된 페이즈를 교체하는 기법
최소 최근 사용 기법
(LRU)
- 가장 오랫동안 사용되지 않은 페이지를 교체하는 기법
최소 사용 빈도
(LFU)
- 가장 적게 사용된 페이지를 교체하는 기법
최근 미사용 기법
(NRU)
- 최근에 사용되지 않은 페이지를 참조하는 페이지를 교체하는 기법

  다) 가상기억장치의 성능에 영향을 미치는 요인

지역성
(Locality)
- 프로세스가 실행되는 동안 일부 페이지만 집중적으로 참조하는 성질
- 시간 지역성, 공간 지역성
워킹 셋
(Working Set)
- 자주 참조하는 페이지 리스트의 집합
스래싱
(Thrashing)
- 프로세스의 처리시간보다 페이지 교체시간이 더 많아지는 현상
- 다중프로그래밍의 정도를 줄이고, CPU 이용률을 높이거나 워킹셋 활용하여 해소

07. 파일 시스템

  가) 파일 시스템의 이해

    1) 파일의 개념

      - 작성자에 의해 정의된 정보의 집합체로 이름을 가진 하나의 데이터 집합

    2) 파일의 속성

이름 사람이 판독할 수 있는 형태
위치 파일이 존재하는 장치와 위치, 경로
크기 파일의 크기 (바이트, 워드 혹은 블록)
보호 접근 제어 정보 (읽기,쓰기,실행)
일시, 
사용자 식별
생성, 최근 정보, 최근 사용 등의 내용

    3) 디렉토리 개념

파일 탐색 사용자는 디렉토리 구조에서 탐색 가능
파일 생성 새로운 파일을 생성하여 디렉토리에 추가
파일 삭제 파일을 디렉토리에서 삭제
디렉토리 나열 디렉토리 파일들을 나열하고, 각 파일에 대한 디렉토리 항목의 내용을 보여줌
파일의 재명명 파일의 이름은 변경할 수 있어야 하고, 재명명된 파일은 변경된 디렉토리 구조내의 한 직점에 존재해야 함

  나) 파일 시스템의 할당 방법

    1) 연속할당

      - 물리적인 디스크의 연속적인 주소들의 집합으로 배치

연속할당 방법

    2) 연결할당

      - 블록단위로 저장하고 각 블록은 리스트에 연결하여 관리하는 방법

연결할당 방법

    3) 색인할당

      - 파일의 모든 포인트 정보를 하나의 색인 블록으로 관리하는 방법

색인할당 방법

  다) 운영체제별 파일 시스템의 종류

운영체제 파일시스템
유닉스 Boot Block, Super Block, Bitmap Block, i-node, Data Block
리눅스 확장파일시스템 (ext, ext2, ext3, ext4), ZFS, ResierFS, XFS
솔라리스 ZFS, UFS
맥 OS HFS, HFS+
윈도우 FAT, NTFS

  라) 유닉스(UNIX)의 i-node

i-node 구성요소 내용
inode - 한 파일이나 디렉토리의 모든 정보 포함
- 소유자 정보, 접근 정보, 파일 정보, 링크, 유형
inode table - 한 파일 시스템에서 파일이나 디렉토리들의 전체 inode를 갖고 있는 체이블
i number - inode가 i-list에 등록되는 entry number
addressing 블록위치 정도를 13개의 필드로 관리
* Direct data block 10개 (0~9) : 96KB
* Single indirect data block 1개 (10) : 12MB
* Double indirect data block 1개 (11) : 32GB
* Triple indirect data block 1개 (12) : 70TB

08. 입출력시스템

  1) 입출력장치

    - 실제 프로세서와 컴퓨터 사용자 간의 자료와 정보에 대한 입출력 수행

  2) 입출력모듈

    - 입출력 장치의 제어와 타이밍 조정, 프로세서와의 통신, 입출력장치들과의 통신, 데이터 버퍼링, 오류 검출 등의 기능 제공

[TOPCIT 목차]

 

1.프로토콜 이란

  • 네트워크를 통하여 데이터를 주고받기 위한 표준화된 통신 규약
  • 일반적으로 우리가 말하는 이더넷은 여러 대의 PC와 서버를 연결해주고 있는 하나의 네트워크가 여러 개 모여서, 보다 큰 네트워크를 구성

표준화 단체

단체 설명
IETF - Internet Engineering Task Force
- 주로 인터넷 관련 표준 프로토콜
3GPP, 3GPP2 - Third Generation Partnership Project, 2
- GSM, CDMA UMTS, LTE, LTE-A와 같은 무선 통신 프로토콜
ITU-T - International Telecommunication Union Telecommunication Standardization Sector
- 전화와 관련된 표준화를 진행

 

프로토콜 계층 개념을 반영한 가상 네트워크

2. OSI 참조 모델과 TCP/IP 프로토콜 계층 구조

1) OSI  참조 모델

릴레이 개방 시스템을 포함한 OSI 참조 모델 통신 개념

2) OSI 참조 모델 각 계층의 프로토콜과 기능

계층 프로토콜 기능
응용계층 HTTP, SMTP, SNMP, FTP, Telnet 사용자 인터페이스, 전자우편, 데이터베이스 관리 등 서비스를 제공
표현계층 JPEG. MPEG. XOR 두 시스템 간 교환되는 정보의 구문(Syntax)과 시맨틱과 관련된 인코딩 변환(Translation)과 암호화(Encryption)를 지원
세션계층 TLS, SSH, RPC, NetBIOS 통신 세션을 구성하는 계층으로, 통신장치 간의 상호작용을 설정하고 유지, 동기화
전송계층 TCP, UDP, SCTP 종단 프로세스 간 신뢰성 있는 메시지 전송과 오류 제어 기능을 제공
네트워크계층 IP, IPX ICMP, X.25, ARP, OSPF 발신지로부터 목적지까지 네트워크 간 패킷 전송을 지원
데이터링크계층 Ethernet, Token, Ring, 무선랜 등 오류 없이 홉(Hop) 간 프레임(Frame)을 전달하는 기능을 제공
물리계층 전파. 광섬유 PSTN 물리적 매체를 통해 실제로 비트(bit) 흐름을 전송

 

TCP/IP 프로토콜 계층: ARPANET 참조 모델 기반
네트워크 프로토콜 헤더와 데이터 구성의 예

3. 인터넷 주소체계

주소 설명
MAC 주소 (물리주소) - 데이터 링크층에서 사용하는 주소 체계
- 물리적으로 연결되어 있는 노드 간 프레임 전송에 사용
- 보통 NIC(Network Interface Card)이라 불리는 LAN 확장 카드에 하드웨어적으로 정보가 저장
IP 주소 (논리주소) - 네트워크층에서 사용하는 주소 체계
- 두 개의 호스트/라우터 간 데이터그램 전달에 사용
- 인터넷에 속한 여러 네트워크를 통하여 출발지 노드에서 목적지 노드로 원하는 데이터가 전달될 수 있도록 함
포트 번호 - 두 개의 프로세스(실행 중인 응용 프로그램) 간 메시지 전달에 사용되는 식별번호
- 포트번호 영역
0~1023
포트 번호: 잘 알려진 포트(well-known port)라고 하며, IANA에서 할당

1024~49,151 포트 번호: 등록 포트
49,152~65,535 포트 번호: 클라이언트에서 임시로 사용, 동적 포트 또는 임시 포트

 

4. 인터넷 표준

인터넷 표준화 기구

표준기구 내용 제정 표준()
IETF - Internet Engineering Task Force
- 인터넷 관련 표준을 담당하는 대표적인 국제 기구
- 인터넷 응용 계층 프로토콜을 정의
IP, TCP, UDP
HTTP, SSH, FTP, SMTP, POP3, IMAP 
ISO - 국제표준화기구(International Organization for Standardization)
- 지적 활동이나, 과학, 기술, 경제활동 분야에서 세계 상호 간의 협력을 위해 1946년 설립한국제가구
OSI 참조모델
ITU-T - 국제전기통신연합(International Telecommunications Union-Telecommunication Standards Sector)
- 국제전기통신 표준화부문으로 ITU의 산하기관
ITU-T G.711
IEEE
 
- 전기전자공학회(Institute of Electrical and Electronics Engineers)
- 미국표준협회(ANSI)에 의해 미국국가표준을 개발하도록 인증 받은 전문기구
IEEE 802.3
IEEE 802.11
IEEE 802.15
EIA - 전자산업협회(Electronic Industries Association)
- 미국전자공학회, 전자기계의 치수, 측정법, 표시법 등의 규격 통일을 기획하는 단체
TIA/EIA-568-B(T568B)
W3C - 월드와이드웹 컨소시엄(World Wide Web Consortium)
- 웹 표준을 제정하는 등 웹의 장기적 발전을 위해 1994년에 창립된 인터넷 관련 국제 컨소시엄
HTML 4.01/5
CSS 2/3
OMA - 개방형 모바일 연합(Open Mobile, Alliance)
- 모바일 데이터 서비스의 범세계적 활성화를 위해 기술 규격 개발 및 상호 운용성을 검증하기 위한 포럼
Push-to-talk over Cellular
(PoC)

[TOPCIT 목차]

 

01. 시스템 아키텍처의 개념

 . 시스템 아키텍처의 이해

 

  1) 시스템 아키텍처의 개요

     - 정의 : HWSW 아키텍처를 기반으로 시스템이 서비스를 제공하기 위한 아키텍처

      . 광의의 정의 : 정보시스템 구축을 위한 AA, DA, TA 측면의 모든 아키텍처

      . 협의의 정의 : 서버, 스토리지, NW, 보안등 HW장비와 OS, MW등의 일정 부분의 SW들의 구성과 관계를 정의한 문서

 

 2) 시스템아키텍처 정의

    - 국제 시스템엔지니어링 협회(INCOSE)의 정의

     . 시스템 구성항목과 인터페이스, 프로세스, 제약 조건, 동작방법 등의 측면에서 정의된 기초적인 통합 시스템 구조

    - 광의의 시스템 아키텍처 정의

     . 조직 목표 달성을 위한 업무프로세스를 지원하기 위한 정보시스템 구조를 정의한 문서

구분 설명
기술 아키텍처 - HW구조(서버,NW,보안)와 응용 프로그램이 동작하기 위한 MW 배포 구조 정의
데이터 아키텍처 - 데이터 무결성 보장 위한 데이터 구조
응용 아키텍처 - SW컴포넌트의 정의, 관계, 제약사항 정의

  - 협의의 시스템 아키텍처 정의

    . 기술 아키텍처를 의미 즉 HW, SW, 보안 등 컴포넌트/상호작용/제약사항을 정의하는 원칙과 지침

    . DB서버, 미들웨어와 서버, 스토리지, NW HW의 배치와 연결방식 정의

  . 정보시스템의 구성요소

   - 서버 : 정보시스템의 계산능력 제공, 로직/데이터 처리

    . 구성 : HW, OS, MW, 응용프로그램

    . 설계 : 서버용량, 대수, 배치방식, 역할 등 정의

    . 유형 : 메인프레임, 유닉스 서버, x86서버(사용증가 추세)

    . 서버 역할 사례

     _ 웹서버(Web Server) : 사용자 요청응답, 웹 페이지 구성, 화면 제공

     _ 응용서버(WAS, Web Application Server) : 로직 처리, DB서버/웹서버로 전달

     _ DB서버(Database Server) : 데이터 생성, 요청, 수정, 삭제

 

- 네트워크 : 정보시스템 구성요소 간 통신망 구성

 . 역할 : 서버들 간의 통신, 서버와 스토리지 통신, 내부와 외부 NW 통신

 . 장비 : 스위치, 라우터, 로드밸선서(L4/L7 Load Balancer), 브리리(Bridge), 무선 AP(Access Point)

 

- 스토리지 : 정보시스템의 데이터 저장소

구분 유형 설명 사례
저장방식 블록 스토리지 - 고정된 블록 단위 저장, OS(윈도우, 리눅스, 유닉스)
파일 스토리지 - 파일단위 저장 NAS(Network Attached Storage)
오브젝트 스토리지 - 오브젝트단위 저장 클라우드 스토리지
연결방식 DAS(Direct Access Storage) - 서버 내부 장착 IED, SATA, SAS
NAS(Network Attached Storage) - 네트워크 통해 연결 NFS, CFS, AFS
SAN(Storage Area Network) - 전용 네트워크 이용 SAN, iSCSI, FCoE

- 보안 : 정보, 네트워크 보호

구분 장비 설명
.외부 NW 사이 Anti DDoS - DDoS 공격방어
방화벽 - 트래픽 감시, 로깅, 차단
IPS/IDS - 이상트래픽/오용 방지
웹방화벽 - 웹서비스 트래픽 로깅, 감시, 차단
내부 NW 접근제어 솔루션 - 서버 접근 허가, 거부, 접근통제

 02 시스템 아키텍처 유형

 

  . 시스템 아키텍처 유형

   - 웹서비스 중심 : 모바일 장비 증가로 인한 웹서비스 제공

   - 중앙 집중형 구조 : 증가하는 클라우드 서비스에 적합

 

 . 시스템 배치 방식에 따른 시스템 아키텍처 분류

  1) 중앙 집중형 아키텍처

     - 통합센터에서 시스템과 데이터 저장, 운영, 대용량 서버, 통합 DB 구성

     - 장점 : 시스템 구성 간단, 데이터 무결성 보장 용일, 관리/운영 편이성, 장애 신속 대응

     - 단점 : 통합센터 장애 시 모든 서비스/업무 중단(SPOF), Peak Time 부하 집중

 

2) 지역별 분산형 시스템 아키텍처

   - 지역별로 시스템과 응용시스템 분산 운영 방식, 지역별 중소형 서버 구축

   - 장점 : 부하분산 효과, 장애발생시 해당지역만 중단

   - 단점 : DB의 데이터 무결성 관리 어려움, 시스템 구성/관리 복잡

 

 다. 응용 프로그램 제공방식에 따른 분류

  1) 클라이언트-서버 아키텍처

     - 업무 규모/환경에 따라 서버와 클라이언트에 기능분리, 서비스 제공

     - 장점 : 사용자 인터페이스 편의성 향상(클라이언트에서 화면구성)

     - 단점 : 구성 복잡, 개발/관리 어려움

     - 유형 : 게임, 채팅, FTP서버, 터미널 서버

 

  2) 웹 시스템 아키텍처

   - 서버에 모든 기능 구현, 클라이언트에서 웹브라우저로 서비스 이용하는 아키텍처

   - 구성 : 웹서버, 웹응용서버, DB서버

   - 특징 : 미들웨어를 통한 안정적 성능보장, 프로그램 재사용성 높음, PC/모바일 모두 이용 가능

 

 . 시스템 계층에 따른 분류

    - 논리적 Layer 구조

구분 설명
Presentation Layer - 응용프로그램의 최상위 위치, 정보/서비스 제공
Business Logic Layer - 비즈니스 로직 구동 레이어, 필요 데이터 결정 후 데이터 레이어에 요청
Data Layer - DB등 리소스에 접근하여 데이터 읽기/쓰기 수행

 

   - 물리적 N-Tier 구조

구분 설명
2-티어 아키텍처 - 소규모시 속도 빠름, 구현 용이
- 사용자 증가시 속도 저하, 확장성/재사용성 저하
서버 - 데이터 저장, 처리
클라이언트 - 비즈니스 로직과 프리젠테이션 처리
3-티어 아키텍처 - 유연성, 확장성 용이, DB객체 참조권한 관리 용이, 배포 유연
- 개발환경 복잡, 미들웨어/하드웨어 추가구입 필요
클라이언트 - 프리젠테이션 처리
응용서버 - 비즈니스 로직 처리
DB - Data 처리

 03 서버의 스택구조  

구성 설명
응용 프로그램 - 사용자에게 서비스 제공
미들웨어/플랫폼 - 유연성, HW독립성 지원, 웹서버, WAS서버, DBMS서버
운영체제 - HW 추상화, SW에 서비스 제공
컴퓨터 하드웨어 - CPU, 메인메모리, 보조기억장치 등 HW

 

[TOPCIT 목차]

 

1. 데이터웨어하우스(DW: Data Warehouse)의 개념과 특징

) 데이터웨어하우스의 개념

  • 수년 간의 기업의 운영계 시스템에서 발생한 내부 데이터와 외부 데이터를 주제별로 통합하여 별도의 프로그래밍 없이 즉시 여러 관점에서 분석할 수 있도록 하는 통합 시스템 또는 데이터베이스

) 데이터웨어하우스의 특징

특징 설명
주제지향적
(Subject Oriented)
데이터 업무가능별로 관리되는 다수의 운영계 데이터를 전사 관점에서 의사결정에 필요한 특정 주제의 데이터만을 저장하며 그 외의 데이터는 포함하지 않음
통합적
(Integrated)
전사적인 데이터 표준화를 통하여 데이터의 정합성과 물리적 통일성을 갖는 구조
운영계로부터 데이터 획득 시 데이터 통합을 위한 일련의 데이터 변환 작업을 수행
시계열적
(Time Variant)
과거와 현재의 경향에 대한 분석 및 미래에 대한 예측을 위하여 데이터를 일련의 Snapshot 형태로 오랜 기간 동안 보유
이력 데이터를 통하여 시간 경과에 따른 데이터 변화 과정을 파악 가능
비휘발성
(Nonvolatile)
데이터웨어하우스는 운영계 데이터베이스에서 데이터가 한번 적재되면 이후에 삭제 및 수정이 불가능한 조회 전용 데이터베이스
운영계 데이터는 수정이 발생하면 기존 데이터가 지워지지만 데이터웨어하우스의 데이터는 각 시점에 있는 데이터의 이력을 모두 저장

 

2. 데이터웨어하우스 모델링

) 데이터웨어하우스 모델링의 정의

  • OLTP 시스템을 위한 일반적인 E-R 모델링과는 달리 대용량 데이터를 다양한 관점에서 빠른 성능으로 분석할 수 있도록 구성하는 데이터 분석 관점의 데이터 모델링 기법
  • 일반적으로 최종사용자 또는 분석가가 정보 분석을 쉽게 할 수 있도록 데이터를 팩트(Fact) 테이블과 차원(Dimension) 테이블 형태로 구성

데이터웨어하우스 모델링 구성요소

구분 설명
팩트(Fact) 테이블 중심 테이블로서 관련성이 높은 Measure들의 집합
Measure란 정보 분석 목표를 관찰할 수 있는 측정 데이터로서 금액, 건수, 시간 등
차원(Dimension) 테이블 부속 테이블로서 각 팩트를 분석하는 관점
차원 테이블은 복수의 속성을 가지고 있으며, 이를 통해 다양한 관점의 데이터 분석이 가능

) 데이터웨어하우스 모델링 기법

  • 데이터웨어하우스 모델은 정보분석을 쉽게 할 수 있도록 데이터를 팩트(Fact) 테이블과 차원(Dimension)에 테이블 형태로 구성하는데, 여기서 차원 테이블의 정규화 여부에 따라 스타 스키마와 스노우플레이크 스키마 기법으로 분류
연산자 설명
스타 스키마
(Star Schema)
팩트 테이블과 차원 테이블로 데이터를 분리하여 설계하는 모델링 기법
차원 테이블의 데이터가 정규화 되어 있지 않아 데이터 중복이 발생
이해하기 쉽고 조인 수가 적기 때문에 질의 성능이 좋지만, 데이터 중복으로 인한 데이터 일관성의 문제가 발생할 수 있음

스노우플레이크 스키마
(Snowflake Schema)
스타 스키마의 차원 테이블을 완전 정규화 시키는 모델링 기법
차원 테이블의 정규화로 데이터의 중복이 적고, 적은 적재 공간을 사용하지만 스타 스키마에 비해 조인 횟수가 늘어나 성능 저하의 우려가 있음

 

3. ETL(Extraction, Transformation, Loading)의 개념

  • 데이터를 소스 시스템에서 추출하여 정제 및 변환 후 데이터웨어하우스에 적재하는 작업까지의 전 과정을 의미하며 데이터웨어하우스를 구성하는 구성요소 간에 데이터 일관성과 통합성을 유지시키는 역할을 수행
  • ETT(Extraction, Transformation, Transportation)

ETL의 각 단계별 작업

단계 주요작업
추출
(Extraction)
 
• 원본 파일 또는 운영계 데이터베이스로부터 데이터웨어하우스에 저장될 데이터를 추출하는 단계
• 과거에는 일 단위 또는 월 단위의 주기로 추출하였으나, 최근에는 비즈니스 요건에 따라 데이터베이스 로그를 이용하여 실시간으로 데이터를 추출하는 경우도 존재함
변환
(Transformation)
 
• 추출한 데이터를 정제하고 이를 데이터웨어하우스 데이터 형태에 맞게 변환하는 단계
• 데이터 품질에 문제가 있는 데이터의 경우 기준 데이터 또는 업무 규칙에 따라 데이터 정제(Cleansing)을 수행
• 원본 데이터의 형식을 데이터웨어하우스 데이터 형식에 맞게 데이터 변환 가공을 수행함
적재
(Loading)
 
• 변환 가공된 데이터를 데이터웨어하우스로 전송하여 저장하고 필요한 인덱스를 생성하는 단계
• 전체 갱신 및 부분 갱신 기법이 있음

 

4. OLAP(Online Analytical Processing)의 개념 및 탐색 기법

) OLAP의 개념

  • 최종 사용자가 다차원 정보에 중간 매개자나 매개체 없이 정보에 직접 접근하여 대화식으로 정보를 분석하고 의사결정에 활용하는 과정
  • 최종 사용자는 ETL을 통해 추출 변환된 운영 데이터가 데이터웨어하우스 또는 데이터마트에 저장되면 이를 OLAP을 이용하여 분석

) OLAP의 탐색 기법

  • OLAP은 최종 사용자가 데이터를 다양한 관점과 요약 수준에서 분석하기 위해서 다양한 탐색 기법을 제공

OLP 주요 탐색 기법

탐색기법 설명
Drill Down  특정한 분석 주제에 대하여 높은 요약 수준에서 낮은(상세한) 요약 수준으로 단계적으로 접근하는 탐색 기법
 : 시간차원: 년->월->
Roll Up  Drill Down과 반대 개념
 특정한 분석 주제에 대하여 낮은 요약 수준에서 높은 요약 수준으로 단계적으로 접근하는 탐색 기법
 : 시간차원: 일->월->
Drill Across  하나의 분석 주제에 대한 특정 분석 관점을 이용하여 다른 분석 주제로 접근하는 탐색 기법
Pivot  특정한 분석 주제에 대하여 분석 관점의 축을 바꾸는 탐색 기법
Slice  한 차원의 멤버나 그 이상의 멤버에 대하여 특정한 값을 선택하여 부분 집합을 생성하는 탐색 기법
Dice  두 개 이상의 차원을 Slice하여 부분집합에 생성하는 탐색 가법

 

5. 데이터 마이닝(Data Mining)의 개념 및 알고리즘

  • 대용량의 데이터 안에서 체계적인 통계적 규칙이나 패턴을 탐색하고 이를 의미 있는 정보로 변환하여 기업의 의사결정에 적용하는 일련의 과정

데이터 마이닝 알고리즘

알고리즘 설명
연관분석
(Association)
• 거래 데이터 등에서 관련성이 강한 데이터 조합을 통해 패턴을 발견하는 분석 알고리즘
Apriori 알고리즘 등
• 주로 오프라인 판매점에서의 분석을 통한 상품 배치, 온라인 쇼핑몰에서의 자동화된 연관 상품 추천 등에 활용
순차분석
(Sequence}
• 연관 분석에 시간의 개념을 첨가하여 시간의 흐름에 따른 항목들의 상호 연관성을 탐색하는 분석 알고리즘
• 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생가능성을 예측
Apriori 알고리즘, GSP(Generalized Sequential Patterns)
분류
(Classification)
• 데이터 집합이 주어졌을 때 그 데이터들을 분석하여 특정 속성(범주형)의 값(범주값)을 분류하는 트리 형태의 모델을 생성하는 분석 알고리즘
• 의사결정나무 알고리즘 등
군집분석
(Clustering)
• 주어진 레코드(고객, 상품)들을 여러 가지 속성들을 고려하여 특성이 비슷한 레코드들로 묶어주는 분석 알고리즘
K-Means 알고리즘, EM 알고리즘 등

 

1. 데이터베이스 장애와 복구 개념

 1) 데이터복구(Data Recovery)의 정의

  - 데이터베이스 장애가 발생할 경우 데이터베이스를 장애 발생 이전으로 일관성과 무결성을 복원하는 것

 

 2) 데이터베이스 장애(실패) 유형

  - 트렌젝션 장애 : 논리적 오류, 시스템 오류(Deadlock 등)

  - 시스템 장애 : 전원, 하드웨어, 소프트웨어 등

  - 디스크 장애 : 디스크 스토리지 고장

  - 사용자 장애 : DBA 작업등의 사용자 실수

 

 3) 데이터베이스 복구의 기본원리 

  - 아카이브, 덤프 : 데이터베이스를 다른 저장 장치에 복사 저장

  - 로그, 저널 : 데이터베이스가 변경될 때마다 별도 파일에 기록

 

 4) 데이터베이스 복구조치 유형

유형 특징 설명
REDO (재수행) 아카이브 사본 + 로그 => 완료 후 상태 - 아카이브 복원 후, 로그를 통한 백업시점 이후의 트렌젝션 재실행 복원 
- 완료(Commit)된 트렌젝션만 해당
- 쓰기 연산의 재실행 (Forward Recovery)
UNDO (취소) 로그 + 후방향 취소연산 => 시작 상태 - 로그를 통한 트렌젝션 취소로 복원
- 장애 발생 이후의 트렌젝션 취소
- 쓰기 연산의 취소 (Backward Recovery)

 

2. 데이터베이스 장애 복구 방법

 1) 데이터베이스 복구 기법

구분 로그 기반 기법 검사점 복구 기법 그림자 페이징 기법
개념 로그파일을 이용한 복고 검사점과 로그파일을 이용한 복구 그림자 페이지 테이블을 이용한 복구
특징 로그 전체를 조사하여 REDO, UNDO 로그보다 빠른 복구 속도 그림자 페이지 테이블 기록의 부하
멀티 트렌젝션환경에 부적합
복구과정 REDO, UNDO 사용 UNDO 사용 그림자 테이블 교체
복구속도 느림 로그보다 빠름 매우 빠름

 

 2) 분산 데이터베이스에서의 복구(회복)와 2단계 완료 프로토콜

  (1) 분산 데이터베이스 트렌젝션

   - 여러 사이트에 걸쳐 동작하는 트렌젝션

   - DBMS간 다른 회복 기법과 트렌젝션 관리자를 사용할 수 있음

   - 분산 데이터베이스 트렌젝션은 원자성을 위해 2단계 완료 프로토콜 사용

 

  (2) 2단계 완료 프로토콜 (2 Phase Commit Protocol)

   - 분산 데이터베이스 트렌젝션의 원자성 유지를 위한 대표 트렌젝션 완료 규약

   - 1단계 : 트렌젝션 조정자 C는 A와 B 데이터베이스에 트렌잭션 완료 준비를 묻는 메세지를 보내고, A와 B는 완료줌비 또는 완료 불가 응답을 회신

   - 2단계 : 모든 참여 데이터베이스가 "완료 준비"되었으면 조정자는 "완료(Commit)" 신호를 보내거나, 하나 이상의 참여 데이터베이스가 "완료 불가" 신호를 보내면 조정자는 "철회(Abort)" 신호를 보냄

 

3. 데이터베이스 백업

 1) 데이터베이스 백업 개요

  (1) 데이터베이스 백업 정의

   - 장애시 데이터베이스 복구를 위해 데이터베이스의 전체 또는 일부를 중복시켜 보관하는 작업

  (2) 백업의 목적

   - 데이터 유실 방지, 비지니스 연속성 확보

 

 2) 데이터베이스 백업의 요구사항 및 주요 작업사항

  (1) 데이터베이스 백업 요구사항

항목 요구사항
업무적 요구사항 Mean-Time-To-Recovery (MTTR)
Mean-Time-Between-Failures (MTBF)
운영 요구사항 서비스 운영 요건 (예 : 24/365)
테스트와 검증차원 백업 요건
기술적 요구사항 OS 물리적 이미지 copy
데이터베이스 백업 수준 (object, schema, data)
백업 주기 산정
재난복구 요구사항 재해, 재난에 대한 비지니스 영향도 분석

  (2) 데이터베이스 백업관리 내용

항목 내용 예시
백업정책 - 백업주기, 소산정책 등
- 백업 전략, 기술, 정비 등을 기술
Daily : DB Archive
Weekly : OS/User Data
Full Backup : DB/AP
백업구성 기술적 백업 아키텍쳐 구성 디스크, 테이프, VTI, LAN, SAN 등
백업수행 및 이력관리 백업수행 결과 Log 기록 및 분석  
백업용량산정 백업 데이터의 양 산정 통상 원본크기의 2~6배 산정

 

 3) 데이터 베이스 백업 방식의 종류와 특징

분류 기준 백업방식 설명 장/단범
서비스
중단 여부
오프라인 백업
(Cold Backup)
DB를 정지하고 백업 받는 방식 백업수행중 서비스 중단
온라인 백업
(Hot Backup)
DB를 운영하면서 백업 받는 방식 - 서비스 지속
- CPU/메모리 사용 증가
백업 범위 전체 백업
(Full Backup)
데이터베이스 전체를 백업 긴 수행시간, 데이터 중복
차등 백업
(Differential Backup)
직전 전체백업 이후의 변경 데이터 백업 - 백업 용량 및 시간 축소
- 복구시간 단축
증분 백업
(Incremental Backup)
직전 증분백업 이후의 변경 데이터 백업 - 백업 용량 및 시간 축소
(차등 > 증분)
- 복구시 전체백업과 이후 증분백업들을 적용
- 증분 백업 데이터중 문제 발생시 복구 실패

아카이브 로그 백업
(Archive Log Backup))
트렌젝션의 수행내용 기록 - 특정 복구 시점 복원 가능
- 데이터 손실 최소화
- 트렌젝션의 백업 - 데이터 백업본 필요

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts