기타/정처기

정보처리기사 실기 수제비 11과목 응용 SW기초 기술 활용

TheWing 2020. 12. 31. 17:03

 

운영체제의 특징

운영체제의 종류★★★

운영체제(OS; Operating System)의 개념

  • 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어
  • 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공
  • 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당

운영체제의 종류

윈도즈 운영체제

  • MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발

윈도즈 운영체제 특징

  • 그래픽 사용자 인터페이스(GUI) 제공
  • 선점형 멀티태스킹 방식 제공
  • 자동감지 기능 제공
  • OLE(Object Linking and Embedding) 사용 : 개체를 현재 작성 중인 문서에 자유롭게 연결 또는 삽입하여 편집할 수 있게 하는 기능

유닉스 운영체제

  • 범용 다중 사용자 방식의 시분할 운영체제
  • 다양한 시스템에 서로 이식, 멀티 태스킹과 다중 사용자를 지원

유닉스 계열 운영체제 특징

  • 대화식 운영체제 기능 제공 : 프롬프트를 사용
  • 다중 작업 기능 제공
  • 다중 사용자 기능 제공
  • 이식성 제공 : 90% C 언어로 구현, 모듈화
  • 계층적 트리 구조 파일 시스템 제공 : 파일 관리 용이

운영체제 기본 명령어 활용★★★

운영체제 제어

운영체제 제어 방법

  • CLI : Command Line Interface. 사용자가 직접 명령어를 입력.
  • GUI : Graphic User Interfafce. 마우스로 화면을 클릭하여 그래픽 위주로 컴퓨터를 제어

윈도즈 운영체제의 기본 명령어

  • CLI 명령어를 입력하기 위해서 명령 창이 필요
  • Help로 검색이 가능

윈도즈 운영체제의 기본 명령어

  • ATTRIB : 파일 속성을 표시하거나 바꿈
  • CALL : 한 일괄 프로그램에서 다른 일괄 프로그램을 호출
  • CD : 현재 디렉터리 이름을 보여주거나 바꿈.
  • CHKDSK : 디스크 검사. 상태 보고서.
  • CLS : 화면 지움
  • CMD : 명령 프롬프트 창 열기
  • COMP : 두 개 이상의 파일 비교
  • DISKPART : 디스크 파티션 속성을 표시하거나 구성
  • ECHO : 메시지를 표시하거나 ECHO 사용 여부 결정
  • ERASE : 하나 이상의 파일을 지움
  • EXIT : CMD.EXE 프로그램(명령 인터프리터)을 마침

리눅스/유닉스 계열의 기본 명령어

  • 명령어 쉘에서 입력
  • 최상위 유저를 CLI 환경에서 #으로 표시, 일반 유저는 $로 표시
  • -help, -h, -man로 도움말 확인

리눅스/유닉스 운영체제의 기본 명령어시스템 관련

  • uname -a : 시스템 모든 정보 확인
  • uname -r :운영체제 배포 버전
  • cat : 파일 내용 출력
  • uptime : 시스템 가동 시간, 현재 사용자 수, 평균 부하량 확인

사용자

  • id : 사용자의 로그인 명, id, 그룹 id
  • last : 부팅부터 현재까지의 모든 사용자의 로그인과 로그아웃에 대한 정보
  • who : 현재 접속 사용자 정보를 표시

파일 처리

  • ls : 파일 폴더 표시
  • pwd : 현재 작업 중인 디렉토리
  • rm : 파일 삭제
  • cp : 파일 복사
  • mv : 파일 이동

프로세스

  • ps : 현재 실행되고 있는 프로세스 목록
  • pmap : 프로세스 ID로 프로세스 맵 정보 출력
  • kill : 특정 PID 프로세스 종료

파일 권한

  • chmod : 파일, 디렉토리 퍼미션 수정
  • chown : 파일 디렉터리 소유자, 소유 그룹 수정
  • ifconfig : 네트워크 인터페이스 설정
  • host : 호스트명 ip 주소 알고 싶을 때

압축

  • tar : 압축은 안하고 걍 묶거나 풀 때
  • gzip : 압축을 할 때

검색

  • grep : 파일의 내용에서 특정 문자열을 찾고자할 때
  • find : 특정 파일을 찾는 명령어

