※ 모든 내용을 정리한 것은 아니며, 중요도가 낮거나, 공부하지 않아도 맞출 수 있는 부분은 정리하지 않았습니다.
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, 빅데이터 연구소 |
출판사 | 영진닷컴 |
'데이터분석과 AI > 빅데이터 분석기사' 카테고리의 다른 글
[빅데이터분석기사 필기] Part02. 빅데이터 탐색-Ch03. 통계기법의 이해 (0) | 2023.04.05 |
---|---|
[빅데이터분석기사 필기] Part02. 빅데이터 탐색-Ch02. 데이터 탐색 (0) | 2023.04.02 |
[빅데이터분석기사 필기] Part02. 빅데이터 탐색-Ch01. 데이터 전처리 (0) | 2023.04.01 |
[빅데이터분석기사 필기] Part01. 빅데이터 분석 기획-Ch02. 데이터 분석 계획 (0) | 2023.03.29 |
[빅데이터분석기사 필기] Part01. 빅데이터 분석 기획-Ch01. 빅데이터의 이해 (4) | 2023.03.26 |
댓글