본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 필기] Part01. 빅데이터 분석 기획-Ch03. 데이터 수집 및 저장 계획

by 우공80 2023. 3. 30.
728x90

※ 모든 내용을 정리한 것은 아니며, 중요도가 낮거나, 공부하지 않아도 맞출 수 있는 부분은 정리하지 않았습니다.

01. 데이터 수집 및 전환 - 중요도 하(★)

1. 데이터 수집

- 여러 장소에 있는 데이터를 한 곳으로 모으는 것

- 데이터 수집 수행 자료: 용어집, 원천 데이터 소유 기관 정보, 서비스 흐름도, 데이터 명세서, 각종 매뉴얼, 비즈니스 모델

- 비즈니스 도메인과 원천 데이터 정보 수집: 비즈니스 모델, 용어집, 프로세스, 도메인 전문가 인터뷰, 원천 데이터의 수집 가능성, 보안, 정확성, 수집 난이도와 비용 (신속성 X)

- 내외부 데이터 수집: 내부 데이터는 실시간 수집, 외부데이터는 일괄 수집, 일정 주기 수집(이걸 이렇게 딱 정할 수 있나..)
- 데이터의 특징 : 단순한 객체로도 가치가 있으며, 다른 객체와의 상호관계 속에서 더 큰 가치를 갖는다.
- 데이터 수집 기술

 (1) 정형 데이터: ETL/FTP/API/DBtoDB/스쿱(Sqoop)

  . Sqoop: SQL + Haddop , 관계형 데이터베이스의 데이터를 하둡 파일시스템으로 수집, 병렬처리, 장애에 강함.

 (2) 비정형 데이터: 크롤링(Crawling), RSS, OpenAPI, 척와(Chukwa), Kafka

  . Scrapy: 웹사이트 크롤링 및 구조화

 (3) 반정형 데이터: 플럼(Flume), 스크라이브(Scribe), 센싱(Sencing), 스트리밍(TCP, UDP, Bluetooth, RFID)

  . Flume: 대용량 로그데이터 수집, 집계, 이동

2. 데이터 유형 및 속성 파악

- 데이터 수집 세부 계획 작성

- 데이터 위치 및 비용: 데이터의 종류, 크기, 보관주기, 수집 주기, 방식, 기술, 데이터 가치를 고려하여 산정

- 수집되는 데이터 형태: HTML, XML, JSON

- 데이터 저장 방식: 파일 시스템, RDBMS, 분산처리 데이터 베이스

- 데이터 적절성 검증: 데이터 누락 점검, 소스 데이터와 비교, 데이터 정확성(신속성X) 점검, 보안 사항 점검, 저작권 점검, 대량 트래픽 발생 여부

3. 데이터 변환

- 데이터 변환은 데이터의 형식을 변형하는 과정이다. (수집방식과 혼동하지 말것)

 (1) 데이터 변환 방식의 종류: 비정형 > 정형 (RDBMS), 분산파일시스템 저장(HDFS), 주제별, 시계열적 저장(데이터 웨어하우스), 키-값 형태로 저장(NoSQL)

 (2) 데이터 변환 수행 자료: 수집 계획서, 변환 솔루션, 소프트웨어 아키텍처 개념도, 각종 매뉴얼

- 데이터 베이스 구조 설계: DBMS 구축 여부 결정, 저장 데이터베이스 결정, DBMS 설치, 테이블 구조 설계

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

- 융합 데이터베이스 설계: 데이터의 유형과 의미에 따라 활용 목적별 융합 DB 설계

- 고려사항: 비정형, 반정형 데이터를 정형화된 데이터베이스로 변환함에 집중, 활용목적을 명확히, 자동화 구축 설계

4. 데이터 비식별화

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

- 식별자(Identifier)와 속성자(Attribute value)가 있다. 식별자는 개인을 특정할 수 있게 하는 정보이며, 속성자는 개인정보이지만, 개인을 특정할 수 없음. 둘 다 원칙적 삭제, 사용목적에 따라 식별자는 비식별화, 속성자는 가명처리 혹은 총계처리 한다. 

 (1) 식별자 예시: 주민등록번호, 여권본호, 운전면허번호, 성명, 생일, 상세 주소, 신용카드 번호 등

 (2) 속성자 예시: 성별, 연령, 국적, 혈액형, 기부금, 학교명 등 