파일 이동

  • cp : 디렉토리를 복사할 때 사용하는 명령어
  • rsync : 로컬 또는 원격에 파일과 디렉토리 복사, 동기화

디스크 사용

  • df : 시스템에 마운트된 하드디스크의 남은 용량 확인
  • du : 파일 사이즈를 킬로 바이트 단위로 보여줌

디렉터리 이동

  • cd

운영체제 핵심 기능 파악★★★

운영체제 핵심 기능

  • 중앙처리장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리
  • 운영체제에서 메모리를 자동으로 관리
  • 개발 및 시스템 환경이 클라우드화되면서 자원에 대한 관리 노력이 줌

운영체제 핵심 기능 : 메모리 관리, 프로세스 관리

MMU(Memory Managemnet Unit)

  • CPU가 메모리에 접근하는 것을 관리하는 컴퓨터 하드웨어 부품으로 가상 메모리 주소를 실제 메모리 주소로 변환하는 장치

메모리 관리 기법

  • 반입 기법 : 메모리로 적재 시기 결정. 요구 반입 기법, 호출 반입 기법
  • 배치 기법 : 메모리 적재 위치 결정. 최초 적합, 최적 적합, 최악 적합.
  • 할당 기법 : 메모리 적재 방법 결정. 연속 할당 기법, 분산 할당 기법.
  • 교체 기법 : 메모리 교체 대상 결정. 프로세스의 Swap In/Out, FIFO, Optimal, LRU, LFU, 시계 알고리즘, MFU

프로세스 관리

프로세스 상태

  • 생성 상태
  • 준비 상태 : CPU 할당받을 수 있음.
  • 실행 상태 : CPU 할당 받고 동작 중
  • 대기 상태 : 입출력 처리 등으로 인해 CPU 양도하고 대기
  • 완료 상태 : 완전히 수행 종료

프로세스 상태 전이

  • 디스패치(Dispatch) : 준비 상태에서 실행 상태로 전이. 문맥 교환이 발생
  • 타이머 런 아웃(Timer run out) : CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장. CPU 반납 후 다시 준비 상태로 전이.
  • 블록(Block) : 실행 상태에 있는 프로세스가 지정된 할당시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납 하고 입출력이 완료될 때까지 대기 상태로 전이.
  • 웨이크 업(Wake-up) : 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 wait & signal 등에 의해 알려줌. 대기 상태에서 준비 상태로 전이됨.
  • Swap - in : 프로세스에게 다시 기억장치가 할당될 경우. 지연 준비 상태나 지연 대기 상태에서 준비 상태나 대기 상태로 전이
  • Swap - out : 프로세스가 기억장치를 읽은 경우. 준비 상태나 대기 상태에서 지연 준비 상태나 지연 대기 상태로 전이

문맥교환

  • CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고 다음 프로세스의 PCB로 부터 문맥을 복원하는 작업

프로세스 스케줄링

  • CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업
  • 처리율, CPU 이용률을 증가, 오버헤드, 응답시간, 반환시간, 대기시간 최소화
  • 장기, 중기, 단기 스케줄러가 있음

주요 용어

  • 서비스 시간 : 프로세스가 결과를 산출하기까지 소요되는 시간
  • 응답시간(반환시간) : Response time 또는 Turnaround time. 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간. 응답시간 = 대기시간 + 수행시간
  • 평균 응답시간 : 대기 큐의 프로세스가 결과를 산출하기 소요되는 시간 평균
  • 대기시간 : 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간
  • 평균 대기시간 : 프로세스가 대기 큐에서 대기하는 평균시간
  • 종료시간 : 요구되는 Processing time을 모두 수행하고 종료된 시간
  • 시간 할당량(Time Quantum 또는 Time Slice) : 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량.
  • 응답률 : (대기 시간 + 서비스 시간) / 서비스 시간. HRN(Highest Responce ratio Next) 스케출링에서 사용.

프로세스 스케줄링 유형

  • 선점형 스케줄링 : 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식.알고리즘 : 라운드 로빈, SRT(Shortest Remaining Time First), 다단계 큐(Multi-Level Feedback Queue)
  • 비선점형 스케줄링 : 한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식알고리즘 : 우선순위, 기한부, FCFS, HRN(High Response Ratio Next), SJF(Shortest Response Ration Next)

