HDFS 다수노드로구성된클러스터이용해, 대용량데이터집합을처리하는응용프로그램에적합한분산파일시스템
- 특징 : Fault-Tolerant, Data Block, Replication, Rack Awareness
- 구성요소 : Master/Slave/Name Node/Data Node
- 운영구조 : Replication, TCP/IP, Name Space
 
토픽이름 HDFS
분류 DB > Big Data > HDFS
키워드(암기) 대용량 데이터 저장을 위한 범용 클러스터 시스템, NameNode, DataNode, Replication, 데이터 입력 조회 절차
암기법(해당경우)  

 

[기출문제]

번호 문제 회차
1 하둡 분산파일시스템(HDFS: Hadoop Distributed File System) 특징 구조에 대하여 설명하고, 구성요소인 네임노드, 데이터 노드의 역할에 대하여 설명하시오 111.응용.2
2 빅데이터 분산처리시스템인 하둡 MapReduce 한계점을 중심으로 Apache Spark Apache Storm 비교하여 설명하시오 105.관리.2
3 빅데이터 분석 도구인 R 역사와 주요 기능 3가지에 대해 설명하시오. 104.관리.4
4 맵리듀스(MapReduce) 102.응용.1
5 하둡분산 파일시스템(Hadoop Distributed File System) 구조에 대하여 설명하시오. 101.관리.1
6 빅데이터 핵심기술을 오픈소스와 클라우드 측면에서 설명하고, 표준화 기구들의 동향을 설명하시오 101.관리.2
7 아파치 하둡(Apache Hadoop) 구조와 작동 개요를 맵리듀스 엔진(MapReduce engine)중심으로 설명하시오. 99.관리.3
8 빅데이터(Big Data) 처리 분석 기술인 하둡(Hadoop)에 대하여 설명하시오. 96.응용.1
9 하둡2.0 대하여 설명하시오 2015.01_관리_1교시
10 빅데이터를 원활히 처리하기 위한 하둡기반의 병렬처리 엔진인 Pig 대해서 다음 물음에 답하시오.
. 개념과 특징에 대해 설명하시오.
. 아키텍처와 구성요소에 대해 설명하시오.
. 데이터 타입과 실행 유형에 대해 설명하시오.
2014.12_응용_4교시
11 최근 빅데이터를 이용한 시스템들이 여러 분야에서 활발히 사용되고 있다. 현재 하둡을 중심으로 빅데이터를 처리/저장하였으나 실시간 빅데이터 분석의 요구가 높아짐에 따라 빅데이터를 분석할 있는 새로운 분산시스템들이 제시되었다. 이에 따라 다음 내용을 설명하시오
. 하둡 기술의 현황 한계
. 스파크 구조 특징
. 스톰 구조 특징
. 빅데이터 분산시스템 비교 분석   
2014.11_관리_4교시
12 보안장비에서 발생하는 로그를 ESM(Enterprise Security Management) 기반으로 통합적으로 분석하였으나, 폭발적인 로그 데이터 증가와 ESM 자체의 처리 능력에 한계가 있다. Hadoop Ecosystem 오픈소스 기술들을 사용하여 보안로그 분석을 위한 빅데이터 플랫폼을 설계하시오.    2014.10_관리_3교시
13 하둡2.0(Hadoop 2.0) 대하여 설명하시오.    2014.01_관리_1교시z
14 Big data 효과적으로 분석하기 위한 아키텍처로 Hadoop 활용하는 사례가 늘어나고 있다. 그와 관련하여 Hadoop 아키텍처, MapReduce HDFS 대해서 설명하시오.    2013.04_관리_3교시
15 HDFS(Hadoop Distributed File System) 개념과 동작원리를 설명하시오.    2013.01_관리_1교시
16 HDFS(Hadoop Distributed File System) 대해 설명하시오    2011.12_응용_1교시
17 Hadoop 특징, 시스템 구조 네크워크 구조에 대해 설명하고, MapReduce의 처리방식에 대해 기술하시오.    2011.10_응용_4교시

 

. Hadoop 핵심 분산 파일 저장기술 HDFS의 개념

. HDFS(Hadoop Distributed File System)의 정의

  • 저비용의 수백, 수천 노드로 구성된 클러스터를 이용, 기가 또는 테라 바이트의 대용량 데이터 집합을 처리하는 응용 프로그램에 적합하도록 설계한 분산 파일 시스템

 

. HDFS 기술적 특징

특징 설명
높은 내고장성
(fault-tolerant)
- H/W, N/W 부품 오류에도 정상적 운영을 보장
- 디스크I/O장애에도 Replication기법등을 통해 높은 가용성 제공
엄청난 처리량 (클러스터) - 최대 4000 DN, 분산 Read/Write, MapReduce
빅 데이터 처리 - 대용량 데이터 처리를 위한 경제성, 유연성, 확장성 제공
- 64M 블럭 각각의 처리 가능
파일Streaming접근 - 순차적인 처리 특성, 이식성이 뛰어남, 고가 스토리지 불필요
TCO 절감 - Linux 저가형 서버구성에도 신뢰성 있는 파일시스템 제공
효율적인
분산파일 시스템
- 메타데이터 활용을 통해 SAN과 같은 별도 장비없이 구현가능
- NAS 문제점인 연결 노드 많을수록 성능 저하 문제점 극복

 

. HDFS 구성도와 구성요소 동작 절차

. HDFS 구성도

- HDFS 구조는 크게 네임토느(Name Node) 데이터노드(Data Node) 나뉘며, 데이터 노드에는 실제 물리적인 데이터가 저장되고 64MB 또는 128MB 블록 사이즈로 관리되며, 모두 3 이상의 복제본이 노드에 복사 저장되며 만일 문제가 발생되면 복제본으로 대체되 서비스가 중단되지 않는 이점이 있음.

