1. 빅데이터란?
빅데이터
- 데이터 규모: 기존 DB 관리도구의 수집, 저장, 관리, 분석 역량을 넘어서는 데이터
- 업무 수행 방식: 다양한 종류의 데규모 데이터로부터 가치 추출 ➡️ 데이터의 빠른 수집, 발굴, 분석을 지원하도록 고안된 기술 및 아키텍처
특징
- Volume: 저장장치 가격 ⬇️ && 네트워크 속도 ⬆️ ➡️ (수 페타바이트의 데이터)/일 생성
- Variety: 정형, 반정형, 비정형 형태
- Velocity: 정보 유통 속도 ⬆️⬆️, 데이터 처리 속도 ⬆️
+) Value: 유의미한 가치, 지표를 사용하는 사람의 의사 결정에 도움
+) Veracity: 데이터의 신뢰성, 정확성 ⬆️
1.1 데이터의 형태
수집 형태
- 정형: 칼럼 단위의 명확한 구분자, 형태 존재
e.g., 데이터베이스, CSV, 엑셀
- 반정형: 메타데이터/스키마 존재
e.g., XML, HTML, JSON
- 비정형: 형태 존재 X
e.g., 동영상, SNS 메시지, 사진, 오디오, 음성 데이터
수집 시간
- 배치: 일정한 주기로 수집, 처리
- 실시간: 사용자의 입력과 동시에 처리
e.g., 실시간 검색어, 실시간 차트
1.2 분석 형태
- 대화형 분석: 사용자가 입력한 쿼리 ➡️ 바로 반응하여 결과 반환
- 배치 분석: 저장된 데이터 일정한 주기로 분석
- 실시간 분석: 사용자의 여러 입력 ➡️ 실시간으로 저장, 분석
- 기계 학습: 기계 학습 알고리즘 ➡️ 예측 모델 생성
2. 빅데이터 처리 단계
2.1. 수집
데이터 원천
- 내부 데이터: e.g., 시스템 로그, DB 데이터
- 외부 데이터: e.g., 동영상, 오디오 정보, 웹 크롤링 데이터, SNS 데이터
수집 방식
- 기존 데이터 수집: e.g., HTTP 웹서비스, RDB, FTP, JMS, Text
- 새로운 방식의 데이터 수집
- SNS 데이터: e.g., Text, 이미지, 동영상
- 전화 음성, GPS
- IoT 디바이스 센서
- 공간 데이터 + 인구 데이터
if 데이터 개수 > 수백, 수천 개 ➡️ 관리 어려움 ➡️ 트랙잭션 처리 ➡️ 데이터 유실, 전송 여부 확인
데이터 수집 기술(3. 빅데이터 에코시스템 참고)
- Flume
- Kafka
- Sqoop
- Nifi
- Flink
- Splunk
- Logstash
- Fluentd
2.2 정제
: 데이터 ➡️ 분석 가능 형태로 정리
정제 단계
- Identification: 다양한 데이터 포맷/비정형 데이터 ➡️ 기본 포맷 식별
- Filtration: 정확하지 않은 데이터 제외
- Validation: 데이터 유효성 검증
- Noise Reduction: 오류 데이터 제거, 분석 불가능 데이터 제외
- Transformation: 데이터 ➡️ 분석 가능한 형태
- Compression: 변환 데이터 압축 ➡️ 저장장치 효율 ⬆️
- Integration: 처리 완료 데이터 적재
(RDF 추출 데이터, CSV 형태 데이터 정제 단계 X)
2.3 적재
: 데이터 ➡️ 안전하게 보관, 분석 가능 환경으로
적재 환경: NoSQL, RDB, 클라우드 스토리지, HDFS
2.4 분석
: 적재 데이터 ➡️ 의사 결정 데이터 제공 리포트 생성
2.5 시각화
3. 빅데이터 에코 시스템
: 빅데이터 수집, 정제, 적재, 분석, 시각화 단계를 거치는 기술들
- 수집 기술
- Flume: 서버 로그 수집 도구, 각 서버에 에이전트 설치 ➡️ 에이전트로부터 데이터를 전달 받는 콜렉터
- Kafka: 분산 메시징 시스템, 대용량 실시간 로그 처리 특화
- NiFi: 시스템 간 데이터 전달 효율적 처리, 관리, 모니터링
- Sqoop: RDBMS & HDFS 간 대용량 데이터 전송 솔루션
- scribe: 로그 수집 시스템, 로그 ➡️ DB/메시지 큐
- Fluentd: 로그 수집 시스템
- 작업 관리 기술
- Airflow: 워크플로우 플랫폼(데이터 흐름의 시각화, 스케쥴링, 모니터링 가능)
- Azkaban: 워크플로우 관리 도구
- Oozie: 하둡 작업 관리 워크 플로우 및 코디네이터
- 데이터 직렬화: 여러 언어 간의 내부 객체 공유 처리
- Avro: 원격 프로시저 호출 및 데이터 직렬화 프레임워크
- Thrift: RPC 프레임워크(서로 다른 언어로 개발된 모듈의 통합 지원)
- Protocol Buffers: RPC 프레임워크(구조화된 데이터 직렬화)
저장
- HDFS: 범용 컴퓨터 클러스터로 구성 ➡️ 대용량의 파일 블록단위로 분할 ➡️ 여러 서버에 복제하여 저장
- S3: 인터넷용 저장소
- NoSQL
- HBase: HDFS 기반 칼럼 기반 NoSQL 데이터베이스
데이터 처리: 하둡의 맵리듀스 기반
- MapReduce: HDFS상에서 동작하는 가장 기본적인 분석 기술
- Spark: 인메모리 기반 범용 데이터 처리 플랫폼
- Impala: 하둡 기반 분산 쿼리 엔진
- Presto: 대화형 질의 처리 분산 쿼리 엔진
- Hive: 하둡 기반 데이터웨어하우징용 솔루션
- Hcatalog: Pig, MapReduce, Spark ➡️ Hive 메타스토어 테이블 액세스 도구
클러스터 관리: 자원의 효율적인 사용
- YARN: 클러스터 자원(데이터 처리 작업 실행) && 스케쥴링을 위한 프레임워크
- Mesos: 클라우드 인프라스트럭처 및 컴퓨팅 엔진의 다양한 자원 통합적 관리
분산 서버 관리
- Zookeeper: 분산 환경에서 서버 간의 상호 조정이 필요한 다양한 서비스 제공
시각화
- Zeppelin: 웹 기반 Workspace에 다양한 솔류선의 API, Query 등 실행
- Hue: 하둡 & 하둡 에코시스템의 지원을 위한 웹 인터페이스 제공
보안
- Ranger: 하둡 클러스터 각 모듈 보안 정책 관리
데이터 거버넌스
- Atlas: 조직이 보안/컴플라이언스 요구사항 준수하도록 지원
- Amundsen: 기업에 존재하는 데이터 검색, 추천
'Data > Hadoop' 카테고리의 다른 글
[하둡, 하이브로 시작하기] 2. 하둡(hadoop) (~2.3 맵리듀스) (1) | 2024.06.30 |
---|---|
[하둡, 하이브로 시작하기] 2. 하둡(hadoop) (~2.2 HDFS) (0) | 2024.06.03 |
[하둡 완벽 가이드] Chapter 6 맵리듀스 프로그래밍 (0) | 2024.05.08 |
[하둡 완벽 가이드] Chapter 4 하둡 I/O (0) | 2024.05.05 |
[하둡] 하둡 설치하기 (0) | 2024.04.07 |