[정보처리기사] 실기 정리 - 11과목 (2)

peach·2020년 10월 10일
5

정보처리기사

목록 보기
29/34
post-thumbnail

🧀 데이터베이스


1. 개념

다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합


2. 종류

(1) 파일 시스템 (File System)

파일에 이름을 부여하고 저장이나 검색을 위해 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식

  • ISAM (Index Sequential Access Method)
    자료 내용은 주 저장부, 자료 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템

  • VSAM (Virtual Storage Access Method)
    대형 운영체제에서 사용되는 파일 관리 시스템

(2) 계층형 데이터베이스 관리시스템 (HDBMS)

데이터를 상하 종속적인 관계로 계층화하여 관리하는 DBMS

데이터에 대한 접근 속도 빠름
변화하는 데이터 구조에 유연한 대응이 어려움

(3) 망형 데이터베이스 관리시스템 (NDBMS)

데이터의 구조를 네트워크 상의 망상 형태로 논리적으로 표현한 데이터 모델

설계가 복잡함
HDBMS보다 유연함

(4) 관계형 데이터베이스 관리시스템 (RDBMS)

데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리하는 가장 보편화된 DBMS

유연성이 좋음
유지 관리가 용이함

  • 종류
    • 오라클 : 오라클 사에서 개발, 대형 시스템에 많이 사용, 모든 운영체제 지원
    • SQL 서버 : 마이크로소프트사에서 개발, 윈도우만 지원
    • MySQL : 오라클의 관계형 데이터베이스 시스템, 오픈 소스 기반으로 개발, 모든 운영체제 지원
    • Maria DB : MySQL과 완벽히 호환

3. 데이터베이스 관리 툴

(1) 개념

DB 관리자들이 데이터베이스를 편리하고 쉽게 다룰 수 있도록 도와주는 도구

(2) 기능

  • 데이터베이스 생성 및 삭제
  • SQL 명령어 작성 및 실행
  • 상태 모니터링
  • 사용자 계정 관리
  • 데이터베이스 내보내기 및 가져오기
  • 환경 설정



🧀 데이터베이스 관리시스템


1. 개념

데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어

(1) 상용 DBMS

특정 회사에서 유로로 판매하는 시스템으로 유지 보수와 지원이 원활함

(2) 오픈 소스 기반 DBMS

오픈 소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유로움

2. 유형

(1) Key-Value DBMS

키 기반 Get/Put/Delete 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능

ex. Redis, DynamoDB

(2) Column Family Data Store DBMS

키 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS

ex. HBase, Cassandra

(3) Document Store DBMS

값의 데이터 타입이 문서인 DBMS

ex. MongoDB, Couchbase

(4) Graph DBMS

시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS

ex. Neo4j, AllegroGraph


3. 특징

(1) 데이터 무결성

부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질

(2) 데이터 일관성

삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정해야 하는 성질

(3) 데이터 회복성

장애가 발생한 경우 특정 상태로 복구되어야 하는 성질

(4) 데이터 보안성

불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질

(5) 데이터 효율성

응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질



🧀 관계형 데이터베이스


1. E-R Diagram 개념

업무 분석 결과로 도출된 엔티티와 엔티티 간의 관계를 도식화한 다이어그램


2. ER Model

ERD로 도식화하기 전 각 개체를 사각형, 화살표, 마름모로 표기한 형태

(1) 개체(Entity)

사물 또는 사건

  • 피터 챈 모델 : 사각형으로 표시
  • 까마귀발 모델 : 표 형식으로 표시

(2) 속성(Attribute)

개체가 갖고 있는 요소 또는 성질

  • 피터 챈 모델 : 타원형으로 표시
  • 까마귀발 모델 : 표 내부에 표시

(3) 관계(Relationship)

두 개체 간의 관계

  • 피터 챈 모델 : 마름모로 표시
  • 까마귀발 모델 : ─────, ────<, >───<으로 표시



🧀 트랜잭션


1. 개념

데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위


2. 특성

(1) 원자성(Atomicity)

하나라도 실패할 경우 전체가 취소되어야 함

  • Commit/Rollback
  • 회복성 보장

(2) 일관성(Consistency)

트랜잭션 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 함

  • 무결성 제약조건
  • 동시성 제어

(3) 격리성(Isolation)