장애상황은 항상 발생한다는 가정하에 설계됨.

 

. HDFS 구성요소

구성요소 설명
NameNode - 파일시스템의 Metadata(디렉터리구조, Access 권한 ) 관리 서버
- 블록에 대한 배치정보를 관리, 특정 파일이 어떻게 블록으로 분할되어 어느 Data Node 보관 유지되고 있는지를 관리
DataNode - 실제 데이터를 저장 유지하는 서버, Data Node간에는 데이터 복제를 통해 데이터의 신뢰성 유지함
Secondary NameNode - Name Node Metadata 로드가 실패 시 Backup Node 사용
- Name Node에서 Secondary Name Node 지속적 copy
Replication - Datanode 정보 복제
- 성능향상 장애시 지속적 서비스 제공

 

III. HDFS 동작 절차

  • HDFS 마스터-슬레이브 구조로 동작하며, TCP/IP 프로토콜 이용하여 노드간 통신
  • 대용량파일 원본을 저장 시 블록단위로 나누어 저장하며, 블록크기는 64/128MB 수준
  • 노드의 실패에 대비해 데이터를 복제하여 저장하며, 동일 랙에 위치할 경우 노드간 대역폭이 높은 장점을 활용하는 Rack-aware 복제배치정책을 사용하고 있음
  • (내부랙2개노드+다른랙1개노드)

 

.

HDFS 데이터 분산, 복제 저장

 

 

. HDFS 데이터 조회 절차


 

. HDFS 데이터 입력 절차

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

샤딩(Sharding) / Shard  (0) 2023.08.27
Hadoop 3.0  (0) 2023.08.26
Big Data 보안  (0) 2023.08.24
아파치 카프카(apache kafka)  (1) 2023.08.23
랜덤 포레스트(Random Forest)  (0) 2023.08.22
Big Data 보안 [정의] 빅데이터를통한개인정보유출, 식별화로정보유출되는위협으로인해빅데이트생명주기별제공되는(개인정보보호) 보안기법
개인정보보호기술적용방안, 비식별화조치
실시간모니터링
위협에대한지능
행위프로파일링
데이터/사용자모니터링
응용모니터링
분석
PPDM(랜덤화,SCM)
Hadoop 보안(ACL, Kerberos)
통합보안(APT, BYOD)

토픽 이름 () Big Data 보안 취약점 대응
분류 SE > 보안 취약점 대응> Big Data 보안 취약점 및 대응
키워드(암기) IT자산의 의도되지 않은 손상유출, 도청 가로채기, 비도덕적 행위 혹은 오남용, 법률 위반 행위, 기능적 장애
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 다양한 분야에서 빅데이터를 활용하여 서비스를 제공하고 있다. 하지만 빅데이터 활용 개인정보와 프라이버시는 안전하게 이용되어야 한다. 빅데이터 보안이슈와 생명주기별 개인정보보호기술에 대하여 설명하시오. 모의_2015.06

 

I. 빅데이터 시스템의 안전한 사용을 위한 주요 자산 보호 필요성

-빅데이터 시대의 도래에 따라 기하급수적으로 증가하는 빅데이터를 안전하게 보관, 보호 있는 방법이 중요 이슈로 대두

-ENISA(유럽연합사이버범죄 대응기구)에서 빅데이터 시스템의 안전한 사용 위한 보안 위협을 제시하고 이를 대응하기 위한 위협별 대응 가이드라인을 제시함. Big Data Threat Landscape and Good Practice Guide

 

. 빅데이터 시스템의 보호대상 자산

대분류 분류 내용
기반
환경
소프트웨어 -운영체제, 디바이스 드라이버, 펌웨어, 서버 탑재 소프트웨어 패키지 애플리케이션 등

하드웨어 -서버, 클라이언트, 네트워크 디바이스, 저장장치, 데이터 수집 장치(, 센서 ), 모바일 단말

정보처리인프라 -컴퓨터 처리 방식(, 배치모드처리, 실시간처리, 준실시간처리 ) 구조

데이터 저장소 -저장장치 구조로서 파일 규모에 따른 형태, 분산방식 등의 저장형태
데이터 메타 데이터 -스키마, 인덱스, 데이터 디렉토리 등

정형 데이터 -데이터 모델에 따라 구조화된(, 관계형 혹은 계층형) 정형화된 데이터베이스 레코드

반정형 및
비정형 데이터
-로그 데이터, e-mail 메시지, SMS(Short Messaging Service), 트윗, 블로그 등 정형화되지 않은 데이터, PDF문서, 멀티미디어 데이터(, 사진, 비디오, 지도 ), 비문자형 데이터(, 의료데이터, 생체데이터 )

스트리밍 데이터 -단일 센서로부터 발생하는 단일 스트리밍과 원격의 다중 센서로부터 발생하는 멀티미디어 스트리밍

