SooBlending

[빅데이터분석기사] 빅분기 필기 4일차 본문

Certificate/빅데이터분석기사

[빅데이터분석기사] 빅분기 필기 4일차

블랜더 2023. 3. 12. 19:23

< 3. 데이터 수집 및 저장 계획 >

( 1. 데이터 수집 및 전환 )

① 데이터 수집

- 데이터 수집 수행 자료

  : 용어집, 원천 데이터 소유 기관 정보, 서비스 흐름도, 데이터 수집 기술 매뉴얼, 업무 매뉴얼, 인프라 구성도 등

 

- 기초 데이터 수집 수행 절차

  : 비즈니스 도메인 정보 수집 → 분석기획서 기반 도메인, 서비스 이해 → 수집 데이터 탐색 → 기초 데이터 수집

 

- 데이터 수집 시스템 구축 절차

  : 수집 데이터 유형 파악 → 수집 기술 결정 → 아키텍처 수립 → 하드웨어 구축 → 실행환경 구축

 

1) 비즈니스 도메인과 원천 데이터 정보 수집

- 비즈니스 도메인 정보

  : 도메인 전문가 인터뷰를 통해 데이터의 종류, 유형, 특징 정보를 습득

 

- 원천 데이터 정보

  : 데이터의 수집 가능성, 데이터의 보안, 데이터 정확성, 수집 난이도, 수집 비용

 

2) 내 외부 데이터 수집

- 데이터의 종류

  o 내부 데이터

  : 서비스 시스템, 네트워크 및 서버 장비, 마케팅 데이터

  o 외부 데이터

  : 소셜 데이터, 특정 기관 데이터, M2M 데이터, LOD

 

- 데이터의 수집 주기

  : 내부 데이터는 실시간으로 수집하여 분석할 수 있도록 함

  : 외부 데이터는 일괄 수집으로 끝날지, 일정 주기로 데이터를 수집할지를 결정하여 수집 데이터 관리 정책을 정함

 

- 데이터의 수집 방법

  : 내부 데이터는 분석에 적합한 정형화된 형식으로 수집되기 때문에 가공에 많은 노력을 하지 않아도 됨

  : 외부 데이터는 분석 목표에 맞는 데이터를 탐색, 수집하고, 분석 목표에 맞게 수집 데이터를 변환해야 함

 

3) 데이터 수집 기술

- 데이터 유형별 데이터 수집 기술

  o 정형 데이터

  : ETL, FTP, API, DBtoDB, 스쿱(Sqoop)

  o 비정형 데이터

  : 크롤링, RSS, Open API, 척와(Chukwa), 카프카(Kafka)

  o 반정형 데이터

  : 플럼(Flume), 스크라이브(Scribe), 센싱(Sencing), 스트리밍

 

- ETL (Extract Transform Load)

  : 하나 이상의 데이터 소스로부터 데이터웨어하우스, 데이터마트, 데이터통합, 데이터이동 등 다양한 시스템 구축에 필요

  : 추출(Extract), 변환(Transform), 적재(Load)

 

- FTP (File Transfer Protocol)

  : 대량의 파일을 네트워크를 통해 주고받을 때 사용되는 파일 전송 서비스

  : 인터넷을 통한 파일 송수신 만을 위해 만들어진 프로토콜이여서 동작 방식이 단순하고 직관적이며 빠름

  : 인터넷 프로토콜인 TCP/IP 위에서 동작

  : 서버와 클라이언트를 먼저 연결하고 이후에 데이터 파일을 전송

  : 데이터 제어 연결을 위해서 21번 포트, 데이터 전송 연결을 위해서 20번 포트 사용

 

- 정형 데이터 수집을 위한 아파치 스쿱(Sqoop) 기술

  : 관계형 데이터 스토어 간에 대량 데이터를 효과적으로 전송하기 위해 구현된 도구

  : 커넥터를 사용하여 MySQL, Oracle, MS SQL 등 RDB의 데이터를 하둡 파일시스템으로 수집

  : RDB에서 가져온 데이터들을 하둡 맵리듀스로 변환하고, 변환된 데이터들을 다시 RDB로 내보낼 수 있음

  : 데이터 가져오기/내보내기 과정을 맵리듀스를 통해 처리하기 때문에 병렬처리가 가능하고 장애에도 강함

  : 스쿱은 모든 적재 과정을 자동화하고 병렬처리 방식으로 작업한다.

 

