[목차]
빅데이터 분석 기획 - 데이터 수집 및 저장 계획
< 데이터 수집 및 전환>
1. 데이터 수집
(1) 수집 데이터 대상
유형 | 설명 | 분야 |
내부 데이터 | -조직 (인프라) 내부에 데이터가 위치하며, 데이터 담당자와 수집 주기 및 방법 등을 협의하여 데이터를 수집 - 내부 조직 간 협의를 통한 데이터 수집 - 주로 수집이 용이한 정형 데이터 - 서비스의 수명 주기 관리가 용이 | 서비스 (SCM, ERP, CRM, 포털 등) |
네트워크 (백본, 방화벽, 스위치, IPS 등) | ||
마케팅 (VOC 접수 데이터, 고객 포털 시스템 등) | ||
외부 데이터 | - 조직(인프라) 외부에 데이터가 위치하며, 특정 기관의 담당자 협의 또는 데이터 전문 업체를 통해 데이터 수집 - 공공 데이터의 경우에는 공공 데이터 포털을 통해 Open API 또는 파일을 통해 수집 - 외부 조직과 협의, 데이터 구매, 웹상의 오픈 데이터를 통한 데이터 수집 - 주로 수집이 어려운 비정형 데이터 | 소셜 (SNS, 커뮤니티, 게시판) |
네트워크 (센서 데이터, 장비 간 발생 로그) | ||
공공 (정부 공개 경제, 의료, 지역정보, 공공 정책, 과학, 교육, 기술 등의 공공데이터) |
(2) 데이터 수집 방식 및 기술
1) ETL(Extract Transform Load)
데이터 분석을 위한 데이터를 데이터 저장소인 DW(Data Warehouse) 및 DM (Data Mart)으로 이동시키기 위해 다양한 소스 시스템으로부터 필요한 원본 데이터를 추출하고 변환하여 적재하는 작업 및 기술
- 추출(Extract): 동일 기종 또는 이기종 소스 데이터베이스로부터 데이터를 추출
- 변환(Transform): 조회 또는 분석을 목적으로 적절한 포맷이나 구조로 데이터를 저장하기 위해 데이터 변환
- 적재(Load): 추출 및 변환된 데이터를 최종 대상(DW 또는 DM) 에 저장
2) FTP(File Transfer Protocol)
TCP/IP를 기반으로 서버, 클라이언트 사이에서 파일 송수신을 하기 위한 프로토콜 (TCP프로토콜 / 20, 21번 포트 번호 사용)
3) 스쿱(Sqoop)
커넥터를 사용하여 관계형 데이터베이스 시스템 (RDBMS) 에서 하둡파일 시스템(HDFS)으로 데이터를 수집하거나, 하둡 파일 시스템에서 관계형 데이터베이스 시스템으로 데이터를 보내는 기술
[특징]
- 벌크임포트 지원: 전체 데이터베이스 또는 테이블을 HDFS로 한 번에 전송 가능
- 데이터 전송 병렬화: 시스템 사용률과 성능을 고려한 병렬 데이터 전송
- 직접 입력 제공: RDB에 매핑해서 HBase와 Hive에 직접 임포트 제공
- 프로그래밍 방식의 데이터 인터랙션: 자바 클래스 생성을 통한 데이터 상호작용
[구성요소]
- 스쿱 클라이언트: 스쿱 1에서 지원하며, 클라이언트 기반으로 import와 export 제공
- 스쿱 서버: 스쿱 2에서 지원하며, 클라이언트의 요청을 받아 작업을 수행
- 커넥터: FTP, JDBC, HDFS, 카프카 등과 연결하여 데이터의 이동을 수행하는 기술
- Import: 다른 저장소 (RDBMS)의 데이터를 지정된 저장소(HDFS, Hive, HBase)로 가져오기 기능
- Export: 저장소의 데이터를 다른 저장소(RDBMS)로 내보내기 기능
4) 스크래파이 (Scrapy)
파이썬 언어 기반의 비정형 데이터 수집 기술
[특징]
- 파이썬 기반
- 단순한 스크랩 과정
- 다양한 부가 요소
[주요 기능]
- Spider: 크롤링 대상 웹 사이트 및 웹 페이지의 어떤 부분을 스크래핑 할 것인지를 명시하는 기능
- Selector: 웹 페이지의 특정 HTML 요소를 선택하는 기능 (LXML 기반으로 제작 가능)
- Items: 웹 페이지를 스크랩하여 저장할 때 사용되는 사용자 정의 자료 구조
- Piplelines: 스크래핑 결과물을 아이템 형태로 구성할 때 가공하거나 파일 형태로 저장 제공 가능
- Settings: Spider와 Pipeline을 동작시키기 위한 세부 설정
5) 아파치 카프카(Apache Kafka)
대용량 실시간 로그 처리를 위한 분산 스트리밍 플랫폼
[특징]
- 신뢰성 제공: 메모리 및 파일 큐(Queue) 기반의 채널 지원
- 확장성 제공: Multi Agent 와 Consolidation, Fan Out Flow 방식으로 구성되어 수평 확장이 가능하며, 수집 분산 처리가 가능
[주요 기능]
- 소스: 외부 이벤트 생성, 수집 영역, 1개로 구성되며 복수개의 채널 지정 가능
- 채널: 소스와 싱크간 버퍼 구간, 채널별로 1개 싱크 지정
- 싱크: 채널로부터 수집된 로그 또는 이벤트를 목적지에 전달 및 저장
- 인터프리터: 수집된 로그 또는 이벤트를 가공
6) 플럼(Flume)
많은 양의 로그 데이터를 효율적으로 수집, 집계, 이동하기 위해 이벤트와 에이전트를 활용하는 기술
[특징]
- 발행/구독 모델: 메시키 큐와 유사한 형태의 데이터 큐를 사용 / 풀방식으로 동작하여 부하 감소 및 고성능의 기능 제공
- 고가용성 제공: 클러스터 구성을 통해 내결함성이 있는 고가용성 서비스 제공 가능 / 분산처리 통한 바른 실시간 데이터 처리
- 파일 기반 저장 방식: 데이터를 디스크에 순차적으로 저장
[주요 기능]
세부항목 | 설명 |
소스 | - 이벤트를 전달하는 컨테이너 - 소스, 채널, 싱크로 흐름 제어 - 에이전트 간 데이터 이동이 가능하며, 1개의 에이전트가 다수의 에이전트와 연결 가능 |
채널 | 이벤트를 소스와 싱크로 전달하는 통로 |
싱크 | - 채널로부터 받은 이벤트를 저장, 전달 - 싱크 대상을 다중 선택하거나, 여러 개의 싱크를 그룹으로 관리 |
7) 스크라이브(Scribe)
- 다수의 서버로부터 실시간으로 스트리밍 되는 로그 데이터를 수집하여 분산 시스템에 데이터를 저장하는 대용량 실시간 로그 수집 기술
- 단일 중앙 스크라이브 서버와 다수의 로컬 스크라이브 서버로 구성되어 안정성과 확장성 제공
[특징]
- 실시간 스트리밍 수집: 다수의 서버로부터 실시간으로 스트리밍되는 로그 수집 가능
- 확장: 아파치 Thrift 기반 스크라이브 API를 활용하여 확장 가능
- 데이터 수집 다양성: 클라이언트 서버 타입에 상관없이 로그 수집 가능
- 고가용성: 단일 중앙 스크라이브 서버와 다중 로컬 스크라이브 서버로 구성 (중앙 스크라이브 서버 장애 시, 로컬 스크라이브 서버에 데이터를 저장한 후, 중앙 스크라이브 서버 복구 시 메시지를 전송)
8) 척와 (Chukwa)
분산된 각 서버에서 에이전트를 실행하고, 컬렉터가 에이전트로부터 데이터를 수집하여 하둡 파일 시스템에 저장, 실시간 분석 기능을 제공하는 기술
[특징]
- HDFS 연동: 수집된 로그 파일을 HDFS에 저장하는 기능 지원
- 실시간 분석 제공: 하둡 HDFS를 통한 실시간 분석 지원
- 청크 단위 처리: 어댑터가 데이터를 메타데이터가 포함된 청크 단위로 전송
[구성]
에이전트 (Agent) | - 어댑터를 포함한 에이전트를 통해 데이터 수집 - 컬렉터 페일오버 기능과 체크 포인트를 통해 데이터 유실 방지 기능 제공 |
컬렉터 (Collector) | - 에이전트로부터 수집된 데이터를 주기적으로 HDFS에 저장 - 여러 에이전트로부터 수신된 데이터를 단일 싱크 파일에 저장 |
[데이터 처리]
아카이빙 (Achiving) | - 컬렉터가 저장한 로그 파일에 대해 시간 순서로 동일한 그룹으로 묶는 작업 수행 - 데이터 중복 제거 및 정렬 작업을 수행하고 HDFS Sequence File 포맷으로 저장 |
디먹스 (Demux) | - 로그 데이터를 파싱해서 Key-Value 쌍으로 구성되는 척와 레코드 (Chukwa Record)를 만들고, 하둡 파일 시스템에 파일로 저장 |
9) CEP (Complex Event Processing)
- 여러 이벤트 소스로부터 발생한 이벤트를 실시간으로 추출하여 대응되는 액션을 수행하는 처리 기술
- 실시간 상황에서 의미 있는 이벤트를 파악하고 가능한 빨리 대응 가능
10) EAI (Enterprise Application Intergration)
- 기업에서 운영되는 서로 다른 플랫폼 및 어플리케이션들 간의 정보 전달, 연계, 통합을 가능하게 해주는 연계 기술
- 각 비즈니스 간 통합 및 연계성을 증대시켜 효율성을 높여줄 수 있으며 각 시스템 간의 확장성 증대
11) CDC (Change Data Capture)
- 데이터 백업이나 통합 작업을 할 경우 최근 변경된 데이터들을 대상으로 다른 시스템으로 이동하는 처리 기술
- 실시간 백업과 데이터 통합이 가능하여 24시간 운영해야 하는 업무 시스템에 활용
12) ODS (Operational Data Store)
- 데이터에 대한 추가 작업을 위해 다양한 데이터 원천들로부터 데이터를 추출 및 통합한 데이터베이스
- ODS 내 데이터는 비즈니스 지원을 위해 타 시스템으로 이관되거나, 보고서 생성을 위해 데이터 웨어하우스로 이관
13) 크롤링 (Crawling)
인터넷상에서 제공되는 다양한 웹 사이트로부터 소셜 네트워크 정보, 뉴스, 게시판 등의 웹 문서 및 콘텐츠 수집 기술
14) RSS (Rich Site Summary)
블로그, 뉴스, 쇼핑몰 등의 웹 사이트에 게시된 새로운 글을 공유하기 위해 XML 기반으로 정보를 배포하는 프로토콜을 활용하여 데이터를 수집하는 기술
15) Open API
- 응용 프로그램을 통해 실시간으로 데이터를 수신할 수 있도록 공개된 API를 이용하여 데이터를 수집하는 기술
- 센서 데이터, 공공 데이터 등의 정보 수집 가능
16) 스트리밍
네트워크를 통해 오디오, 비디오 등의 미디어 데이터를 실시간으로 수집하는 기술
17) API 게이트웨이 (Gateway)
시스템의 전방(Front-End)에 위치하여 클라이언트로부터 다양한 서비스를 처리하고, 내부 시스템으로 전달하는 미들웨어
이전글
다음글
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (3-1-3) (0) | 2024.03.12 |
---|---|
[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (3-1-2) (1) | 2024.03.11 |
[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (2-2) (0) | 2024.03.11 |
[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (2-1) (0) | 2024.03.11 |
[빅데이터 분석기사] 1과목 빅데이터 분석 기획 (1-2) (0) | 2024.03.10 |