휘발성 데이터 -동작 중에 일시적으로 발생하는 데이터(, 네트워크 라우팅데이터, 디바이스 RAM(Random Access Memory) 데이터
데이터
분석
데이터 분석
알고리즘과 절차
-데이터 분석을 위한 사전단계로서 분석 모델정의, 분석 기술, 임계치, 설정, 변수의 설정을 포함하는 알고리즘의 소스코드를 포함

분석 결과 -텍스트 기반 그래픽 기반 모드의 분석 결과

 

보안 인프라 보호 -보안 수칙 정책에 따른 데이터 스토어 및 분산 컴퓨팅 시스템을 안전하게 보호하는 제반 활동

데이터 보호 -데이터 저장장치, 로그, 규칙적인 감사 결과의 문서 등을 안전하게 다루는 기술 및 기록하는 제반 활동

무결성 보호 -침해사고 관리 포렌식을 포함하여 실시간 보안 모니터링과 보안 검증에 관련된 기술 및 문서행위를 포함

데이터 프라이버시 -법에서 요구하는 프라이버시 보호를 위해 행해지는 모든 기술을 포함
참여자의 역할 데이터 제공자 -기업, 기관, 공공단체, 대학, 네트워크 운영자, 사용자

데이터 소비자

데이터 운영자 -시스템 설계자(, 데이터 과학자, 데이터 설계자), 빅데이터 애플리케이션 제공자(응용 플랫폼 전문가), 빅데이터 프레임워크 제공자(클라우드 제공자 혹은 개인), 보안 프라이버시 전문가, 기술 전문가

-빅데이터 시스템 주요 구성요소로 기반환경, 데이터, 데이터 분석, 보안, 참여자 역할의 5가지로 보호대상 자산을 분류함.

 

. 빅데이터 시스템의 보안 위협 및 대응기준

. 빅데이터 시스템의 보안 위협 분류

대분류 분류 세부위협사례
IT자산의 의도되지 않은 손상유출 사용자 조작 오류에 의한 정보 유출 -신뢰할 수 없는 소스로부터의 정보 사용, 네트워크로 전송되는 정보 유출, 애플리케이션을 통한 정보유출, 모바일 애플리케이션을 통한 정보 유출, 임직원에 의한 데이터 공유 유출 사고

웹 애플리케이션을
통한 정보의 유출
-안전하지 않은 웹 애플리케이션(unsecure API) 통한 정보의 유출

부적절한 디자인
및 운용
-저장장치의 오남용과 이동저장매체의 감염에 의한 데이터베이스 레코드의 파괴, 저장 장치나 문서의 분실, 정보시스템 데이터의 의도치 않은 변경, 시스템관리자의 오남용 등
도청 및 가로채기 정보의 도용 -네트워크 트래픽 조작 및 정보 수집, 안전하지 않은 Wi-Fi 및 위장 AP 통한 정보 유출 정보 가로채기, 메시지 재전송, 중간자 공격 세션 가로채기
비도덕적 행위 혹은 오남용 신원 도용 -악성코드를 이용한 인증정보 탈취에 의한 신원 도용, 피싱 공격에 의한 정보 탈취, 전수 공격(brute force) 의한 신원 탈취

서비스거부 -NW 애플리케이션 서비스로 다중 분산서비스 공격(DDoS), 네트워크 서비스 대상 분산 서비스 공격, 애플리케이션 서비스 대상 분산서비스 공격등

악성코드 -랜섬웨어, 위조 보안 모듈, 바이러스, 스파이웨어, 애플리케이션 코드 인젝션 공격, 권한 상승, 감염된 , 루트킷, 웜 등

위조 인증서 -민감한 정보의 유실, 위조 SSL 인증서, 소셜엔지니어링을 이용하는 멀웨어, 중간자 공격 세션 가로채기 등

업무 절차 오류 -정보 및 정보시스템의 오용, 권한의 오용, 모바일 네트워크 트래픽클라우드로부터의 정보 유출 등

권한 남용 -승인되지 않은 레코드의 변경, 네트워크 침입, 승인되지 않은 정보시스템 및 네트워크로의 접근, 승인되지 않은 소프트웨어 사용, 무권한 디바이스 및 시스템 관리 등
법률 위반 행위 제도 위반,
개인 정보 남용
-규제의 위반, 계약사항의 위반, 지적재산권의 침해, 개인 데이터의 오남용
기능적
장애
숙련성 부족
(Skill shortage)
-전문성이 갖추어지지 않은 데이터 과학자와 관리자에 의한 빅데이터 활용의 생산성 저하

-빅데이터 시스템의 보안 위협으로 정보IT자산의 의도되지 않은 손상유출, 도청 가로채기, 비도덕적인 행위 오남용, 법률 위반 행위, 기능적 침해 위협 5 범주로 분류함

 

. 빅데이터 시스템 위협에 대한 대응 기준

대분류 분류 대응기준 및 권고내용
IT자산의 의도되지 않은 손상유출 사용자 조작 오류에 의한 정보 유출 -ISO 27001 : 민감한 시스템 데이터에 무권한 접근 의도적이지 않은 데이터 노출방지를 위한 암호기술 사용

웹 애플리케이션을
통한 정보의 유출
-ISO 27001 : 정보시스템의 생명주기에 따라 시스템 초기 개발시 안전한 보안 설계 권고
-NIST Big Data : 주기적인 취약점 점검

부적절한 디자인
및 운용

도청 및 가로채기 정보의 도용 -ISO 27001 : 암호기술을 통한 네트워크 보안기능 제공
비도덕적 행위 혹은 오남용 신원 도용 -NIST Big Data : 데이터에 대한 접근제어 기술 적용
-ISO 27001 : 정보의 중요도에 따른 분류와 중요도에 따른 적절한 통제수단 적용 () 지급 시스템 PCI DSS 적용

서비스거부 -NIST Big Data : 사설인프라 구축과 트래픽 분석을 통한 위협 경감방안이 필요하며 공공 영역에 인프라 설치 시 서비스 프로바이더 대응 역할

악성코드 -ISO 27001 COBIT : 패치 관리 기술적인 취약점 관리 방안과 교육을 통한 사용자의 인식 제고

위조 인증서 -NIST Big Data : SHA-256 혹은 SHA-512 같은 강한 해쉬함수 사용 및 웹브라우저에서 CA인증서 사용

업무 절차 오류 -ISO/IEC 15944 : 개인정보의 프라이버시 보호 방안 권고
-ISO 25237 : 가명화 기술적용
-ENISA Privacy by design : 데이터 최소화, 익명화, 비식별화

권한 남용 -ISO 27001 : 업무 접근제어, 사용자 접근제어 관리, 시스템 애플리케이션, 저장장치 접근제어
법률 위반 행위 제도 위반,
개인 정보 남용
-NIST Big Data : 모든 데이터는 여러 국가에 분산되지 않고 단일 국가 내에 있어야 한다는 권고
-ISO 27001 : 적절한 규정 및 계약사항에 따라 다루어 져야 함을 권고
-COBIT : 논리적물리적 감사로그를 구현하고 문서화
기능적
장애
숙련성 부족
(Skill shortage)
-ISO 27001 : 정보보안에 대한 교육, 인식 제고
-COBIT : 일반적인 사용자와 특정 권한 사용자에 대한 책임과 역할을 이해해야 함을 권고

 - 5가지 보안 위협 범주에 속하는 세부 위협에 대응하기 위하여 ISO 27001, NIST Big Data Guidelines, COBIT,  ENISA Privacy by Design 관련 기준을 참조하여 대응 방안을 제시함

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

Hadoop 3.0  (0) 2023.08.26
HDFS(Hadoop Distributed File System)  (0) 2023.08.25
아파치 카프카(apache kafka)  (1) 2023.08.23
랜덤 포레스트(Random Forest)  (0) 2023.08.22
앙상블 학습/모델  (0) 2023.08.21
아파치 카프카(apache kafka) 아파치 카프카(Apache Kafka)는 아파치 소프트웨어 재단이 스칼라로 개발한 오픈 소스 메시지 브로커 프로젝트이다. 이 프로젝트는 실시간 데이터 피드를 관리하기 위해 통일된, 높은 스루풋의 낮은 레이턴시를 지닌 플랫폼을 제공하는 것이 목표
- pub/sub 메시지 큐: 펍/섭 모델
- 스트리밍 데이터를 처리
- 클러스터를 Scale out해야 할 경우 수십 대의 Broker(:Server node) 확장 가능
하둡: 속도 너무 느림
-> 아파치 스파크: 배치 방식
-> 전송 + 처리 프레임워크를 모두 제공
 
 
토픽 이름 () 아파치 카프카(Apache kafka)
분류 DB > Big data > 아파치 카프카
키워드(암기) pub/sub 메시지 , 스트리밍 데이터를 처리, 클러스터를 Scale out해야 경우 수십 대의 Broker(:Server node) 확장 가능, 프로듀서와 컨슈머의 분리, 멀티 프로듀서, 멀티 컨슈머, 디스크에 메시지 저장, 확장성, 높은 성능, topic, producer, consumer, broker
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 2. 링크드인, 트위터등 대용량을 다루는 기업에서 대용량 실시간 처리를 위해 사용하는 시스템인 카프카(Kafka) 대해서 특징, 구성요소와 동작방식에 대해 설명하시오. 2018.07.응용.2
2 7. 대용량을 다루는 기업에서 대용량 실시간 처리를 위해 사용하는 시스템인 카프카(Kafka)에 대해서 특징, 구성요소와 동작방식에 대해 설명하시오. 2019.01_D1
3 3. 카프카(Kafka) 대해서 설명하시오. 2018.08_D1
4 7. 카프카(Kafka) 대해 설명하시오. 2017.01_D5

 

  1. 고성능 분산 메시징 펍/(Pub/Sub) 모델 시스템, 카프카의 개요
  1. 카프카(Kafka) 개념

- 웹사이트, 애플리케이션, 센서 등에서 취합한 데이터 스트림을 실시간으로 관리하기 위한 오픈소스 시스템

- 원천시스템으로부터 대규모 트랜잭션 데이터가 발생했을 때, 데이터를 버퍼링하면서 목적지 시스템에

안정적으로 전송하기 위한 MOM(Message Oriented Middleware) 시스템

- 링크드인에서 개발, 2011년에 오픈소스로 공개

 

  1. 카프카 특징
특징 설명
프로듀서와 컨슈머의 분리 메시지 전송방식 중 메시지를 보내는 역할과 받는 역할이 완벽하게 분리된 Pub/Sub 방식 적용
멀티 프로듀서, 멀티 컨슈머 한의 토픽에 여러 프로듀서 또는 컨슈머들이 접근 가능한 구조
연속성 디스크에 메시지를 저장하고 유지
확장성 서비스 중단 없이 온라인 상태에서 확장 가능, 하나의 카프카 클러스터는 3대의 브로커로 시작해 수십 대의 브로커로 확장 가능
분산성 분산 시스템을 기본으로 설계되었기에, 기존 메시징 시스템에 비해 분산 및 복제 구성을 손쉽게 할 수 있음
높은 성능 고성능을 유지하기 위해 분산처리, 배치처리 사용
단일 카프카가 1초당 개의 클라이언트로부터 유입되는 수백 메가바이트 처리가능

 

  1. 카프카 구성요소
  1. 카프카 구성요소 개념도
- Kafka 발행-구독(publish-subscribe) 모델을 기반으로 동작하며 크게 producer, consumer, broker 구성된다

 

  1. 카프카 구성요소 설명
구성요소 설명 역할
topic 발행(Publish) 메시지들의 카테고리 프로듀서와 컨슈머들이 카프카로 보낸 자신들의 메시지를 구분하기 위한 이름
producer 메시지를 생성하는 프로세스 특정 Topic 해당하는 메시지를 생성하는 프로세스, 메시지를 Broker 전달
consumer 메시지를 사용하는 프로세스 Broker에게서 구독(Subscribe)하는 Topic의 메시지를 가져와 사용(처리)
broker producer consumer 메시지를 관리하는 클러스터 서버 전달 받은 메시지를 topic별로 분류

 

  1. 카프카 동작방식
  1. 카프카의 아키텍처

- 카프카는 발생-구도(publish-subscribe)모델을 기반으로 동작

- 데이터 단위를 보내는 (프로듀서)에서 카프카에 토픽이라는 각각의 메시지 저장소에 저장하면 가져가는

(컨슈머) 원하는 토픽에서 데이터를 가져감

  1. 카프카의 동작방식
번호 동작 방식
1 프로듀서는 새로운 메시지를 카프카로 전송
2 프로듀서가 보낸 메시지는 카프카에 컨슈머 큐(토픽) 도착해 저장
3 컨슈머는 카프카 서버에 접속하여 새로운 메시지를 가져감
4 프로듀서는 컨슈머와 관계없이 새로운 메시지를 카프카로 전송, 컨슈머도 프로듀서와 관계없이 카프카에서 새로운 메시지를 가져옴
5 카프카에 수많은 메시지들이 저장되고 메시지들은 토픽이라는 식별자를 이용해 토픽 단위로 저장

 

  1. 카프카와 클라우드 메시징 서비스 비교
비교항목 카프카 키네시스 /
개발사 링크드인 아마존 구글
사용형태 DIY 클라우드 서비스 클라우드 서비스
SDK 자바/파이썬 자바/파인썬//닷넷 자바/파이썬/
리플리케이션 팩터 조정 가능 조정 불가 조정 불가
성능 시스템 구성에 따라 다양함 샤드 1MB/ 쓰기,
2MB/ 읽기
100MB/ 읽기, 쓰기
데이터 저장 기간 조정 가능 7(최대) 7(최대)
ACK 주키퍼에 저장 아마존 다이나모DB 서비스에 저장 Pub/Sub 자체 관리
메시지 순서 파티션 단위 샤드 단위 토픽 단위
운영 인원 필요 필요 없음 필요 없음
운영 비용 장비/인건비 서비스 사용료 서비스 사용료

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

HDFS(Hadoop Distributed File System)  (0) 2023.08.25
Big Data 보안  (0) 2023.08.24
랜덤 포레스트(Random Forest)  (0) 2023.08.22
앙상블 학습/모델  (0) 2023.08.21
빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
랜덤 포리스트(Random Forest) [정의] 의사결정나무의앙상블모형으로여러개의의사결정나무를분류또는평균내예측하는분석기법
[특징] 각나무별분산높음, 랜덤 selection of feature set, 투표, 과적합예방
[활용] 검출, 분류, 회귀
[기법] 배깅을이용한 forest 구성(데이터집합생성, 훈련, 선형결합)
임의노드최적화(randomized node optimization)
[중요매개변수] forest 크기, 최대허용깊이, 임의성정도
배깅(부스팅+보팅)
랜덤 셀랙션
의사결정 나무

 
 
토픽 이름() Random Forest
분류 데이터베이스 > Big Data > Random Forest
키워드(암기) Bagging 트리 생성시 Random Subset of Features 사용하는 방식을 추가하는 분석기법, 임의 최적 노드, 배깅, 결정 트리, 정규화 랜덤 포레스트, 앙상블, 선형결합
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 빅데이터 분석기법인 Random Forest에 대해 설명하시오. 관리1101교시
2 10. 랜덤 포레스트(Random Forest) 대해 설명하시오. 합숙18.01.공통.Day-1

 

  1. Subset 특성을 모델에 반영하는 빅데이터 분석기법, Random Forest의 개요

 

  1. Random Forest 사용 기법
기법 내용
앙상블 학습
  1. 주어진 데이터로부터 여러 개의 모델을 학습한 다음, 예측 여러 모델의 예측 결과들을 종합하여 정확도를 높이는 기법으로써, 여러 개의 의사결정트리를 만들고 투표하여 다수결로 결과를 결정하는 방법
배깅(Bagging)
  1. 주어진 데이터에 대해 여러 개의 부트스트랩(bootstrap) 데이터를 생성하고 예측모형을 만든 결합하여 최종 예측모형을 만드는 방법

 

  1. Random Forest 부각배경
배경 내용
의사결정트리의
한계존재
  1. 결과 또는 성능의 변동폭이 크다는 문제 및 학습데이터에 따라 생성되는 결정트리가 크게 달라져 일반화하기 어려운 과적합(overfitting)문제
  2. 계층적 접근방식으로서 중간에 에러발생 시 다음단계로 에러가 전파
과적합 문제
극복필요
  1. 임의화 기술을 통해 각 일반화 성능을 향상시켜 과적합문제 극복의 필요
  • Random Forest 경우 트리들의 편향은 그대로 유지가 되면서, 분산은 감소하기 때문에 보다 안정적(일반화) 이며 정확도 성능이 향상
    ※ 과적합
    (overfitting)문제: 감독학습(Supervised Learning)에서 과거의 학습데이터에 대해서는 잘 예측하지만 새로 들어온 데이터에 대해서 성능이 떨어져서 일반화가 어려운 문제

 

  1. Random Forest 특징
      1. 임의성(randomness) 의해 서로 조금씩 다른 특성을 갖는 트리들로 구성
      2. 각 트리들의 예측(Prediction)들에 대한 비상관화(decorrelation)
      3. 일반화 성능의 향상 및 노이즈(noise) 강함
      4. 임의화를 통한 과적합(overfitting)문제를 극복

 

  1. Random Forest의 주요기법
      1. 배깅(bagging) 이용한 forest 구성
        1. 부트스트랩(bootstrap) 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기(base learner)들을 결합(aggregating)시키는 방법
단계 내용
데이터집합생성
  1. 부트스트랩(bootstrap) 통해 T개의 훈련데이터 집합 생성
훈련
  1. T개의 기초분류기(tree)들을 훈련시킨다
결합
  1. 기초분류기(tree)들을 하나의 분류기(random forest) 결합(평균 또는 과반수투표 방식 이용)

  • 배깅(bagging) 이용해 T개의 결정 트리들로 구성된 Random Forest 학습하는 과정

 

[간단한 개념도]

  1. 임의노드 최적화(randomized node optimization)
    • 분석에 사용되는 변수를 랜덤하게 추출하는 것으로써, 훈련단계에서 훈련목적함수를 최대로 만드는 노드분할 함수의 매개변수 θ 최적값을 구하는 과정
    • , 분석을 위해 준비된 데이터로 부터 임의복원추출을 통해 여러 개의 학습데이터를 추출하고 각각 개별학습을 시켜 트리를 생성하여 투표 또는 확률 등을 이용하여 최종목표변수를 예측
 

  1. 중요 매개변수
구성요소 내용
forest의 크기
  1. forest 개의 트리로 구성할 지를 결정하는 매개변수
  2. forest 작으면 트리들의 구성 및 테스트 시간이 짧은 대신, 일반화 능력이 떨어지는 반면, forest 크기가 크다면 훈련과 테스트 시간은 증가하지만 forest 결과값의 정확성/일반화 능력이 우수
최대 허용 깊이
  1. 하나의 트리에서 루트 노드부터 종단 노드까지 최대 몇 개의 노드(테스트)를 거칠 것인지를 결정하는 매개변수
  2. 최대 허용 깊이가 작으면 과소적합(underfitting) 발생, 최대 허용 깊이가 크면 과대적합(overfitting) 일어나기 때문에 적절한 설정필요
임의성 정도 임의성의 정도에 따라 비상관화 수준의 결정

 

  1. Random Forest의 응용사례
사례 내용
키넥트에서의 신체 트랙킹 엑스박스 360에서 사용되는 모션 캡처 주변기기인 키넥트에서는 random forest 이용하여 주어진 입력에서 신체의 부분을 분류
컴퓨터 단층촬영에서의 해부학 구조 분석 3차원 컴퓨터 단층촬영 영상(Computed Tomography, CT) 내에서 주어진 복셀에 대해 해당되는 해부학구조가 어디인지 검출하고 해당 위치를 파악
다채널 자기공명영상 분석 브라운대학, 캠브리지대학 등에서 다채널 자기공명영상(Multi-channel Magnetic resonance image)으로 촬영된 영상에서 고악성도 신경교종(High-grade gliomas) 검출

 

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

Big Data 보안  (0) 2023.08.24
아파치 카프카(apache kafka)  (1) 2023.08.23
앙상블 학습/모델  (0) 2023.08.21
빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
NoSQL(CAP이론)  (0) 2023.08.19
앙상블 학습/모델 [정의]주어진데이터로부터여러개의모델을학습한다음, 예측시여러모델의예측결과들을종합하여정확도를높이는기법
앙상블학습(Ensemble learning)
배깅
부스팅
랜덤포레스트

 
 
토픽 이름 () 앙상블 학습
분류 DB > Big Data > 앙상블 학습
키워드(암기) 배깅(bagging; bootstrap aggregating, 개별 모델)
암기법(해당경우)  

 

 

I. 빅데이터, 머신러닝의 학습 알고리즘(learning algorithm), 앙상블 기법의 개요

. 앙상블기법의 정의

- 빅데이터 분석 기계학습 기법으로써, 개별 모형 하나로 원하는 성능을 낼 수 없을 때 개별로 학습한

  여러 학습기법(배깅, 부스팅, 렌덤 포레스토) 를 조합해, 좋은 예측 성능을 얻는 기법

  • 여러 개의 의사결정 트리를 만들고 투표하여 다수결로 결과를 결정하는 방법
  1. 앙상블학습의 등장배경
단계 내용
감독학습의
과적합 문제
결과 또는 성능의 변동폭이 크다는 문제 및
학습데이터에 따라 생성되는 결정 트리가 크게 달라져
일반화하기 어려운 과적합(overfitting)문제
과적합 문제
극복 필요
임의화 기술을 통해 각 일반화 성능을 향상시켜 과적합문제 극복의 필요
  • ※ 과적합(overfitting)문제: 감독학습(Supervised Learning)에서 과거의 학습데이터에 대해서는 잘 예측하지만 새로 들어온 데이터에 대해서 성능이 떨어져서 일반화가 어려운 문제

 

II. 앙상블학습의 개념도 주요기법

. 앙상블 학습의 개념도

  • 여러 개의 분류기를 통해 예측결과를 도출하고 이 결과를 결합하여 신뢰성이 높은 예측 값 도출
  1. 앙상블 학습의 주요기법
주요기법 개념도 설명
Bagging
Bootstrap 통해 모델링한 결합하여 최종 예측모델 생성
Boosting
Weak classifier 가중치를
적용하여
최종 bosting 모델을 만듦
Random forest
배깅을 이용하여 여러 개의
결정트리를 생성 후
학습시키고 투표 및 확률을
이용하여 최종 모델 생성

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

아파치 카프카(apache kafka)  (1) 2023.08.23
랜덤 포레스트(Random Forest)  (0) 2023.08.22
빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
NoSQL(CAP이론)  (0) 2023.08.19
5차 정규화  (0) 2023.08.18
빅데이터 분석 기법(알고리즘) [Bagging] 모델의안정성을높이기위하여분석데이터로부터여러개의 단순복원임의추출(BootStrap)하여 다수결을통해최종의예측모델을도출하는알고리즘(Bootstrap aggregating)
[절차]
1) Row data에서 bootstrap 데이터추출
2) 추출을반복하여 n개의데이터생성
3) 각데이터를각각모델링하여모델생성
4) 단일모델을결합하여배깅모델생성

