하둡이란?
1️⃣ 관련 링크 관련링크는 없습니다. 2️⃣ 아티클 세 줄 요약 💡 하둡 기술들과 용어들을 정리해서 데이터 관련 업무 프로세스를 이해해봅니다. 3️⃣ 아티클 정리 1. Hadoop - 빅데이터를 관리, 분석, 처리하기 용이하게 해주는 일종의 데이터 관리 체계 - 하둡 내에 굉장히 많은 기술들이 모여있기 때문에 Hadoop Ecosystem / 하둡 생태계로 불림 - 하둡 생태계 중 하나인 HDFS를 지칭하는 말로 주로 쓰임 - 대량의 자료를 다루기 시작하면서 하나의 컴퓨터로는 처리하기 불가능해졌고, 따라서 데이터를 나눠서 저장하고 나눠서 처리할 수 있는 “분산”이 키워드가 되었는데, Hadoop 이름에서도 알 수 있듯이 바로 이 분산을 용이하게 해주는 프레임워크가 하둡 2. IDC (Internet Data Center) - IDC라고 말하는 물리 데이터 센터에는 서버 a.k.a. 슈퍼컴퓨터 수 천대가 설치되어 있는데, 우리는 해당 컴퓨터들에 토스에서 처리되는 수많은 데이터를 모을 수 있습니다. 쉽게 말해 그냥 서버 혹은 DB - IDC에 Mysql, Hadoop, MongoDB등 원하는 형태의 DB를 설치할 수 있고, 장비 증설 신청을 할때 어떤 종류의 DB를 설치하고 싶은지 미리 정해야한다. 이게 설치되서 들어오기 때문! 3. Mysql - 라이브 서버 혹은 라이브 DB라 부르는 서버 - 앱을 라이브에서 사용할 수 있게 해주는 수많은 데이터가 저장 - Mysql에 있는 라이브 데이터를 분석 용으로 사용하면 서비스에 지장을 줄 수 있기 때문에, 우리는 Hadoop에 Mysql을 본 떠서 저장하고, 본 뜬 데이터와 그 외의 다른 분석용 데이터들을 쉽게 저장할 수 있도록 하둡을 이용 4. Data Lake vs Data Warehouse vs Data Mart - Data Lake (DL): 그냥 데이터 몽땅 때려부은 저장소. 호수는 넓으니까 다 들어가지~ 그냥 Mysql데이터를 본 떠서 하둡에 계속 저장하면 그게 DL의 형태를 띄게 됩니다. - Data Warehouse (DW): 조금은 구조화되고 정리된 데이터들이 모인 곳. Hue에서 조회할 수 있는 정제된 데이터들이 DW의 형태입니다. - Data Mart (DM): DW에 있는 데이터 중에서도, 정말로 내가 원하는 데이터만 추출해서 가공된 데이터들을 따로 모아 놓은 곳으로, DW있는 수많은 테이블을 Join해서 조회하려면 시간이 너무 오래걸리기 때문에, 내가 원하는 형태로 미리 뽑아서 저장해 둔 예쁜 결과물의 데이터 라고 보면 됩니다. 5. HDFS: 하둡 분산형 파일 시스템 (Hadoop Distributed File System, HDFS) - 하둡 생태계의 가장 대표적인 제품. - 여러대의 서버에 중복해서 데이터를 저장할 수 있게 해줍니다. 하둡에 저장했다~라는 식으로 데이터 저장소의 의미로 많이 쓰인다. 6. Kafka - Batch Processing 과 반대되는 개념인 Stream Processing을 가능하게 해주는 기술 - 연속으로 생성되는 실시간 데이터를 처리하는 데 용이 - 처리하고 싶은 각 데이터를 Topic으로 생성하게 되면 각 유관부서와 해당 데이터를 주고 받기 편합니다. 한 명이 생성한 토픽을 여럿이 구독하기 편한 구조입니다. - Kafka vs API : 데이터를 주고 받는 방식의 쌍두마차 - 꾸준히 계속 생성되는 데이터를 계속해서 받아보고 싶을 때 → Kafka - 그냥 내가 확인하고 싶은 값을 내가 확인하고 싶은 순간에만 요청하고 싶을 때 → API