빅데이터
기술노트
📈 빅데이터 (Big Data)
빅데이터는 기존의 데이터 처리 방식으로는 수집, 저장, 관리, 분석하기 어려울 정도로 매우 크고(Volume), 빠르고(Velocity), 다양한(Variety) 형태를 가진 데이터를 의미합니다. 단순히 데이터의 양이 많은 것을 넘어, 그 특징과 처리 기술까지 포함하는 개념입니다.
🧱 빅데이터의 3V (핵심 특징)
- 크기 (Volume) : 생성되는 데이터의 양이 수 테라바이트(TB)에서 페타바이트(PB) 수준으로 매우 큽니다.
- 속도 (Velocity) : 데이터가 실시간으로 매우 빠르게 생성되고 처리되어야 합니다. (예: 소셜 미디어 피드, IoT 센서 데이터)
- 다양성 (Variety) : 정형(RDBMS), 반정형(XML, JSON), 비정형(텍스트, 이미지, 영상) 등 매우 다양한 형태의 데이터를 포함합니다.
최근에는 정확성(Veracity)과 가치(Value)를 더해 5V라고 부르기도 합니다.
⚙️ 빅데이터 처리 기술
빅데이터를 처리하기 위해서는 분산 컴퓨팅 기술이 필수적입니다. 대표적인 기술 생태계는 하둡(Hadoop)입니다.
- HDFS (Hadoop Distributed File System) : 대용량 파일을 여러 서버에 분산하여 저장하는 파일 시스템입니다.
- 맵리듀스 (MapReduce) : 분산 저장된 대용량 데이터를 병렬로 처리하는 프로그래밍 모델입니다. 데이터를 '분류(Map)'하고 '취합(Reduce)'하는 과정을 통해 처리합니다.
- 스파크 (Spark) : 맵리듀스보다 더 빠르고 유연한 인메모리 기반의 분산 처리 엔진으로, 현재 빅데이터 처리의 표준 기술로 자리 잡았습니다.
- 데이터 수집 : `Kafka`, `Flume` 등
- 데이터베이스 : `HBase`, `Cassandra` 등 NoSQL DB
💡 기술사 핵심 Point
- 빅데이터 기술의 목표는 거대한 데이터 속에서 의미 있는 통찰(Insight)과 가치를 발견하는 것입니다.
- 모든 데이터를 빅데이터라고 부르지는 않습니다. 기존의 방식으로 처리하기 어려울 때 비로소 빅데이터 기술이 필요합니다.
- 데이터 엔지니어는 하둡, 스파크, 카프카 등 다양한 빅데이터 플랫폼을 사용하여, 데이터를 수집, 저장, 처리하는 파이프라인을 구축하는 역할을 합니다.
- 데이터 분석가와 과학자는 이렇게 처리된 데이터를 바탕으로 통계 분석, 머신러닝 모델링 등을 수행하여 비즈니스 문제를 해결합니다.