[Boosting] 모델의정확성을높이기위하여오분류된개체들에가중치를부여함으로써새로운분류규칙을만드는단계를반복하여 약한분류모델을강한분류모델로변형(Boosting)하는알고리즘
[절차]
1) Row data에동일가중치로모델생성
2) 생성된모델로인한오분류데이터수집
3) 오분류데이터에높은가중치부여
4) 과정반복을통하여모델의정확도향상
※배깅 : 부스팅+보팅


토픽 이름 () 빅데이터 분석 기법(배깅,부스팅)
분류 DB > Big Data > 빅데이터 분석 기법(배깅,부스팅)
키워드(암기) 배깅(bagging; bootstrap aggregating, 개별 모델),
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 4. 빅데이터 분석방법인 Bagging Boosting 기법을 비교하여 설명하시오 105.정보관리.1.

 

I. 분류모델 생성 알고리즘 Bagging Boosting

Bagging Boosting
주어진 데이터에서 여러 개의 bootstrap 자료를 생성하고, 각 자료를 모델링 한 후 결합 (Bootstrap
Aggregating)하여 최종 예측 모형을 만드는 알고리즘
잘못 분류된 개체들에 가중치를 적용하여 새로운 분류규칙을 만들고, 과정을 반복해 최종 예측 모형을 만드는 Boosting(변형) 알고리즘