프로세스 스케줄링 알고리즘

선점형 스케줄링 알고리즘

  • 라운드 로빈 : 프로세스는 같은 크기의 CPU 시간을 할당(시간 할당량). 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감.
  • SRT : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점
  • 다단계 큐 : 작업들을 여러 종류 그룹으로 분할. 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점 당함. 각 큐는 자신만의 독자적인 스케줄링을 가짐.
  • 다단계 피드백 큐 : 입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여. FCFS와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용

비선점형 스케줄링 알고리즘

  • 우선순위 : 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함
  • 기한부 : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
  • FCFS : 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당함. FIFO
  • SJF : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시 까지 자원 점유. 준비 큐 작업 중 가장 짧은 작업부터 수행. 평균 대기 시간 최소. CPU 요구 시간이 긴 작업과 짧은 작업 간의 불평등이 심하여, CPU 요구 시간이 긴 프로세스는 기아 현상이 발생.
  • HRN : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택. SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등 완화. SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등 완화.

반환시간 및 대기시간 계산방법

  • 반환시간 = 종료시간 - 도착시간
  • 대기시간 = 반환시간 - 서비스시간

가상화, 클라우드

가상화 개념물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술.

가상화의 종류

  • 플랫폼 가상화 : 하드웨어 플랫폼 위에서 실행되는 호스트 프로그램이 게스트 프로그램을 만들어 마치 독립된 환경을 만들어 낸 것처럼 보여주는 기법
  • 리소스 가상화 : 게스트 소프트웨어 위에서 사용자는 독립된 하드웨어에서 소프트웨어가 실행되는 것처럼 활용하는 기법. 메모리, 저장 장치, 네트워크 등을 결합하거나 나누기 때문에 사용자는 가상화된 물리적 장치들이 어떤 위치에 있는지 알기 어려움.

가상화 기술요소

  • 컴퓨팅 가상화 : 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술. 서버 가상화를 통해 하나의 시스템에서 1개 이상의 운영체제를 동시에 가동시킬 수 있으므로, 서버 이용률이 크게 향상. ex) 하이퍼 바이저
  • 스토리지 가상화 : 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술 ex) 분산 파일 시스템
  • I/O 가상화 : 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로, 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술. ex) 가상 네트워크 인터페이스 카드
  • 컨테이너 : 컨테이너화된 애플리케이션들이 단일 운영체제상에서 실행되도록 해주는 기술. 하이퍼바이저 없이 운영체제가 격리된 프로세스로 동작하기 때문에 오버헤드가 낮음. ex) 도커
  • 분산처리 기술 : 여러 대의 컴퓨터 계산 및 저장능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술
  • 네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치(라우터, 스위치)의 가상화를 통한 가상 네트워크를 지원하는 기술. ex) SDN, NFV

클라우드 컴퓨팅

  • 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자사의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술

클라우드 컴퓨팅 분류 : 사설 클라우드, 공용 클라우드, 하이브리드 클라우드

클라우드 컴퓨팅 유형

  • 인프라형 서비스(IaaS; Infrastructure as a Service) : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스.
  • 플랫폼형 서비스(Paas; Platform as a Service) : 인프라를 생성, 관리 하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스.
  • 소프트웨어형 서비스(Saas; Software as a Service) : 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하여 소프트웨어를 서비스 형태로 이용하는 서비스.

데이터베이스 기초 활용하기

데이터베이스 종류★★★

데이터베이스

데이터베이스 개념

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

데이터베이스 종류

파일 시스템 종류

  • ISAM : Indexed Sequential Access Method. 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
  • VSAM : Virtual Storage Access Method. 대형 운영체제에서 사용되는 파일 관리 시스템

계층형 데이터베이스 관리시스템(HDBMS; Hierarchical Database Management System)

  • 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
  • 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않음

망형 데이터베이스 관리시스템(NDBMS; Network Database Management System)

  • 데이터의 구조를 네트워크상의 망상 형태로 논리적으로 표현한 데이터 모델
  • 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점이 있음.

관계형 데이터베이스 관리시스템(RDBMS; Relational Database Management System)

  • 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리시스템