- 로그/센서 데이터 수집을 위한 아파치 플럼(Flume) 기술

  : 대용량의 로그 데이터를 효과적으로 수집, 집계, 이동시키는 신뢰성 있는 분산 서비스를 제공하는 솔루션

  : 스트리밍 데이터 흐름에 기반을 둔 간단하고 유연한 구조를 가진다.

  : 하나의 에이전트는 소스, 채널, 싱크로 구성된다.

  : 소스는 웹서버, 로그데이터서버 등 원시데이터소스와 연결되며 소스로부터 들어온 데이터는 큐의 구조를 갖는 채널로 들어간 후 싱크를 통해 목표 시스템으로 전달된다.

  : 신뢰성, 확장성, 효율성 의 특징을 가진다.

 

- 웹 및 소셜 데이터 수집을 위한 스크래피(Scrapy) 기술

  : 웹사이트를 크롤링하고 구조화된 데이터를 수집하는 도구

  : API를 이용하여 데이터를 추출할 수 있어, 범용 웹크롤러로 사용될 수 있다.

  : 파이썬 기반의 프레임워크로 스크랩 과정이 단순하며 한 번에 여러 페이지를 불러오기 수월함


② 데이터 유형 및 속성 파악

1) 데이터 수집 세부 계획 작성

  : 데이터 유형, 위치, 크기, 보관방식, 수집주기, 확보비용, 데이터 이관 절차를 조사하여 세부 계획서를 작성

 

2) 데이터 위치 및 비용

  : 수집 데이터의 원천에 따라 내부 데이터와 외부 데이터로 구분하고 여러 요소를 고려하여 비용을 산정

 

3) 수집되는 데이터 형태

- HTML (Hypertext Markup Language)

- XML (eXtensible Markup Language)

- JSON (JavaScript Object Notation)

 

4) 데이터 저장 방식

- 파일 시스템

- 관계형 데이터베이스

- 분산처리 데이터베이스

 

5) 데이터 적절성 검증

- 데이터 누락 점검

- 소스 데이터와 비교

- 데이터의 정확성 점검

- 보안 사항 점검

- 저작권 점검

- 대량 트래픽 발생 여부


③ 데이터 변환

1) 데이터 변환 (Data Transformation)

- 데이터 변환 방식의 종류

  : 비정형 데이터 → 정형 데이터 (관계형 데이터베이스)

  : 수집데이터  분산파일시스템 (HDFS)

  : 주제별, 시계열적으로 저장 (데이터 웨어하우스)

  : 키-값 형태로 저장 (NoSQL)

 

- 데이터 변환 수행 자료

  : 데이터 수집 계획서, 수집 솔루션 매뉴얼, 데이터 변환 솔루션, 하둡 오퍼레이션 매뉴얼, SW 아키텍처 개념도

 

2) 데이터베이스 구조 설계

  : 수집 데이터를 바로 HDFS에 저장하여 데이터를 분석할 수도 있다.

  : 수집 데이터를 루비, 파이썬 등으로 데이터 변환 과정을 거쳐 데이터베이스에 저장하기도 한다.

- DBMS 구축 여부 결정

- 저장 데이터베이스 결정

- DBMS 설치

- 테이블 구조 설계

 

3) 비정형/반정형 데이터의 변환

  : 비정형/반정형 데이터를 구조적 형태로 전환하여 저장

- 수집 데이터의 속성 구조 파악

- 데이터 수집 절차에 대한 수행 코드 정의

- 데이터 저장 프로그램 작성

- 데이터베이스에 저장

 

4) 융합 데이터베이스 설계

- 요구사항 분석

- 데이터 표준화와 모델링 수행

- 개념적 설계 수행

- 논리적 설계 수행

 

5) 고려사항

  : 비정형, 반정형 데이터를 데이터 분석의 용이성을 위해 정형화된 데이터베이스로 변환함에 집중한다.

  : 수집 데이터의 속성 구조를 정확히 파악하여야 툴을 이용한 데이터를 쉽게 저장할 수 있다.

  : 융합 DB 구성은 활용 업무 목적을 정확히 판단하는 것이 중요하다. 쉽게 자동화 구축될 수 있도록 설계


④ 데이터 비식별화

