빅데이터 기술 요약

Hadoop 생태계의 대략적 개요를 정리해봤습니다.

Hadoop

Hadoop은 HDFS(Hadoop Distributed File System) 및 Map-Reduce를 활용한 빅데이터 저장 및 처리 플랫폼입니다. 분산 환경에서 대규모 데이터를 효율적으로 관리하고 처리할 수 있도록 설계되었습니다.

HDFS (Hadoop Distributed File System)

  • 기가바이트에서 페타바이트 단위의 거대한 용량의 데이터를 저장하고 프로세싱할 수 있는 분산 저장소입니다.
  • RDBMS와 비교해 훨씬 큰 용량의 데이터를 다룰 수 있습니다.
  • 복제 및 분산을 통해 큰 용량의 데이터를 효율적으로 관리합니다.
  • Hive, Spark 등 도구로 데이터를 프로세싱할 수 있습니다.

Hadoop 생태계의 여러 프레임워크들

  • HDFS: 분산 저장소
  • Hive: SQL 기반 데이터 웨어하우스
  • HBase: 분산 NoSQL 데이터베이스

Spark

Spark는 빅데이터 처리를 위한 클러스터 컴퓨팅 시스템입니다. Map-Reduce보다 빠르며, 실시간 데이터 처리 및 AI 학습에 적합합니다. 다양한 데이터 처리 작업을 지원합니다.

주요 특징

  • 인메모리에서 빅데이터를 프로세싱합니다.
  • 배치 데이터와 스트리밍 데이터를 모두 처리할 수 있습니다.
  • SQL 구문, 머신러닝 기능을 제공하여 다양한 데이터 처리가 가능합니다.
  • 공식 지원 언어: Python, SQL, Scala, Java, R

추천 도구

  • pySpark
  • Jupyter Notebook

Kafka

Kafka는 대규모 메시지 스트리밍을 위한 분산 시스템입니다. 실시간 데이터 피드를 관리하고, 다양한 소스에서 오는 데이터를 효율적으로 처리하여 다른 시스템으로 전송합니다.

주요 특징

  • 오픈소스 분산 이벤트 스트리밍 플랫폼입니다.
  • 배치 데이터는 HDFS와 Spark로 처리하고, 실시간 데이터는 Kafka로 처리합니다.
  • 사기 감지 시스템(FDS - Fraud Detection System) 등 실시간 처리에 적합합니다.

데이터 처리 흐름

  • Source App ➝ kafka ➝ Target App
    • Producer: 데이터를 생성하고 Kafka에 전송합니다.
    • Queue 역할 (Topics): Kafka가 데이터를 큐잉합니다.
    • Consumer: 데이터를 소비하여 처리합니다.

Kafka의 활용

  • 배치 데이터 처리는 기존 도구(HDFS, Spark)를 사용하지만, 빅데이터 실시간 처리에는 Kafka가 사용됩니다.
  • 실시간 데이터 분석 및 처리에 최적화되어 있습니다.