RDBMS의 종류

  • Oracle : 리눅스/유닉스/윈도즈 모두 지원
  • SQL Server : 마이크로소프트사에서 개발. 윈도즈 서버에서만 구동. C# 등과 호환
  • MySQL : 리눅스, 유닉스, 윈도에서 모두 사용이 가능. 오픈 소스.
  • Maria DB : MySQL 출신 개발자가 만든 데이터베이스. MySQL과 호환.

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

DBMS

DBMS 개념

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

DBMS 유형

  • Key-Value Store : 키 기반 Get/Put/Delete 제공. 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 기능 DBMS. ex) Redis, DynamoDB
  • 컬럼 기반 데이터 저장(Column Family Data Store) : Key안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DBMS. 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현. ex) HBase, Cassandra
  • 문서 저장(Document Store) : 값의 데이터 타입이 문서라는 타입을 사용하는 DBMS. 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능. ex) MongoDB, Couchbase
  • 그래프(Graph Store) DBMS : 시멘틱 웹과 온톨리지 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS. 노드와 엣지로 특징되는 요소 특화. 노드 간 관계를 구조화하여 저장. ex) Neo4j, AllegroGraph

DBMS 특징

  • 데이터 무결성 : 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용 x
  • 데이터 일관성
  • 데이터 회복성
  • 데이터 보안성
  • 데이터 효율성

관계형 데이터베이스 활용★★★

ERD(E-R Diagram) 개념

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

ER 모델

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

    엔티티

    • 사물 또는 사건으로 정의되며 개체라고도 함

    • 피터 챈 모델에서는 엔티티를 사각형으로 표시

    • 까마귀발 모델에서는 엔티티를 표 형식으로 표시

      속성

    • 엔티티가 가지고 있는 요소 또는 성질

    • 피터 챈 모델에서는 속성을 타원형으로 표시

    • 까마귀발 모델에서는 속성을 표 내부에 표시

      관계

    • 두 엔티티 간의 관계를 정의

    • 피터 챈 모델에서는 관계는 마름모로 표시

    • 까마귀발 모델에서는 1:1, 1:m, n:m 관계를 까마귀 발 모양으로 표시

데이터베이스 관리

트랜잭션

트랜잭션의 개념

  • 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위

트랜잭션의 특성

  • 원자성(Atomicity) : 분해가 불가능한 작업의 최소단위. 연산 전체가 성공 또는 실패 . 하나라도 실패할 경우 전체가 취소.
  • 일관성(Consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존
  • 격리성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가
  • 영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장.

트랜잭션의 상태

  • 활동 상태(Active) : 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
  • 부분 완료 상태(Partially Committed) : 마지막 명령문이 실행된 후에 가지는 상태
  • 완료 상태(Commited) : 트랜잭션이 성공적으로 완료된 후 가지는 상태
  • 실패 상태(Failed) : 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태
  • 철회 상태(Aborted) : 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태

트랜잭션 제어

  • 트랜잭션 제어언어는 TCL(Transaction Control Language)이라고 하며, 트랜잭션의 결과를 허용하거나 취소하는 목적으로 사용되는 언어

TCL 명령어

  • 커밋(COMMIT) : 트랜잭션 확정
  • 롤백(ROLLBACK) : 트랜잭션 취소
  • 체크포인트(CHECKPOINT) : 저장 시기 설정

데이터베이스 기본 연산

Create(생성), Read(읽기), Update(갱신), Delete(삭제)

데이터베이스 기본 연산 수행 상세

SELECT 명령문

SELECT [ALL | DISTINCT | DISTINCTROW] 속성명1, 속성명2...
    FROM 테이블명1, ...
[WHERE 조건]
[GROUP BY 속성명1, ...]
[HAVING 그룹조건]
[ORDER BY 속성 [ASC | DESC] ];
  • SELECT 절 : 2개 이상의 테이블을 대상으로 검색할 때는 '테이블명.속성명'으로 표현. ALL 모든 튜플을 검색할 때 사용. DISTINCT는 중복된 속성이 조회될 경우 그중 한 개만 검색. DISTINCTROW는 SELECT 뒤에 속성들과 상관없이 튜플 전체가 중복된 튜플을 제거
  • GROUP BY절 : 속성값을 그룹으로 분류하고자 할 때
  • HAVING절 : GROUP BY에 의해 분류한 후 그룹에 대한 조건 지정
  • ORDER BY절 : 속성 값을 정렬 하고자 할 때

WHERE 조건

  • 비교 : =, <>, <, <= , >, >=
  • 범위 : BETWEEN ~ AND ~. 크거나 같고 작거나 같음
  • 집합 : IN, NOT IN. ex) IN(40000, 50000, 60000)
  • 패턴 : LIKE. NAME LIKE '정보%'이면 이름이 '정보'로 시작하는 문자열
  • NULL : IS NULL, IS NOT NULL.
  • 복합조건 : AND OR NOT