1) 비식별화 개요

  : 개인정보를 식별할 수 있는 값들을 몇 가지 정해진 규칙으로 대체하거나 사람의 판단에 따라 가공하여 개인을 알아볼 수 없도록 하는 조치

  : 정보주체를 알아볼 수 없도록 비식별 조치를 적정하게 한 비식별 정보는 개인 정보가 아닌 것으로 추정되며, 따라서 빅데이터 분석 등에 활용이 가능함

 

- 식별자(Identifier)와 속성자(Attribute value)

  : 식별자는 개인 또는 개인과 관련된 사물에 고유하게 부여된 값 또는 이름을 말함

  : 데이터셋에 포함된 식별자는 원칙적으로 삭제조치하며, 데이터 이용 목적상 필요한 식별자는 비식별 조치 후 활용

  : 속성자는 개인과 관련된 정보로서 다른 정보와 쉽게 결합하는 경우 특정 개인을 알아볼 수도 있는 정보를 말함

  : 데이터셋에 속성자도 데이터 이용 목적과 관련이 없는 경우에는 원칙적으로 삭제하며, 데이터 이용 목적과 관련이 있을 경우 가명처리, 총계처리 등의 기법을 황용하여 비식별 조치함

 

- 비식별 조치 방법

  o 가명처리 (Pseudonymization)

  : 개인정보 중 주요 식별요소를 다른 값으로 대체하는 방법

  : 가명처리 기법만 단독 활용된 경우는 충분한 비식별 조치로 보기 어렵다.

  : 휴리스틱 가명화, 암호화, 교환 방법

  o 총계처리 (Aggregation)

  : 데이터의 총합 값을 보여주고 개별 값을 보여주지 않는 방법

  : 총계처리, 부분총계, 라운딩, 재배열

  o 데이터 삭제 (Data Reduction)

  : 데이터 공유나 개방 목적에 따라 데이터 셋에 구성된 값 중 필요 없는 값 또는 개인 식별에 중요한 값을 삭제하는 방법

  : 식별자 삭제, 식별자 부분삭제, 레코드 삭제, 식별요소 전부삭제

   o 데이터 범주화 (Data Suppression)

  : 데이터의 값을 범주의 값으로 변환하여 값을 숨기는 방법

  : 감추기, 랜덤 라운딩, 범위 방법, 제어 라운딩

   o 데이터 마스킹 (Data Masking)

  : 개인을 식별하는데 기여할 확률이 높은 주요 식별자를 보이지 않도록 처리하는 방법

  : 임의 잡음 추가, 공백과 대체

 

2) 가명처리 (Pseudonymization)

  : (장점) 데이터 변형 또는 변질 수준이 적다.

  : (단점) 대체 값 부여 시에도 식별 가능한 고유 속성이 계속 유지된다.

 

- 휴리스틱 가명화 (Heuristic Pseudonymization)

  : 식별자에 해당하는 값들을 몇 가지 정해진 규칙으로 대체하거나 사람의 판단에 따라 가공하여 개인정보를 숨기는 방법

  : 식별자의 분포를 고려하거나 수집된 자료의 사전 분석을 하지 않고 모든 데이터를 동일한 방법으로 가공하기 때문에 사용자가 쉽게 이해하고 활용 가능하다.

  : 활용할 수 있는 대체 변수에 한계가 있으며, 다른 값으로 대체하는 일정한 규칙이 노출되는 취약점이 있어 규칙 수립 시 개인을 쉽게 식별할 수 없도록 세심한 고려가 필요하다.

 

- 암호화 (Encryption)

  : 정보 가공시 일정한 규칙의 알고리즘을 적용하여 암호화함으로써 개인 정보를 대체하는 방법

  : 통상적으로 다시 복호화가 가능하도록 복호화 키를 가지고 있어서 이에 대한 보안방안도 필요

  : 일방향 암호화를 사용하는 경우는 이론상 복호화가 원천적으로 불가능하다.

  : 일방향 암호화는 식별성을 완전히 제거하는 것으로, 양방향 암호화에 비해 더욱 안전하고 효과적인 비식별 기술에 해당

 

- 교환 방법(Swapping)

  : 기존의 데이터베이스의 레코드를 사전에 정해진 외부의 변수값과 연계하여 교환

 

