1. 데이터 수집
가. 데이터 수집 기법
- 빅데이터 수집 기법
구분 | 특징 | 대상 |
Log Aggregator | 웹 서버 로그, 웹로그, 트랜잭션 로그, DB로그 등 각종 서비스 로그 수집 오픈 소스 기술 | 로그 데이터 수집 |
크롤링 | SNS, 웹 뉴스 정보 등 인터넷상에서 제공되는 웹 문서에 대한 정보 수집 | 웹 문서 수집 |
스크래핑 | 인터넷 웹 사이트에 노출되는 내용 중 특정 정보만을 추출하고, 추출과 관련된 모든 동작을 자동 수행하는 기술 | 웹 데이터 수집 |
FTP | TCP/IP 프로토콜을 이용하여 인터넷 서버로부터 각종 파일 송수신 | 파일 수집 |
Open API | 서비스, 정보, 데이터 등 오픈된 정보로부터 API를 통해 데이터를 수집하는 기술 | 실시간 데이터 수집 |
RSS | 웹상의 최신 정보를 공유하기 위한 XML 기반의 콘텐츠 배급 프로토콜 | Contents 수집 |
Streaming | 인터넷에서 음성, 오디오, 비디오 등 멀티미디어 데이터를 실시간으로 송/수신하는 기술 | 실시간 데이터 수집 |
RDB Aggregator | 관계형 데이터베이스에서 정형 데이터를 수집하여 HDFS나 NoSQL에 저장하는 오픈 기술 | RDB기반 데이터 수집 |
- 정형 데이터 수집 기법
특징 | 주요 특징 |
ETL | - Extract Transform Load의 약어 - 데이터 원천으로부터 수집한 데이터를 데이터 웨어하우스와 데이터 마트로 원 데이터를 이동시키기 위해 사용하는 추출, 변환, 적재 프로세스 및 기술을 의미 |
FTP | - File Transfer Protocol의 약어 - TCP/IP프로토콜을 이용하여 서버와 클라이언트 사이에 파일 전송 |
API | - Application Programming Interface의 약어 - 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 - 시스템 간 연동을 통해 실시간으로 데이터를 수신할 수 있는 기능을 제공 |
Sqoop | - 구조화된 관계형 데이터베이스와 아파치 하둡 간의 대용량 데이터들을 효율적으로 변환해 주는 CLI app. - 장애 허용 능력 및 병렬 처리 가 |
- 반정형 데이터 수집 기법
종류 | 주요 특징 |
Scribe | - 페이스북에서 개발한 실시간 스트리밍 로그 데이터 수집 애플리케이션 - 분산 서버에서 발생한 데이터를 중앙 집중 서버로 전송하는 방식 |
Flume | - 분산환경에서 대량의 로그 데이터를 효과적으로 수집하고 합친 후 효율적으로 전송할 수 있는 서비스 - 로그 유실에 대한 신뢰 수준을 상황에 맞게 변경하여 신뢰성 있는 데이터 수집 수행 |
Chukwa | - 분산된 노드들의 다양한 로그 데이터를 수집하고 수집된 데이터를 HDFS에 저장하고 분석하기 위한 시스템 - 주요 수집 로그는 모니터링 록, 하둡 로그, 응용프로그램 로그 등 |
- 비정형 데이터 수집 기법
종류 | 주요 특징 |
스크래프(Scrapy) | - Python으로 작성된 오픈소스 웹 크롤링 프레임워크 - API를 이용하여 데이터를 추출하거나 범용 웹 크롤러로 사용 가능 |
아파치 카프카 | - 실시간 데이터 피드를 관리하기 위해 높은 처리량, 낮은 지연시간을 지닌 플랫폼 제공 - 분산 트랜젝션 로그로 구성, Scale-Out 방식의 수평 확장 가능 |
웹 로봇 | - 사람과의 상호작용 없이 연속된 웹 트랜잭션들을 자동으로 수행하는 소프트웨어 프로그램 |
웹 크롤러 | - 웹 페이지의 특정 형태 정보 수집에 이용되거나 웹사이트 자동 유지 관리 작업에 이용되기도 함 - www를 탐색하는 컴퓨터 프로그램. 웹을 돌아다니며 만나는 모든 문서 정보를 수집 |
나. 데이터 소스에 따른 수집 방법
데이터 원천 | 개념 | 대표적 수집 방법 |
내부 데이터 | 자체적으로 보유한 내부 파일 시스템, rRDBMS, 센서 등에 접근하여 수집 | ETL 방식 |
외부 데이터 | 인터넷으로 연결된 외부 데이터 수집 | 크롤링 |
다. 빅데이터 수집 시스템의 요건
- 확장성, 안정성, 유연성, 실시간성
2. 데이터 유형 및 속성 파악
가. 정성적 데이터와 정량적 데이터의 수집 방법
유형 | 수집방법 |
정성적 데이터 | FGI (Focus Group Interview) |
심층 면접 (In-depth Interview) |
|
델파이조사 (Delphi method) |
|
관찰조사 / 동반쇼핑 | |
정량적 데이터 | 면접조사 |
전화/우편/Fax/E-Mail 조사 | |
온라인 조사 | |
CLT 조사 (Central Location Test) |
|
갱 서베이 |
나. 구조 관점의 데이터 유형
유형 | 특성 | 종류 | 수집기술 |
정형 데이터 | - 정형화된 스키마를 가짐 - 일관성 있는 값과 형식을 가짐 |
관계형 데이터베이스, 스프레드 시트, 파일 통계 | ETL, FTP, Open API, Sqoop |
반정형 데이터 | - 정형화된 스키마를 가짐 - 값과 형식에서 일관성이 없음 - 메타데이터 포함 |
XML, HTML, 웹 로그, 알람, 시스템 로그, JSON, RSS, 센서 데이터 | Crawling, RSS, FTP, Open API, Flume, Scribe, Chukwa |
비정형 데이터 | - 스키마가 없음 | 소셜 미디어, NoSQL, 웹 게시판, 텍스트, 이미지, 오디오, 비디오 | 이진 파일형태, 스크립트 파일 형태 |
3. 데이터 변화
가. 데이터 변환 기술
기술 | 내용 |
평활화 (Smoothing) |
- 데이터로부터 잡음을 제거하기 위해 데이터 추세에서 벗어나는 값을 변환 - 구간화, 군집화 방법을 이용 |
집계 (Aggregation) |
- 다양한 차원의 방법으로 데이터를 요약 - 여러 개의 표본을 하나의 표본으로 줄이는 방법 |
일반화 (Generalization) |
- 특정 구간에 분포하는 값으로 스케일을 변화 - 특정 데이터가 아닌 범용 데이터에 적합한 모델을 만듦 |
정규화 (Normalization) |
- 데이터가 정해진 구간내에 포함되도록 함 - 최소-최대 정규화, z-스코어 정규화, 소수 스케일링 등 통계기법 적용 |
속성/생성 (Attribute/Feature Construction) |
- 데이터 통합을 위해 새로운 속성 및 특징 만듦 - 주어진 여러 데이터 분포를 대표할 수 있는 새로운 속성 및 특징 활용 |
나. ETL프로세스
- ETL
- 데이터의 이동 및 변환 절차와 관련된 업계 표준용어, 서로 다른 시스템 간의 데이터 공유를 위한 가장 일반적인 형태의 하나이며 기존의 레거시 시스템 환경으로부터 빅데이터를 추출하여 비즈니스 데이터로 변환할 수 있도록 지원
- 다양한 데이터 원천으로부터 추출 및 변환된 데이터를 운영데이터 스토어, 데이터 웨어하우스, 데이터 마트 등에 적재하는 작업에서 핵심적인 역할 수행
- 데이터의 이동 및 변환이 주 목적이며 데이터 통합, 데이터 이동, 마스터 데이터 관리 등의 작업을 위해서도 활용
- 다양한 시스템들 간 대용량의 데이터 교환이 필요하거나 복잡한 비즈니스 룰이 적용되는 데이터 교환이 필요한 경우 활용
- Extraction(추출): 하나 또는 그 이상의 데이터 원천으로부터 데이터 획득
- Transformation(변환): 데이터 클렌징, 표준화, 형식변환, 통합 등다수 애플리케이션에 내장된 비즈니스 룰의 적용
- Load(적재): 변환된 데이터를 특정 목표 시스템에 적재
- ETL의 기능
- 논리적 데이터 변환
- 도메인 검증
- DBMS간 변환
- 데이터의 요약
- 데이터 키 값으로 시간 값의 추가
- 데이터 키 값의 재구성
- 레코드 통합
- 불필요한 데이터 삭제 및 중복 데이터 삭제
4. 데이터 비식별화
가. 개념
- 데이터 내에 개인을 식별할 수 있는 정보가 있는 경우 이의 일부 또는 전부를 삭제하거나 혹은 일부를 속성 정보로 대체하여 처리, 개인을 식별하기 어렵게 만듦
- '개인정보 비식별 조치 가이드라인'을 만들면서 시작
나. 비식별화 기술
- 식별자 처리 방지 기술
처리기법 | 내용 | 예시 | 세부기술 |
가명처리 | 개인 식별이 가능한 데이터에 대하여 직접적으로 식별 할 수 없는 다른 값으로 대체 | 홍길동, 35세 =>임꺽정, 30대 |
휴리스틱 가명화, 암호화, 교환 방법 |
총계처리 | 개인정보에 대해 통계값을 적용하여 특정 개인을 판단할 수 없도록 | 임꺽정 180CM, 홍길동 170CM => 학생 키 합 350CM,평균 175CM |
총계처리, 부분총계, 라운딩, 재배열 |
데이터 삭제 | 개인정보 식별이 가능한 특정 데이터 삭제 | 주민등록번호 901231-1234567 => 90년대생 남자 |
식별자 삭제, 식별자 부분삭제, 레코드 삭제, 식별요소 전부삭제 |
데이터 범주화 | 단일 식별 정보를 해당 그룹의 대표값으로 변환 하거나 구간값으로 변환하여 식별 방지 | 홍길동 35세 =>홍씨, 30~40대 |
감추기, 랜덤 라운딩, 범위 방법, 제어 라운딩 |
데이터 마스킹 | 개인 식별 정보에 대하여 대체값으로 변환 | 홍길동 35세 =>서울 거주, OO대학 재학 |
임의 잡음 추가, 공백과 대 |
- 세부기술 특징
세부기술 | 내용 및 특징 |
휴리스틱 가명화 | 식별자에 해당하는 값들을 정해진 규칙으로 대체 혹은 가공 |
암호화 | 정보 가공 시 알고리즘을 적용해 암호화 |
교환 방법 | 기존 DB레코드를 사전에 정해진 외부 변수의 값과 교환 |
총계처리 | 데이터 전체 또는 부분을 집계 |
부분총계 | 데이터셋 내 일정부분 레코드만 총계처리 |
라운딩 | 집계 처리된 값에 대해 라운딩 기준을 적용해 최종 집계처리 |
재배열 | 기존 정보값을 유지하면서 갱니이 식별되지 않도록 데이터를 재배열 |
식별자 삭제 | 식별자를 단순 삭제 |
식별자 부분삭제 | 식별자 일부를 삭제 |
레코드 삭제 | 다른 정보와 뚜렷하게 구별되는 레코드 전체를 삭제 |
식별요소 전부삭제 | 잠재적으로 개인을 식별할 수 있는 속성자까지 삭 |
감추기 | 데이터의 평균 또는 범주값으로 변환 |
범위 방법 | 수치데이터를 임의의 수 기준의 범위로 설정 |
랜덤 라운딩 | 데이터를 임의의 수를 기준으로 올림 또는 내림 |
제어 라운딩 | 랜덤 라운딩에서 행과 열을 일치 |
임의 잡음 추가 | 임의의 숫자 등 잡음을 추가 |
공백과 대체 | 특정항목의 일부 또는 전부를 공백 혹은 대체문자로 치 |
5. 데이터 품질 검증
가. 데이터 품질
- 데이터가 조직 구성원, 고객 등 데이터 이용자의 만족을 충족시킬 수 있는 수준
- 고품질 데이터의 특징
- 관련성: 데이터 이용자의 요구사항을 충족하는 정도
- 정확성: 측정하고자 하는 모집단의 특성이나 크기를 얼마나 정확하게 측정했는지를 평가
- 시의성/정시성: 통계의 현실 반영도와 예고된 공표 시기를 정확히 준수 하는지를 평가
- 비교성/일관성: 시간 또는 공간이 달라도 통계가 동일한 기준으로 집계되어 서로 비교가 가능한지, 동일한 현상에 대해 서로 다른 기초 자료나 작성주기 등에 의해 작성된 통계자료들이 얼마나 유사한 결과를 보이는지 평가
- 접근성/명확성: 이용자가 통계자료에 얼마나 쉽게 접근할 수 있는지, 통계가 어떻게 만들어졌는지에 대한 정보제공 수준
나. 데이터의 품질 기준
- 정형 데이터의 품질 기준
품질 기준 | 내용 |
완전성 (Completeness) |
필수항목에 누락이 없어야 함 |
유일성 (Uniqueness) |
데이터 항목은 유일해야하며 중복되어서는 안 됨 |
유효성 (Validity) |
데이터 항목은 정해진 데이터 유효범위 및 도메인을 충족해야 함 |
일관성 (Consistency) |
데이터가 지켜야 할 구조, 값, 표현되는 형태가 일관되게 정의되고, 서로 일치해야 함 |
정확성 (Accuracy) |
실세계에 존재하는 객체의 표현 값이 정확히 반영 되어야 함 |
- 비정형 데이터의 품질 기준
품질 기준 | 내용 |
신뢰성 (Reliability) |
규정된 조건 내에세 신뢰수준을 유지하고 사용자 오류를 방지할 수 있어야 함 |
기능성 (Functionality) |
특정 조건에서 사용 시 명시된 요구 및 내재된 요구사항을 만족시킬 수 있는 기능을 제공 |
효율성 (Efficiency) |
규정된 조건 내에서 사용되는 자원의 양에 대비해 요구된 적정한 성능을 제공해야 함 |
사용성 (Usability) |
데이터를 사용 및 분석하게 될 이용자에 의해 충분히 이해될 수 있고 선호될 수 있어야 |
이식성 (Portability) |
다양한 환경 및 상황에서 해당 데이터들이 실행할 수 있어야 함 |
6. 데이터 저장
가. 빅데이터 저장 기술
- 대용량의 데이터 저장을 위한 관련 기술은 분산 파일 시스템, NoSQL, 병렬DBMS, 클라우드 파일 저장시스템, 네트워크 구성 저장 시스템 등이 있다.
나. 분산 파일 시스템
- 네트워크를 통해 물리적으로 다른 위치에 있는 여러 컴퓨터에 자료를 분산 저장하여 마치 로컬 시스템에서 사용하는 것처럼 동작하게 하는 시스템
- 종류
- 하둡: 분산 컴퓨팅 환경을 지원하는 가장 대표적인 도구
- 하둡 분산파일 시스템(HDFS): 클라우드 컴퓨팅 환경을 구축하기 위해 이용하며 대용량 데이터의 분산 저장 기능을 제공
- 구글 파일 시스템(GFS): Google File System으로 구글의 대규모 클러스터 서비스 플랫폼의 기반이 되는 시스템
다. NoSQL
- 기존 RDBMS의 한계를 느끼고 새로 등장한ㄷ ㅔ이터 저장 기술
- 키-값을 이용하여 간단하게 데이터를 저장
- 대표적 방법으로 Cassandra, HBase
라. HBase
- 구글 Bigtable을 기반으로 하여 자바로 개발한 비관계형 데이터베이스
- 스키마 지정 및 변경 없이 데이터 저장 가능, 하둡의 분산파일 시스템에서 동작하여 확장성이 보장되는 시스템
- 대용량 데이터를 안정적으로 다루는데 효과적이며 전체 데이터에 대한 일관성을 보장
- HDFS, MapReduce와 함께 사용하기 최적화
마. 데이터 웨어하우스와 데이터 레이크
- 데이터 웨어하우스
- 정의
- 사용자의 의사 결정 지원을 위해 데이터를 분석 가능한 형태로 저장한 중앙 저장소로, 정보와 창고의 합성어
- 기존 정보를 활용해 더 나은 정보를 제공하고, 데이터 품질을 향상시키며, 조직 변화를 지원하고 비용과 자원관리의 효율성을 향상시키는 것이 목적
- 특징
- 통합성: 기존 운영시스템이 부서 혹은 기관별로 따로 데이터를 중복 관리하였떤 것에 비해, 데이터 웨어하우스는 다양한 데이터 원천으로부터 데이터를 모두 통합하여 관리
- 주제지향성: 기능 및 업무 중심이 아닌 주제를 중심으로 구성, 최종 사용자가 이해하기가 쉬움
- 시계열성: 시간에 따른 변경 이력 데이터를 보유
- 비휘발성: 데이터 웨어하우스에 저장되는 데이터는 삭제 및 변경되지 않고, 일단 적재가 완료되면 읽기 전용 형태의 스냅 샷 데이터로 존재
- 정의
- 데이터 레이크
- 개념
- 빅데이터를 효율적으로 분석하고 사용하기 위해 다양한 영역의 원 데이터를 한 곳에 모아서 관리하고자 하는 목적에서 등장
- 수 많은 정보 속에서 의미 있는 내용을 찾기 위해 방식에 상관없이 데이터를 저장하는 시스템
- 특징
- ETL과정이 필요 없음(형식에 상관없이 데이터를 저장하기 때문)
- 유연성
- 확장성
- 개념
바. 데이터 거버넌스
- 개요
- 전사 차원의 모든 데이터에 대해 정책 및 지침, 표준화, 운영 조직 및 책임 등의 표준화된 관리체계를 수립하고 운영을 위한 프레임워크 및 저장소를 구축하는 것
- 마스터 데이터, 메타 데이터, 데이터 사전은 데이터 거버넌스의 중요 관리 대상
- 거버넌스 체계를 구축함으로써 데이터의 가용성, 유용성, 통합성, 보안성, 안전성 확보
- 구성요소
- 원칙
- 데이터를 유지, 관리하기 위한 지침 및 가이드
- 보안, 품질 기준, 변경관리
- 조직
- 데이터를 관리할 조직의 역할과 책임
- 데이터 관리자, 데이터베이스 관리자, 데이터 아키텍트
- 프로세스
- 데이터 관리를 위한 활동과 체계
- 작업 절차, 모니터링 활동, 측정 활동
- 원칙
- 체계
- 데이터 표준화
- 데이터 관리 체계
- 표준화 활동
- 데이터 저장소 관리
'빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사 필기] 2-3 통계기법의 이해 (0) | 2024.08.11 |
---|---|
[빅데이터분석기사 필기] 2-2 데이터 탐색 (0) | 2024.08.11 |
[빅데이터분석기사 필기] 2-1 데이터 전처리 (0) | 2024.08.10 |
[빅데이터분석기사 필기] 1-2 데이터 분석 계획 (0) | 2024.08.04 |
[빅데이터분석기사 필기] 1-1 빅데이터의 이해 (0) | 2024.08.03 |