WHERE 절에서 LIKE와 같이 사용하는 와일드 문자

  • + : 문자열을 연결
  • %
  • : '[]' 사이의 1개의 문자와 일치하는 문자열
  • [^] : '[]' 사이의 1개의 문자와 일치하지 않는 문자열
  • _ : 특정 위치의 1개의 문자와 일치 ex) '_동%' : 두 번째 위치에 '동'이 들어가는 문자열

ORDER BY 절에 ASC와 DESC 명시되어 있지 않은 경우 ASC가 기본 값.

테이블 생성, 변경, 삭제는 테이블 스키마를 건드리므로 데이터 정의어(DDL),데이터 삽입, 갱신, 삭제는 테이블 내의 인스턴스를 건드리므로 데이터 조작어(DML).

INSERT, UPDATE, DELETE

INSERT INTO 테이블명(속성명1, ...) # 속성명 생략 가능. VALUES(데이터1, ...) 

UPDATE 테이블명
    SET 속성명 = 데이터, ...
 WHERE 조건;

DELETE FROM 테이블명
 WHERE 조건;

데이터베이스 기술 트랜드

빅데이터

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

데이터의 특성 : 데이터의 양, 다양성, 속도

빅데이터 수집, 저장 처리 기술

  • 비정형/반정형 데이터 수집 : 내, 외부 정제되지 않은 데이터를 확보, 이를 통해 필요 정보를 추출하여 활용하기 위해서 효과적으로 수집 및 전송하는 기술. ex)척와, 플럼, 스크라이브
  • 정형 데이터 수집 : 내, 외부 정제된 대용량 데이터의 수집 및 전송 기술. ex) ETL, FTP, 스쿱, 하이오
  • 분산데이터 저장/처리 : 대용량 파일의 효과적인 분산 저장 및 분산 처리 기술 ex) HDFS, 맵 리듀스
  • 분산 데이터베이스 : HDFS의 칼럼 기반 데이터베이스로 실시간 랜덤 조회 및 업데이트가 가능한 기술 ex) HBase

HDFS(Hadoop Distributed File System)

  • 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템

맵 리듀스

  • 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크

NoSQL

  • 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS

NoSQL의 특성

  • Basically Available : 언제든지 데이터는 접근할 수 있어야 함. 가용성 중시.
  • Soft-State : 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성.
  • Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지되는 속성. 일관성을 중시하고 지향

데이터 마이닝

  • 대규모로 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술. 이를 의사결정에 활용하고, 서비스와 제품에 도입.

데이터 마이닝 절차

  • 목적 설정 : 사용할 모델과 필요 데이터 정의
  • 데이터 준비 : 부하 고려. 데이터의 품질을 보장.
  • 가공 : 모델링 목적에 따라 목적 변수 정의. 소프트웨어에 적용할 수 있는 형식으로 가공 처리.
  • 마이닝 기법 적용
  • 정보 검증 : 테스트 데이터, 과거 데이터를 활용하여 최적의 모델 선정. 업무 적용 보고서 작성.

데이터 마이닝 주요 기법

  • 분류 규칙(Classification) : 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법. 마케팅, 고객 신용평가 모형에 활용.
  • 연관 규칙(Association) : 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법. 제품이나 서비스의 교차판매, 매장 진열, 사기 적발 등에 활용.
  • 연속 규칙(Sequence) : 연관 규칙에 시간 관련 정보가 포함된 형태의 기법.
  • 데이터 군집화(Clustering) : 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업으로 작업의 특성이 분류 규칙과 유사