3) 총계처리 (Aggregation)

  : 통계값을 적용하여 특정 개인을 식별할 수 없도록 한다.

  : 데이터 전체가 유사한 특징을 가진 개인으로 구성되어 있을 경우 그 데이터의 대푯값이 특정 개인의 정보를 그대로 노출시킬 수도 있으므로 주의한다.

  : (장점) 민감한 수치 정보에 비식별 조치가 가능하며, 통계분석용 데이터셋 작성에 유리하다.

  : (단점) 정밀 분석이 어려우며, 집계 수량이 적을 경우 추론에 의한 식별 가능성이 있다.

 

- 부분총계 (Micro Aggregation)

  : 데이터셋 내 일정부분 레코드만 총계 처리하며, 다른 데이터 값에 비하여 오차 범위가 큰 항목을 통계값으로 변환

 

- 라운딩 (Rounding)

  : 집계 처리된 값에 대하여 라운딩 기준을 적용하여 최종 집계 처리하는 방법

  : 일반적으로 세세한 정보보다는 전체 통계정보가 필요한 경우 많이 사용

 

- 재배열 (Rearrangement)

  : 기존 정보 값은 유지하면서 개인이 식별되지 않도록 데이터를 재배열하는 방법

  : 개인의 정보를 타인의 정보와 뒤섞어서 전체 정보에 대한 손상 없이 특정 정보가 해당 개인과 연결되지 않도록 함

 

4) 데이터 삭제 (Data Reduction)

  : (장점) 개인 식별요소의 전부 및 일부 삭제 처리가 가능하다.

  : (단점) 분석의 다양성과 분석 결과의 유효성, 신뢰성이 저하된다.

 

- 식별자 (부분) 삭제

  : 남아 있는 정보 그 자체로도 분석의 유효성을 가져야 함과 동시에 개인을 식별할 수 없어야 하며, 인터넷 등에 공개되어 있는 정보 등과 결합하였을 경우에도 개인을 식별할 수 없어야 한다.

 

- 레코드 삭제

  : 다른 정보와 뚜렷하게 구별되는 레코드 전체를 삭제하는 방법

  : 통계분석에 있어서 전체 평균에 비하여 오차범위를 벗어나는 자료를 제거할 때에도 사용 가능

 

- 식별요소 전부삭제

  : 식별자뿐만 아니라 잠재적으로 개인을 식별할 수 있는 속성자까지 전부 삭제하여 프라이버시 침해 위험을 줄이는 방법

  : 개인정보 유출 가능성은 최대한 줄일 수 있지만, 데이터 활용에 필요한 정보까지 사전에 모두 없어지기 때문에 데이터의 유용성은 낮아지는 문제가 발생한다.

 

5) 데이터 범주화 (Data Suppression)

  : 특정 정보를 해당 그룹의 대푯값 또는 구간값으로 변환하여 개인 식별을 방지한다.

  : (장점) 통계형 데이터 형식이므로 다양한 분석 및 가공 가능하다.

  : (단점) 정확한 분석결과 도출이 어려우며, 데이터 범위 구간이 좁혀질 경우 추론 가능성이 있다.

 

- 감추기

  : 명확한 값을 숨기기 위해 데이터의 평균 또는 범주 값으로 변환하는 방식

 

- 랜덤 라운딩 (Random Rounding)

  : 수치 데이터를 임의의 수 기준으로 올림 또는 내림하는 기법으로 수치 데이터 이외의 경우에도 확장 적용 가능

 

- 범위 방법 (Data Range)

  : 수치 데이터를 임의의 수 기준의 범위로 설정

  : 해당 값의 범위 또는 구간으로 표현

 

- 제어 라운딩 (Controlled Rounding)

  : 랜덤 라운딩 방법에서 어떠한 특정 값을 변경할 경우 행과 열의 합이 일치하지 않는 단점 해결을 위해 행과 열이 맞지 않는 것을 제어하여 일치시키는 기법

 

6) 데이터 마스킹 (Data Masking)

  : 데이터의 전부 또는 일부분을 대체 값으로 변환

  : (장점) 개인 식별 요소를 제거하는 것이 가능하며, 원 데이터 구조에 대한 변형이 적다.

  : (단점) 마스킹을 과도하게 적용할 경우 데이터 필요 목적에 활용하기 어려우며 마스킹 수준이 낮을 경우 추론 가능

 

