2023. 8. 29. 10:03ㆍ학습/Data Engineering
간단요약)
Hadoop
1. 데이터 파일을 여러 컴퓨터에 나누어 저장,
2. 이것을 병렬 처리하는 구조 -> 데이터 양이 방대해도 유연하게 다룰 수 있음.

하둡(Hadoop)은 Apache Software Foundation에서 개발한 오픈 소스 프레임워크로, 대용량 데이터를 분산된 환경에서 처리할 수 있도록 설계되었다.
작동원리
HDFS(Hadoop Distributed File System)
HDFS는 하둡의 핵심 구성 요소 중 하나로, 대용량 파일을 여러 노드에 걸쳐 분산 저장합니다.
각 데이터는 블록 단위로 나누어지고, 이 블록들은 네트워크상의 다른 컴퓨터에 분산 저장된다.
MapReduce
MapReduce는 하둡이 대규모 데이터를 처리하는 방식입니다.
'Map' 단계에서 각 노드는 자신에게 할당된 데이터를 독립적으로 처리하고, 'Reduce' 단계에서는 모든 결과를 합쳐 최종 결과를 도출한다.
장점
확장성: 새로운 노드 추가가 용이하여 시스템의 저장 용량과 계산력을 증가시키기 쉽다.
내고장성(Fault-tolerance): 데이터 복제 기능을 통해 한 또는 여러 노드가 고장나더라도 원래의 데이터를 잃지 않는다.
비용 효율성: 오픈 소스 소프트웨어이며 일반적인 컴퓨터 하드웨어에서 실행될 수 있어 비싼 전용 장비가 필요 없다.
단점
Latency(지연 시간): 하둡은 배치 처리에 최적화되어 있으므로 실시간처리나 인터랙티브한 작업에 부적합하다.
복잡성: Hadoop 환경을 설정하고 관리하는 것은 상당한 기술적 지식을 요구하며 복잡할 수 있다.
( 개인 경험 : 환경을 설정하는데에도 무지 힘들었음 - 1. AWS 2. 세션 3. 구조)
보안 문제: 초기 버전의 Hadoop은 보안 기능이 제한적이었지만, 최근에는 Kerberos 인증을 통해 이 문제를 어느 정도 해결하였다. 그러나 여전히 보안이 중요한 기업 환경에서는 추가적인 보안 솔루션을 필요로 할 수 있다.
데이터 무결성: 하둡은 데이터를 여러 블록으로 분산 저장하므로, 한 번에 전체 데이터 세트를 수정하는 것이 어렵다.
따라서 실시간으로 변경되는 데이터에 대해서는 무결성을 유지하는 데 어려움이 있을 수 있다.
활용
대용량 로그 분석
웹사이트 방문자 로그, 서버 로그 등 대규모의 로그 파일을 분석하여 사용자 행동 패턴 파악, 시스템 성능 모니터링 등에 활용
추천 시스템
E-commerce, 영화 추천 등 다양한 추천 시스템에서 사용자의 과거 행동 데이터를 기반으로 개인화된 추천 목록을 생성하는데 사용
과학 연구
유전체 학습, 단백질 구조 예측 등 생명과학 연구에서 대규모의 생물 정보 데이터를 처리하고 분석하는데 활용
여담
단점 항목에서 실시간 처리에 적합하지 않다고 하였는데, 이는 다른 프레임워크등을 활용해서 실시간처리, 다른 활용도 가능해진다.
(Spark, Hive 등등)
'학습 > Data Engineering' 카테고리의 다른 글
간단한 ML api server 띄우기 - 1 환경설정(pyenv) (0) | 2023.08.30 |
---|---|
리눅스에 아파치(apache) 서버 설치 (0) | 2023.08.29 |
E-R 모델에서 Relation Type 이 속성을 가질 수 있는 이유 (0) | 2023.08.01 |
ML 최적화 목표 (0) | 2023.06.28 |
회귀(Regression) 방법을 사용하여 결측치를 처리 (0) | 2023.06.26 |