데이터 파이프라인 이란
- 언제든지 필요한 데이터를 가져와 꺼내 쓸 수 있도록 데이터를 계속 쌓아두는 파이프를 만드는 것
- 데이터를 생성해서 저장하기까지의 일련의 과정
- 소규모 서비스에서는 SAAS(GA 등) 형태의 분석툴로 충분하지만 큰 규모에선 데이터 엔지니어가 직접 데이터 환경을 구축하는게 굿
데이터 파이프라인 종류
- 일괄 파이프라인 (batch processing)
ex) 스케쥴러
- 스트리밍 파이프라인
- 실시간 파이프라인
- 클라우드 파이프라인
데이터 파이프라인이 구축
데이터 생성
- 서비스 데이터 : 상품정보, 고객정보, 결제정보 등 데이터 파이프라인을 따로 거치지 않음
- 로그 데이터 : 유자가 서비스를 이용하면서 클릭, 스크롤, 머무르기 같은 이벤트 등 서비스를 운영하면서 생기는 모든 행위를 기록으로
남긴 데이터
- 3rd party 데이터
- 데이터가 저장되는 서비스에 따라 데이터 형식이 달라짐
ex) google analytics(GA)나 Amplitude 같이 SAAS 형태로 제공되는 분석 툴의 경우
그곳에서 요구하는 형식에 맞게 코드를 새로 짜야함
데이터 수집
- 유저 행동 데이터가 SAAS 분석 툴 또는 회사 데이터 수집 서버로 전송됨
- SAAS 를 활용하면 트래픽에 관계없이 안전하게 데이터를 저장 & 시각화 해줌 그러나 커스터마징 불편하고 Ad Block 같은 광고 차단
프로그램을 사용하면 데이터 전송 실패할 수 있음
- 수집된 데이터들은 곧바로 데이터베이스(DB) 혹은 데이터 웨어하우스(DW)에 저장되지 않고 수집 서버를 거치게 됨
- 수집 서버를 거쳐 데이터베이스에 저장시키거나 데이터를 가공하는 서버로 전달함
- 예시 툴 : AWS의 Kinesis, Apache의 Kafka 등
데이터 가공 후 저장
- 다양한 데이터 소스의 비정형 데이터를 정형데이터로 변환하여 한 곳에 취합하는 작업
- 대표적인 프로세스 ETL
Extract 추출 : 흩어져 있는 데이터 소스로부터 데이터 추출
Transform 변경 : 비 정형 데이터를 정형 데이터로 가공
Load 적재 : 변형된 데이터를 데이터 웨어하우스에 적재
데이터 분석가, 데이터 사이언티스트, 머신러닝 엔지니어 등이 DW에 저장된 데이터를 사용함
- ELT : 데이터를 우선 한곳에 먼저 적재한 후 필요에 따라 Transform을 하는 과정
- 예시 툴 : Airflow
데이터 웨어하우스 (DW)
대량의 데이터를 분석하기 좋게 체계적으로 보관해놓는 데이터 창고
가공되지 않은 데이터를 모아놓은 창고는 데이터 레이크
데이터 로딩, 데이터엑세스만 가능함 (데이터 갱신 및 삭제 x)
데이터 시각화(BI)
- Business Intelligence : 데이터 시각화 템블릿과 분석할 수 있는 환경을 제공해주는 도구
- BI를 사용하면 데이터 소스들(DW, 3rd party 데이터 등)을 연결시키고 손쉽게 데이터 분석 결과를 볼 수 있음
- 직접 SQL문으로 분석 가능함
- 보통 BI를 기존 데이터 소스와 연동하는 것까지 데이터 엔지니어가 책임지게 됨
- 예시 툴 : Tableau, Power BI, Google Data Studio
데이터 분석
- 서비스 핵심 데이터베이스, 빅데이터가 저장되어있는 DW의 데이터를 SQL문을 사용하여 분석 결과 제공
- BI툴 등을 사용하여 대시보드에 시각화
- 머신러닝 & 통계학 지식을 바탕으로 모델을 만들고 데이터들을 모델에 넣어서 결과 산출
하둡 (Hadoop), 스파크(Spark)
빅데이터를 여러대의 컴퓨터로 나눠서 데이터를 저장(분산)한 후 필요시 여러 디스크로부터 한꺼번에 불러오는 시스템
트랜젝션이나 무결성을 보장해야하는 RDMS가 필요 없는 경우 상대적으로 비용이 덜 들어가는 하둡, 스파크 등을 사용하여 데이터를 저장하고 처리함
저장된 데이터를 변경하는 것 불가능
※ 정리용으로 작성한 글이라 올바르지 못한 정보가 포함되어있을 수 있습니다 ※
끄읏 -!
참고
- https://rk1993.tistory.com/303
- https://velog.io/@ginee_park/%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B5%AC%EC%B6%95-%EC%9D%B4%EB%A1%A0
- https://www.sap.com/korea/products/technology-platform/datasphere/what-is-a-data-warehouse.html
'Study' 카테고리의 다른 글
[JAVA] 추상클래스 vs 인터페이스 (0) | 2024.01.10 |
---|---|
[JAVA] Static vs Final vs Static Final (0) | 2024.01.09 |