써드파티
서드파티(Third Party)의 사전적 정의는 '제3자'를 뜻해요. IT업계에서 서드파티는 어떠한 분야에서 처음 개발하거나 원천기술을 가지고 있는 게 아닌, 원천기술과 호환되는 상품을 출시하거나 해당 기술을 이용한 파생상품을 생산하는 회사를 말해요. 즉 제3자로서의 역할을 하는 거죠.
ETL 데이터 카피해서 데이터 웨어하우스로 집어넣기 (데이터 엔지니어가 수행) : 누군가 요청해서 하는것
ex) " 페이스북 광고 데이터를 갖고와주세요 "라는 요청을 수행. ( 보통 데엔은 어떻게 사용해야 되는지 모름)
ELT 그걸 갖고 분석하기 쉽게 요약(조금 더 추상화되고 요약된 - 데이터 분석가가 수행)
데이터 크기에 따라 DW보다 DL의 정보를 바탕으로 하는 경우가 더 많음.
데이터 웨어하우스와 데이터 레이크의 차이는..?
데이터 레이크는 훨씬 몇배는 더 스케일이 큰 데이터 웨어하우스라고 보면 됨.
딱히 큰 기능 없어도 되고, 로그파일처럼 비구조화 된 데이터를 저장하는 데도 별 부담이 없음
원본 데이터를 건들지 않고 원본 그대로 복제 해놓는 경우가 많음.
데이터 웨어하우스는 관계형 데이터베이스이기 때문에
비구조화된건 어려움
보존기한이 있는 구조화된 데이터를 저장하고 "처리"하는 스토리지.
보통 BI툴들(룩커, 태블로, 수퍼셋)은 데이터 웨어하우스를 백엔드로 사용함.
실제로는
DL중 의미있는거만 가공해서 DW로 옮김
EX) 넷플리스
굉장히 많은 데이타 소스가 있음 (사용자 access 로그 같은 정보들 - 중요하지만 비구조화되어있음)
S3같은 data lake에 저장함
이걸 Spark, Athena같은 빅데이터 프로세싱 프레임워크를 사용해서
sql기반으로 프로세싱해서 정제해서 의미있는경우만 DataWarehouse 에 저장
데이터 파이프라인의 정의: 데이터를 소스로부터 목적지로 복사하는 작업
보통 python or 스칼라 or SQL을 통해 이루어짐
대부분 목적지가 데이터 웨어하우스.

외부나 내부 데이터 소스에서 데이터를 읽어서(보통 api를 통하게 됨)
적당한 데이터 포맷 변환 후 (데이터 크기가 커지면 파이썬으로 불가. Spark 등이 필요해짐)
데이터 웨어하우스에 로드
데이터 엔지니어 관점에서는 어떻게 데이터 분석가들이 편하게 할 수 있는 환경을 만들어주느냐가 관건
DW로부터 데이터를 읽어 다른 스토리지(많은 경우 프로덕션 환경)으로 쓰는 ETL
예를 들어서 너무 많은 사용자가 몰려서 좋아요를 누른다 - 하나하나 몰릴때마다 계산하면 부하가 심해져 문제가 생김
이때 유데미는 Mysql 이용
참고
https://devlog-wjdrbs96.tistory.com/374
https://youtu.be/brYCFFWA_6M?si=3eH3JGyJ1vgJNUsA - 중학생도 k 학교대전에서 이용!
클라이언트가 몇 초 간격으로 유저가 클릭한 횟수를 카운팅해서 서버에게 전송하고 서버에서 매크로인지 확인하고, 정상 범위 내에 있으면 redis에 업데이트
redis에서 몇 시간당으로 DB에 업데이트 하는 구조