BigData 플랫폼
Big Data는 많은 정의가 있는데 그 중 공통적으로 나타내는 5가지의 특징이 있음
속도(Velocity)
- 데이터가 쌓이는 속도
- 실시간 스트리밍, 로컬, 클라우드 기반 기술은 데이터를 매우 빠르게 처리할 수 있음
크기(Volume)
- 데이터의 크기
- 볼륨 드라이버
- 데이터 소스의 다양화
- 센서의 해상도 발전
- 확장 가능한 인프라
다양성(Variety)
- 데이터의 다양화
- structured, semi-structured, unstructered data
진실성(Veracity)
- 데이터의 품질, 즉 정확성과 타당성 등을 의미
- 사실에 기반하고 정확성이 높은 데이터
가치(Value)
- 데이터를 이용해 어떠한 가치를 얻을 수 있는지를 의미
빅데이터는 위 5가지 특성을 갖고 있으며, 최근에는 7V, 8V를 포함하는 정의도 다양함
BigData 프로세싱 툴
빅데이터 프로세싱 툴은 대용량의 structured, semi-structured, unstructured data를 이용해 가치를 만들 수 있도록 도와주는 기술
→ Hadoop, Hive, Spark ...
Hadoop
- 빅데이터의 분산 스토리지 및 처리를 제공하는 툴 모음
- java 기반의 오픈소스 프레임워크
- 분산된 저장소와 빅데이터 처리를 위한 컴퓨터 클러스터
- 용어
- Node - 하나의 컴퓨터
- Cluster - 노드의 집합
- 신뢰성, 확장가능성, 비용효과를 가짐
- 데이터를 저장할 때, 별도의 형식을 갖지 않음
- 장점
- 더 나은 실시간 데이터 기반 의사결정을 도움
- 기존에 데이터 웨어하우스에서 사용되지 않았던 새로운 데이터 형식을 통합
- 음성, 비디오, sns 데이터, 클릭스트리밍 등...
- structured, semi-structured, unstructured data를 모두 저장
- 향상된 데이터 접근과 분석
- 사용자들에게 실시간, self-service access 제공
- 데이터 오프로드 및 통합
- 콜드 데이터를 포함한 데이터를 통합하여 비용을 최적화하고 간소화
- HDFS(Hadoop Distributed File System)
- 네트워크를 통해 여러 상용 하드웨어에서 실행되는 빅 데이터를 위한 스토리지 시스템
- 다수의 노드에 파일을 분산 저장하며 확장 가능하고 신뢰성 있는 빅데이터 제공
- 대용량의 파일을 다수의 컴퓨터에 저장하며, 동시 접근이 가능하게 함
- 데이터 손실을 막기 위해 여러 대의 노드에 파일 블록을 복사
- 장점
- 하드웨어 고장시 빠른 회복
- 스트리밍 데이터의 접근 용이
- 대용량 데이터 저장
- 다양한 하드웨어에 대한 이식성
Hive
- 데이터 쿼링과 분석을 위한 데이터 웨어하우스
- hadoop 기반
- HDFS 또는 Apache HBase와 같은 기타 데이터 스토리지 시스템에 직접 저장된 대용량 데이터 세트 파일의 읽기, 쓰기 및 관리를 위한 오픈 소스 데이터 웨어하우스 소프트웨어
- latency가 크기 때문에 빠른 응답 시간을 원할 경우 적절하지 않음
- 읽기 기반
- 쓰기 비중이 높은 트랜잭션 처리에 적절하지 않음
- ETL, 리포팅, 데이터 분석 등 데이터 웨어하우스 테스크에 적합
- SQL을 이용해 쉽게 접근 가능
Spark
- 복잡하고 실시간 데이터 분석을 위해 사용되는 분산 분석 프레임워크
- 다양한 애플리케이션에서 대용량의 데이터를 추출하고 처리하기 위한 다목적 용도의 데이터 처리 엔진