본문 바로가기
Programing/DB

[DB] Hadoop (하둡)

by 꾸압 2022. 12. 15.

 

<설명>

  - (ChatGTP 피셜) 대량의 Data 를 Store 및 Process 하는 Software Framework.

    ==> Scalable(확장 가능)하게 설계되어 대량의 Data 와 User가 Crashing 하거나 느려지지 않게 처리함.

 

  - 대량의 Data 를 분산하고 Computing Cluster Node 전반에 걸친 분석 작업을 하여, Data 를 더 작은 Workload로 쪼갬으로써 Parallel 한 동작이 가능하게 함.

 

  - Hadoop User 는 높은 가용성 및 장애 시점 탕지 기능을 제공받으며, 상용 Resource를 훨씬 효율적으로 사용 가능.

 

  -  Big-Data 를 최대로 활용하길 원하는 기업에서 많이 씀.

 


 

<장점>

  1) 확장성

    - 기존 System 은 Data Storage 를 제한하지만, Hadoop 은 분산 환경에서 작동하기에 확장 가능.

    ==> 설계자가 Hadoop을 통해 초기부터 Data Lake 구축 가능.

 

    2) 복원력

      - Hadoop Cluster 내부의 Node에 저장된 Data는 Cluster 의 다른 Node 에도 복제되어 Hardware 나 Software 오류 가능성에 대비.

      - 의도적인 중복 설계로 내결함성이 보장

      - Node 한 개가 다운되더라도 Cluster 내에 항상 그 Data 백업본이 준비됨.

 

    3) 유연성

      - 기존 관계형 Database 관리 System 과 달리, Hadoop 에선 형식에 구애받지 않고 Data 저장 가능.

 


 

<단점>

  1) 복잡함

    - Low Level 으 Java Framewark 기에 최종 User가 쓰기 너무 복잡할 수 있음

    - Hadoop Architecture 는 상당량의 전문 지식 & Resource가 있어야 설치&유지&업그레이드가 원활함.

 

  2) 성능

    - Disk 를 통한 I/O 로 연산 수행을 잦게 하므로, Data 를 최대한 메모리 안에서 저장 및 처리하는 Framework에 비해 느리고 비효율적.

 

  3) 장기적 실용성

    - 기존 Hadoop 의 방향성에서 벗어나거나, 몇몇 기능 Project 를 폐기하는 등의 일이 있음. 이걸 계속 쓸만 할 지?

 


 

<참조 1> https://www.databricks.com/kr/glossary/hadoop

<참조 2>

 

 

'Programing > DB' 카테고리의 다른 글

[MySQL] With 예제  (0) 2023.01.29
[MySQL] DISTINCT 조회  (0) 2023.01.11
[DB] Data Lake vs Data Warehouse 비교  (0) 2022.12.14
[DB] Data Warehouse  (0) 2022.12.13

댓글