- Bagging Boosting 데이터 마이닝에서 분류를 수행하기 위한 분류모델을 하는 알고리즘.

[참고] 부트스트랩(bootstrap): 여러 개의 표본에서 추가적으로 표본을 복원 추출하고 표본에 대한 통계량을 다시 계산하는 기법 혹은 그 절차를 부트스트랩() 이라고 .

 

 

II. Bagging Boosting 알고리즘 비교 설명

. Bagging Boosting 알고리즘 수행방법 비교

구분 설명
Bagging

1) Row data에서 bootstrap 데이터 추출
2) 추출을 반복하여 n개의 데이터 생성
3) 데이터를 각각 모델링 하여 모델 생성
4) 단일 모델을 결합하여 배깅 모델 생성
Boosting

1) Row data 동일가중치로 모델 생성
2) 생성된 모델로 인한 오분류 데이터 수집
3) 오분류 데이터에 높은 가중치 부여
4) 과정 반복을 통하여 모델의 정확도 향상

- Bagging 여러 번의 sampling 통해 분산을 줄여 모델의 변동성을 감소시키는 방법

- Boosting 잘못 분류된 데이터에 집중해 모델의 정확도를 향상시키는 방법

 

. Bagging Boosting알고리즘의 기술적 특징 비교

항목 Bagging Boosting
수행원리 샘플링에 의한 결합 가중치 재조정에 의한 반복
수행목적 모델의 변동성(분산) 감소 모델의 정확도 향상
적용연산 평균, 다중투표 가중치 선형 결합
초기모델 Bootstrap 모델 (개별 모델) Weak classification 모델
최종모델 Bagging 모델 (결합 모델) Strong classification 모델
분류성능 데이터에 결측치가 존재할 경우 우수 데이터의 수가 많을 경우 우수