트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가

  • Read Uncommitted : 커밋되지 않은 데이터를 다른 트랜잭션이 읽는 것을 허용
  • Read Committed : 커밋된 데이터를 다른 트랜잭션이 읽는 것을 허용
  • Repeatable Read : 트랜잭션이 특정 데이터를 읽을 때 해당 데이터에 대한 변경을 제한
  • Serializable Read : 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때 해당 데이터 영역 전체에 대한 접근을 제한

(4) 영속성(Durability)

성공적으로 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장

  • 회복 기법

3. 상태변화

(1) 활동 상태 (Active)

초기 상태, 트랜잭션이 실행 중일 때의 상태

(2) 부분 완료 상태 (Partially Committed)

마지막 명령문이 실행된 후의 상태

(3) 완료 상태 (Committed)

트랜잭션이 성공적으로 완료된 후의 상태

(4) 실패 상태 (Failed)

정상적인 실행이 더 이상 진행될 수 없는 상태

(5) 철회 상태 (Aborted)

트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전의 상태로 환원된 상태


4. 제어

(1) COMMIT

트랜잭션 확정, 트랜잭션을 메모리에 영구적으로 저장

(2) ROLLBACK

트랜잭션 취소, 트랜잭션 내역을 저장 무효화시킴

(3) CHECKPOINT

저장 시기 설정, Rollback을 위한 시점을 지정



🧀 데이터베이스 기술 트렌드

1. 빅데이터 (Big Data)

(1) 개념

시스템, 서비스, 조직 등에서 주어진 비용과 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터

(2) 특성

  • 데이터의 양 (Volume) : 페타바이트 수준의 대규모 데이터
  • 데이터의 다양성 (Variety) : 정형, 비정형, 반정형의 다양한 데이터
  • 데이터의 속도 (Velocity) : 빠르게 증가하고 수집되며 처리되는 데이터

(3) 수집/저장/처리 기술

  • 비정형/반정형 데이터 수집
    내부 및 외부의 정제되지 않은 데이터를 확보하고 이를 통해 필요 정보를 추출하여 활용하기 위해 효과적으로 수집 및 전송하는 기술
    ex. 척와, 플럼, 스크라이브

  • 정형 데이터 수집
    내부 및 외부의 정제된 대용량 데이터를 수집 및 전송하는 기술
    ex. ETL, FTP, 스쿱, 하이호

  • 분산 데이터 저장 및 처리
    대용량 파일의 효과적인 분산 저장 및 분산 처리 기술
    ex. HDFS, 맵 리듀스

  • 분산 데이터베이스
    HDFS의 컬럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능
    ex. HBase

(4) 분석/실시간 처리/시각화 기술

  • 빅데이터 분석
    빅데이터를 분석하기 위한 데이터의 가공과 분류, 클러스터링, 패턴 분석을 처리하는 기술
    • 데이터 가공 : Pig, Hive
    • 데이터 마이닝 : Mahout
  • 빅데이터 실시간 처리
    하둡 기반의 실시간 SQL 질의 처리와 요청된 작업을 최적화하기 위한 워크플로우 관리 기술
    • 실시간 SQL 질의 : Impala
    • 워크플로우 관리 : Oozie
  • 분산 코디네이션
    분산 환경에서 서버들 간에 상호 조정이 필요한 다양한 서비스를 분산 및 동시 처리하는 기술
    • Zookeeper
  • 분석 및 시각화
    빅데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 기술
    • R

2. NoSQL (Not Only SQL)

(1) 개념

데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS

(2) 특성

  • Basically Available : 언제든지 데이터에 접근할 수 있어야 하는 속성
  • Soft-State : 노드의 상태는 외부에서 전송된 정보를 통해 결정되는 속성
  • Eventually Consistency :일정 시간이 지나면 데이터의 일관성이 유지되는 속성

(3) 유형

  • Key-Value Store
  • Column Family Data Store
  • Document Store
  • Graph Store

3. 데이터 마이닝 (Data Mining)

(1) 개념

대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내어 의사결정에 활용하는 기법

(2) 절차

  • 목적 설정
  • 데이터 준비
  • 가공
  • 마이닝 기법 적용
  • 정보 검증

(3) 주요 기법

  • 분류 규칙
    과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드의 결과값을 예측하는 기법

  • 연관 규칙
    데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법

  • 연속 규칙
    연관 규칙에 시간 관련 정보가 포함된 형태의 기법

  • 데이터 군집화
    정보가 없는 상태에서 데이터를 분류하는 기법




🐭 참고문헌

  • NCS 정보처리기술사 연구회. (2020). 수제비 정보처리기사 실기 (2판). 건기원.

0개의 댓글