- 비식별 조치 방법: 가명처리, 총계처리, 데이터 삭제, 데이터 범주화, 데이터 마스킹 등 단독, 또는 복합적으로 사용(세부적인 방법 암기 필요)

 (1) 가명처리

  . 휴리스팅 가명화: 식별자에 해당하는 값들을 몇 가지 정해진 규칙으로 대체하거나 사람의 판단에 따라 가공

  . 암호화: 정보 가공 시 일정한 규칙의 알고리즘을 적용하여 암호화

  . 교환방법: 기존의 데이터베이스의 레코드를 사전에 정해진 외부의 변수(항목) 값과 연계하여 교환한다. 

 (2) 총계처리

  . 부분총계: 데이터셋 내 일정 부분 레코드만 총계처리

  . 라운딩: 집계 처리된 값에 대하여 라운딩(올림, 내림, 반올림) 기준을 적용하여 최종 집계

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

 (3) 데이터 삭제

  . 식별자 (부분) 삭제: 원본 데이터에서 식별자를 단순삭제 또는 일부 삭제

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

  . 식별요소 전부삭제: 식별자뿐만 아니라 잠재적으로 개인을 식별할 수 있는 속성자까지 전부 삭제

 (4) 데이터 범주화

  . 감추기: 명확한 값을 숨기기 위하여 데이터의 평균 또는 범주값으로 변환

  . 랜덤 라운딩: 수치 데이터를 임의의 수 기준으로 올림 또는 내림

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

  . 제어 라운딩: 랜덤 라운딩 방법에서 특정 값을 변경할 경우 행과 열의 합이 일치하지 않는 단점 해결을 위해 행과 열이 맞지 않는 것을 제어하여 일치(잘 사용 안 함)

 (5) 데이터 마스킹

  . 임의 잡음 추가: 개인 식별이 가능한 정보에 임의의 숫자 등 잡음을 추가(더하기 또는 곱하기)

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

- 적정성 평가: k-익명성, l-다양성, t-근접성 모델을 활용하여 평가

 (1) k-익명성: 주어진 데이터 집합에서 같은 값이 적어도 k개 이상 존재하도록 함. 동질성 및 배경지식에 의한 공격에 취약

 (2) l-다양성: k-익명성의 단점을 보완하기 위한 모델로, 주어진 데이터 집합에서 함께 비식별되는 레코드들은 적어도 l개의 서로 다른 정보를 가지게 한다. 쏠림공격, 유사성 공격에 취약하다. 

 (3) t-근접성:  t-다양성의 단점을 보완하기 위한 모델로, 값의 의미를 고려, 동질 집합에서 특정 정보의 분포와 전체 집합에서 정보의 분포가 t이하의 차이를 보여야 함. 

5. 데이터 품질 검증

- 데이터 품질 관리: 가치성, 정확성, 유용성 있는 데이터를 확보하고, 신뢰성 있는 데이터를 유지하는데 필요한 관리활동

- 데이터 품질 관리의 중요성: 분석결과의 신뢰성은 데이터의 신뢰성과 직접 연계된다.

- 데이터 품질

 (1) 정형 데이터 품질 기준: 완전성, 유일성, 유효성, 일관성, 정확성(예시를 잘 알아두어야 함), 참조무결성(X)

 (2) 비정형 데이터 품질 기준: 기능성, 신뢰성, 사용성, 효율성, 이식성, 정확성(X)

- 데이터 품질 진단 기법

 (1) 정형 데이터 품질 진단: 데이터 프로파일링 기법을 통해 진단 가능 - 형식적 품질을 보는 것임

  . 메타데이터 수집 및 분석

  . 칼럼 속성 분석

  . 누락 값 분석

  . 값의 허용 범위 분석

  . 허용 값 목록 분석

  . 문자열 패턴 분석

  . 날짜 유형 분석

  . 기타 특수 도메인(특정 번호 유형) 분석

  . 유일 값 분석

  . 구조 분석

  . 데이터 최신화 여부 분석(X) 

  . 운영환경 호환성 분석(X)

 (2) 비정형 데이터 품질 진단: 품질 세부 기준을 정하여 항목별 체크리스트를 작성하여 진단(아래는 예시)

  . 기능성: 정확성, 적절성, 상호운용성, 기능 순응성

  . 신뢰성: 성숙성, 신뢰 순응성

  . 사용성: 이해성, 친밀성, 사용 순응성

  . 효율성: 시간 효율성, 효율 순응성

  . 이식성: 적응성, 공존성, 이식 순응성

- 데이터 품질 검증 수행: 데이터 품질 보증 체계를 수립하여 품질 점검 수행 후 품질 검증 결과서를 작성하고, 품질 점검 과정에서 오류수정이 용이하지 않을 경우 데이터를 재수집한다. 

 

02. 데이터 적재 및 저장 - 중요도 하(★)

1. 데이터 적재

- 데이터 적재 도구: 수집한 데이터는 빅데이터 분석을 위한 저장 시스템에 적재해야 한다.

 (1) 데이터 수집 도구를 이용한 데이터 적재 (로그 수집기)

  . 플루언티드, 플럼, 스크라이브, 로그스태시

 (2) NoSQL DBMS가 제공하는 도구를 이용한 데이터 적재

 (3) 관계형 DBMS의 데이터를 NoSQL DBMS에서 적재

- 데이터 적재 완료 테스트

 (1) 데이터 적재 내용에 따라 체크리스트를 작성

 (2) 데이터 테스트 케이스를 개발

 (3) 체크리스트 검증 및 데이터 테스트 케이스 실행