- 데이터 마이닝에서 분류문제를 해결하고자 중요한 문제는 주어진 데이터를 이용해 목표변수를 가장

잘 예측할 수 있는 모델을 생성하는 것이므로, 데이터 특성에 따라 모델을 생성하는 알고리즘의 선택적 적용이

필요함.

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

랜덤 포레스트(Random Forest)  (0) 2023.08.22
앙상블 학습/모델  (0) 2023.08.21
NoSQL(CAP이론)  (0) 2023.08.19
5차 정규화  (0) 2023.08.18
4차 정규화  (0) 2023.08.17
  NoSQL(CAP 이론) [NoSQL] RDBMS 한계를 벗어나, 고용량의 비정형 데이터를 효율적으로 처리할 수 있는 구조와 유연성을 가진 분산DBMS
[CAP이론] 분산시스템이 갖출 수 있는 일관성,가용성, 부분결함허용 3가지 특성 중 2가지만 선택 가능하다는이론
CAP(일관성(Consistency), 가용성(Availability), 단절내성(Partition Tolerance))
BASE(Basically Available, Soft state, Eventually Consistency) 속성
[모델구조] Key-Value 모델, 열 지향 모델, 문서 데이터베이스 모델, 그래프 모델
[모델링패턴] 비정규화, Aggregation, Application Side Join, Atomic Aggregate, Index Table Composite Key Table
Big Data 키컬도그
 
 
토픽 이름 NOSQL이론(CAP이론)
분류 데이터베이스 > DB유형 > NoSQL(CAP 이론)
키워드(암기) 유연성, 확장성, 간단, 비관계형, 조회성능향상, CAP이론(2가지선택), BASE
암기법(해당경우) 유형: Key Value, Column Family, Document, Graph(키컬도그)

 