- 임의 잡음 추가 (Adding Random Noise)

  : 개인 식별이 가능한 정보에 임의의 숫자 잡음을 추가

  : 지정된 평균과 분산의 범위 내에서 잡음이 추가되므로 원 자료의 유용성을 해치치 않으나, 잡음 값은 데이터 값과는 무관하기 때문에, 유효한 데이터로 활용하기 곤란하다.

 

- 공백과 대체

  : 특정 항목의 일부 또는 전부를 공백 또는 대체문자로 바꾸는 기법

 

7) 적정성 평가

- k-익명성 (k-anonymity)

  : 공개된 데이터에 대한 연결공격 등 취약점을 방어하기 위해 제안된 개인정보 보호 모델로 비식별화 조치를 위한 최소의 기준으로 사용된다.

  : 주어진 데이터 집합에서 같은 값이 적어도 k개 이상 존재하도록 하여 쉽게 다른 정보로 결합할 수 없도록 한다.

  : 취약점 (동질성 공격, 배경지식에 의한 공격)

 

- l-다양성

  : k-익명성에 대한 두 가지 공격을 방어하기 위한 모델로, 주어진 데이터 집합에서 함께 비식별되는 레코드들은 적어도 l개의 서로 다른 정보를 가지도록 한다.

  : 취약점 (쏠림 공격, 유사성 공격)

 

- t-근접성

  : l-다양성의 공격을 보완하기 위한 모델

  : 동질 집합에서 특정 정보의 분포와 전체 데이터 집합에서 정보 분포가 t 이하의 차이를 보여야 하며, 각 동질 집합에서 '특정 정보의 분포'가 전체 데이터집합의 분포와 비교하여 너무 특이하지 않도록 한다.

  : 정보의 분포를 조정하여 정보가 특정 값으로 쏠리거나 유사한 값들이 뭉치는 경우를 방지


⑤ 데이터 품질 검증

1) 데이터 품질 관리

- 데이터 품질 관리의 정의

  : 비즈니스 목표에 부합한 데이터 분석을 위해 가치성, 정확성 유용성 있는 데이터를 확보하고, 신뢰성 있는 데이터를 유지하는 데 필요한 관리 활동

 

- 데이터 품질 관리의 중요성

  : 분석 결과의 신뢰성은 분석 데이터의 신뢰성과 직접 연계된다.

  : 분석 결과의 신뢰성 확보, 일원화된 프로세스, 데이터 활용도 향상, 양질의 데이터 확보

 

2) 데이터 품질

- 정형 데이터 품질 기준

  o 완전성 : 필수항목에 누락이 없어야 함

  o 유일성 : 데이터 항목은 유일해야 하며 중복되어서는 안된다.

  o 유효성 : 데이터 항목은 정해진 데이터 유효범위 및 도메인을 충족해야 한다.

  o 일관성 : 데이터가 지켜야할 구조, 값, 표현되는 형태가 일관되게 정의되고 일치해야 한다.

  o 정확성 : 실세계 존재하는 객체의 표현 값이 정확히 반영되어야 한다.

 

- 비정형 데이터 품질 기준

  o 기능성 : 명시된 요구와 내재된 요구를 만족하는 기능을 제공하는 정도

  o 신뢰성 : 규정된 신뢰수준을 유지하거나 사용자로 하여금 오류를 방지할 수 있도록 하는 정도

  o 사용성 : 사용자에 의해 이해되고, 선호될 수 있게 하는 정도

  o 효율성 : 자원의 양에 따라 요구된 성능을 제공하는 정도

  o 이식성 : 다양한 환경과 상황에서 실행될 가능성

 

3) 데이터 품질 진단 기법

- 정형 데이터 품질 진단

  o 데이터 프로파일링 기법

  : 메타데이터 수집 및 분석, 컬럼 속성 분석, 누락 값 분석, 값의 허용 범위분석, 문자열 패턴 분석, 날짜 유형 분석, 기타 특수 도메인 분석, 유일 값 분석, 구조 분석

 

- 비정형 데이터 품질 진단

  : 기능성, 신뢰성, 사용성, 효율성, 이식성

 

4) 데이터 품질 검증 수행

  : 수집 데이터 품질 보증 체계를 수립하여 품질 점검 수행 후 품질검증 결과서를 작성한다.

  : 품질 점검 수행 과정에서 데이터 오류수정이 용이하지 않을 경우 데이터를 재수집 한다.

 

Comments