2. 데이터 저장

- 빅데이터 저장시스템: 데이터 제공 신최성과 가용성을 보장하는 시스템

 (1) 파일 시스템 저장 방식: HDFS, GFS 등

 (2) 데이터베이스 저장 방식: RDBMS or NoSQL, NoSQL 데이터베이스는 대용량 데이터 저장 측면에서 봤을 때, 관계형 데이터 베이스보다 수평적 확장성, 데이터 복제, 간편한 API제공, 일관성 보장 등의 장점이 있다.

- 분산 파일 시스템

 (1) 하둡 분산파일 시스템(HDFS): 대용량 파일을 클러스터에 여러 블록으로 분산하여 저장(블록크기 64MB), 마스터 하나와 여러 개의 슬레이브로 클러스터링 되어 구성

  . 마스터노드(네임노드): 슬레이브를 관리하는 메타데이터와 모니터링 시스템 운영

  . 슬레이브노드(데이터노드): 데이터 블록을 분산처리

※ Input > Splitting > Mapping > Shuffling > Reducing < Final result

 (2) 구글 파일 시스템(GFS)

- NoSQL

 (1) RDBMS보다 유연한 데이터의 저장 및 검색을 위한 메커니즘을 제공

구분 장,단점 특성
RDBMS - 데이터 무결성과 정확성 모장
- 정규화된 테이블과 소규모 트랜잭션
- 확장성에 한계
- 클라우드 분산 환경에 부적합
- UPDATE, DELETE, JOIN연산 가능
- ACID  트랜잭션이 있다.
- 고정 스키마가 있다.
NoSQL - 데이터의 무결성과 정확성을 보장하지 않는다.
- 웹 환경의 다양한 정보를 검색, 저장 가능하다.
- 수정, 삭제를 사용하지 않는다.(입력으로 대체)
- 강한 일관성은 불필요하다.

 (2) CAP이론: 분산 컴퓨팅 환경의 특징을 일관성(Consistency), 가용성(Availability), 지속성(Partition Tolerance) 세 가지로 정의하는데, 어떤 시스템이든 세 가지 특성을 동시에 만족하기 어렵다. 

   ※ RDBMS는 ACID 보장, NoSQL은 CP형 또는 AP형이다.(사실상 P는 포기 못함)

 (3) NoSQL의 기술적 특성: ACID특성 중 일부만 지원하는 대신 성능과 확장성을 높이는 특성을 강조

  . 無스키마, 탄력성, 질의 기능, 캐싱

 (4) NoSQL의 데이터 모델

  . 키-값 데이터 베이스:  아마존 Dynamo, Redis 같은 In-memory  방식

  . 열 기반 데이터 베이스: Cassandra, HBase, HyperTable /연관 데이터 위주로 읽기에 유리/하나의 레코드 수정 시 여러곳을 수정해야 함. 압축 효율이 좋다.

  . 문서기반 데이터 베이스: MongoDB, SimpleDB, CouchDB / 문서마다 다른 스키마, 레코드간의 관계 설명 가능, 개념적으로 관계형 데이터 베이스와 비슷

- 빅데이터 저장시스템 선정을 위한 분석

 (1) 기능성 비교분석: 데이터 모델, 확장성, 트랜잭션 일관성, 질의 지원, 접근성

  . 질의 지원:  MongoDB-SQL과 유사한 문법/CouchDB-뷰 개념/ Redis-풍부한 질의 기능, HBase, HyperTable은 자체 질의 기능은 제공하지 않으나, Hive를 통해 SQL과 유사한 형태의 질의 기능을 사용할 수 있다.

 (2) 분석방식 및 환경

 (3) 분석대상 데이터 유형

 (4) 기존 시스템과의 연계

- 데이터 발생유형 및 특성

 (1) 대용량 실시간 서비스 데이터 개요: 실시간으로 처리해야 하는 데이터를 스트리밍 데이터로 통칭하는데, 대용량의 특성과 무중단 서비스를 보장하는 저장 체계를 구축해야 한다.

 (2) 대용량 실시간 서비스 데이터 저장: 실시간 데이터 처리 시스템인 스파크나 스톰은 내장된 저장소를 제공하지 않기 때문에 외부 빅데이터 저장 시스템과의 연계가 필수적이다. 실시간 서비스를 웹페이지로 제공하는 것이 필요한 환경에서는 Redis와 같은 정형화된 저장소를 이용하기도 한다.

- 안정성과 신뢰성 확보 및 접근성 제어계획 수립

 (1) 빅데이터 저장 시스템 안정성 및 신뢰성 확보

 (2) 접근성 제어계획 수립

※ 참고서적

서명 이기적 빅데이터분석기사 필기2022
저자 나홍석, 배원성, 이건길, 이혜영 공저, 고려사이버대학교AI, 빅데이터 연구소
출판사 영진닷컴

 

728x90

댓글