기출문제

번호 문제 회차
1 11. Column Family 데이터베이스 123.관리.1.11
1 9. NoSQL 117.관리.1.9
2 NoSQL특징, 데이터 모델링 패턴 데이터 모델링 절차에 대하여 설명하시오. 관리114.3.1
3 NoSQL(Not only Structured Query Language) 대해 설명하시오. 컴시응.110.1.9
4 NOSQL CAP Theorem 대하여 설명하시오 관리93.1.8
5 3. NoSQL 특징인 BASE 설명하시오. 모의_2018.01.응용.1
6 3. 다음 제시된 조건에 따라 관계형 E-R모델과 NoSQL 모델을 제시하시오.
-----------------------------------------------------
[주제] 영화평론
[업무내용]
- 영화평론가는 영화를 보고 영화평론을 쓴다.
- 영화평론가는 이름과 블로그 주소를 관리한다.
-----------------------------------------------------
합숙_2019.08-공통- Day5

 

I. RDBMS 복잡도와 용량 한계 극복, NoSQL 개요

. NoSQL(Not Only SQL) 정의

- RDBMS 한계를 벗어나, 고용량의 비정형 데이터를 효율적으로 처리할 수 있는 구조와 유연성을 가진 분산 DBMS

. NoSQL 특징

 

II. NoSQL 데이터 모델 구조(유형)

유형 설명
Document
기반


-데이터를 key/value pair 저장하지만 value 부분에 문서(json, xml 포멧 같은) 저장되는 데이터베이스 유형.
- 관계형 데이터베이스의 경우, 보유한 열과 기타 열을 알아야 하지만, 문서 기반 데이터베이스는 저장소에 JSON object 있어서 별도로 찾아가지 않아도 .


) Amazon SimpleDB, CouchDB, MongoDB, Riak, Lotus Notes
활용) CMS, 블로깅 플랫폼, 실시간 분석 & e-commerce app.
, 복잡한 트랜잭션이나 쿼리가 수행되는 구조에는 사용X
Key-Value
기반

- 데이터가 key/value pairs 저장되는 NoSQL DB 가장 기본적인 데이터베이스 유형
- 많은 양의 Data 부하를 처리할 있도록 설계되었음.
- 저장소에는 Key 고유한 Hash table이며, Value에는 Json, BlOB(binary large objects), string 값이 있음


활용) 컬렉션, 연관배열 등에 사용. schema-less 데이터를 저장. Shopping cart 컨텐츠에 적합
Column
기반







- Google BigTable paper 기반으로 Column에서 작동하는 데이터베이스 유형.
- 컬럼명을 Columns 속성에 데이터로 저장하고, Value 속성에는 해당 컬럼의 값을 저장
- 유연성 극대화
- 단점은 테이블과 조인이 안 됨, 조인이 필요한 데이터는 하나의 테이블에 중복으로 관리하여 처리 속도 향상 (관리 어려움)


) HBase, Cassandra, HBase, Hypertable
활용) data warehouses, business intelligence, CRM, Library card catalogs
Graph
기반

Node: 동그라미(Entities), Edge: relations

- Entities Entities 간의 관계(relations) 저장하는 데이터베이스 유형
- 테이블이 느슨하게 연결된 RDBMS 비교할 , Graph 기반 DB 본질적으로 다중 관계형 DB.
- 모든 Node(Vertex) Edge 고유 식별자가 부여됨.
- Traversing relationship 이미 DB 저장되어 있어서 추가적인 계산이 필요 없기 때문에 검색 속도가 빠름.


) Neo4J, Infinite Graph, OrientDB, FlockDB
활용) 소셜 네트워크, logistics, spatial data

- NoSQL 관계형, 구조적 데이터 저장 위해 Shared Nothing 기반의 분산저장과 수평확장이 가능한 DB

 

III. NoSQL 데이터 모델링 패턴과 데이터 모델링 절차

  1. NoSQL 데이터 모델링

 

. NoSQL 데이터 모델링 절차

 

IV. NoSQL 데이터 모델링 예시

. 관계형 모델

- 영화평 ER 모델로 평론가는 여러 영화를 한줄 영화평을 작성할 있고 영화도 여러 평론가에 의하여 한줄 영화평이 작성될 수 있을 경우 다음과 같이 표현

. NoSQL 모델

- 기본적인 nested 엔티티로 구성할 있고 요구사항에 따라 아래와 같이 테이블을 변경해서 설계 가능

 

[참고] Brewer CAP 이론과 Base 이론 비교

 

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

앙상블 학습/모델  (0) 2023.08.21
빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
5차 정규화  (0) 2023.08.18
4차 정규화  (0) 2023.08.17
BNCF(3.5NF)  (0) 2023.08.16
5차 정규화 결합종속성제거 (Join Dependency)
- 관계중둘로둘로나눌때는원래관계를회복할수없으나셋이상으로분리시킬때원래관계를복원할수있는경우
조인종속성제거
토픽 이름 (출제예상) 5차정규화
분류 DB > 정규화 > 5차정규화
키워드(암기) 조인종속성(Join Dependency), 3 이상 분리
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 연결함정과 4 5 정규화를 설명하시오. 모의_2014.10.관리.4

 

I. Join 종속성 제거, 5 정규화의 개요

. 5 정규화의 정의

- 릴레이션을 둘로 나눌 때는 원래 관계를 회복할 없으나, 이상으로 분해시킬 때는 원래 관계 복원 가능한 특수한 경우의 결합 종속성을 제거하는 과정

- 조인종속성(Join Dependency) 존재하지 않거나(, 릴레이션이 이상 무손실 분해될 없거나), JD 의해 분해되는 Projection들이 원래 릴레이션의 Candidate Key를 유지하는 상황

. 5 정규화의 특징

- 정규화를 통해 제거된 중복 데이터를 고의로 입력하는 작업

- 정규화가 잘 되어 있는 모델의 경우 무결성이 보장되지만 성능 감소

 

II. 5 정규화의 문제점 해결 방안

문제점 설명 해결방안
성능 저하 정규화로 인한 테이블 개수 증가 à Join 연산 증가로 인한 응답속도의 지연 가능성 - 현업에서는 제3정규화/BCNF까지 수행하고 속도 튜닝 등의 필요에 따라 비정규화
(Denormalization) 과정 수행
- 5정규화 수행하고 응답 속도 지연 발생 비정규화 과정 수행
업무 복잡도 증가 특정 시점 정보 표현 위해 이력관리 엔티티 발생 및 업무규칙 수용 난이도가 증가 가능성
공간 비효율 데이터 공간의 비효율적 활용 발생 가능

 

III. 5 정규화의 사례

[테이블 분리]

(원래 관계 복원할 없는 이상현상)

삽입 이상현상: 강정배가 자바를 사용할 있으나 자바 자격증이 없음. 3개가 동시에 발생 안하는 경우 발생

 

. 5 정규화 적용 – 3개 이상으로 분리

 

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

빅데이터 분석 기법(알고리즘)  (0) 2023.08.20
NoSQL(CAP이론)  (0) 2023.08.19
4차 정규화  (0) 2023.08.17
BNCF(3.5NF)  (0) 2023.08.16
3차 정규화  (0) 2023.08.12

+ Recent posts