패스트캠퍼스 환급챌린지 53일차: 데이터엔지니어링 초격차 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

웹서비스 데이터의 숨겨진 보물 창고 : 거래부터 로그까지, 데이터의 모든 것!
안녕하세요, 데이터 여러분! 🚀
지난 시간에는 우리가 웹사이트에 접속할 때 벌어지는 마법 같은 여정, OSI 7계층과 URL 입력부터 화면 표시까지의 전 과정을 깊이 있게 탐험했습니다. 마치 잘 짜인 교향곡처럼 각 기술 요소들이 조화롭게 작동하는 모습, 정말 경이롭지 않았나요? 🎶 오늘은 그 무대 뒤에서 끊임없이 생성되고 활용되는 '데이터'라는 주인공에 대해 집중적으로 파헤쳐 보려고 합니다! 🕵️♂️
우리가 매일 사용하는 웹서비스, 그 속에는 어떤 종류의 데이터들이 숨쉬고 있을까요? 이 데이터들은 어떻게 서비스의 심장을 뛰게 만들고, 사용자에게 더 나은 경험을 제공할까요? 오늘 강의도 힘차게 시작해 볼까요? 출발! 🚦
오늘 우리가 함께 학습할 핵심 내용은 다음과 같습니다:
- 웹서비스의 Use Cases로 살펴보는 데이터 흐름 🎭
- 서버 엔지니어가 다루는 데이터 🧑💻
- Transaction Data (거래 데이터): 서비스의 생명줄!
- Metadata (메타 데이터): 데이터를 설명하는 데이터!
- 데이터 엔지니어가 다루는 데이터 🕵️♀️
- Event/Log Data (이벤트/로그 데이터): 사용자의 모든 발자취!
- Aggregation Data (집계 데이터): 가공된 보석!
자, 그럼 지금부터 웹서비스를 움직이는 데이터의 다채로운 세계로 함께 빠져봅시다!

웹서비스의 Use Cases로 살펴보는 데이터 흐름 🎭

위 그림은 일반적인 이커머스(쇼핑몰) 웹서비스의 주요 기능 흐름(Use Cases)을 보여줍니다. 각 단계에서 어떤 데이터가 오고 가는지 살펴볼까요?
- 판매자 ➡️ 쇼핑몰: 상품 등록
- 판매자는 자신의 상품(예: 옷, 전자기기)을 쇼핑몰에 올립니다.
- 생성 데이터: 상품명, 가격, 설명, 이미지 URL, 재고 수량 등의 상품 메타데이터 및 상품 등록 트랜잭션 데이터.
- 쇼핑몰 ➡️ 고객: 상품 정보 (제공)
- 고객은 쇼핑몰 웹사이트나 앱을 통해 등록된 상품 정보를 봅니다.
- 활용 데이터: 상품 메타데이터.
- 생성 데이터 (고객 측): 상품 조회 이벤트/로그 데이터 (어떤 고객이 어떤 상품을 봤는지).
- 고객 ➡️ 쇼핑몰: 주문, 결제
- 마음에 드는 상품을 고른 고객은 주문하고 결제를 진행합니다.
- 생성 데이터: 주문자 정보, 수령자 정보, 주문 상품 목록, 결제 정보 등의 주문/결제 트랜잭션 데이터, 고객 활동 로그 데이터.
- 쇼핑몰 ➡️ 내부 시스템: 주문, 결제 알림
- 주문 및 결제가 완료되면, 쇼핑몰 시스템은 내부적으로 다음 단계를 위해 이 정보를 관련 시스템(여기서는 주문 관리 및 추천 시스템 연동 모듈로 추정)에 전달합니다.
- 활용/전달 데이터: 주문/결제 트랜잭션 데이터.
- 내부 시스템 ➡️ 다양한 주체로 데이터 분기
- ➡️ 추천 시스템: 알림 (주문, 사용자 활동 등)
- 고객의 구매 이력이나 활동 패턴은 추천 시스템에 중요한 이벤트 데이터로 전달되어, 추천 모델 학습에 사용됩니다.
- ➡️ 물류센터: 배송
- 상품을 실제 배송하기 위해 주문 정보(상품, 수량, 배송지)가 배송 지시 데이터(트랜잭션의 일부)로 물류센터에 전달됩니다.
- ➡️ 회계팀: 정산
- 매출, 수수료 등을 정산하기 위해 결제 정보가 회계 데이터(트랜잭션의 일부)로 회계팀에 전달됩니다.
- ➡️ 추천 시스템: 알림 (주문, 사용자 활동 등)
- 추천 시스템 🔄 내부 시스템: 랭킹
- 추천 시스템은 수집된 데이터를 바탕으로 상품 랭킹이나 개인화 추천 목록을 생성하여 다시 내부 시스템에 제공합니다.
- 생성/활용 데이터: 집계 데이터, 추천 모델 결과 데이터.
- 내부 시스템 ➡️ 쇼핑몰: 랭킹, 추천 (반영)
- 추천 시스템에서 받은 랭킹 및 추천 정보를 쇼핑몰 플랫폼에 반영하여 고객에게 보여줄 준비를 합니다.
- 활용 데이터: 집계/추천 데이터.
- 쇼핑몰 ➡️ 고객: 추천
- 고객은 쇼핑몰에서 개인화된 상품 추천이나 인기 상품 랭킹을 보게 됩니다.
- 활용 데이터: 집계/추천 데이터. 고객이 이 추천을 클릭하면 또 다른 이벤트/로그 데이터가 생성됩니다.
이처럼 하나의 웹서비스 안에서도 다양한 목적을 가진 데이터들이 쉴 새 없이 생성되고, 이동하고, 활용되는 것을 알 수 있습니다!
서버 엔지니어가 다루는 데이터 🧑💻
서버 엔지니어는 주로 서비스의 안정적인 운영과 기능 구현에 필요한 데이터를 다룹니다. 이 데이터들은 서비스의 '뼈대'와 같습니다.
1. Transaction Data (거래 데이터): 서비스의 생명줄! 💳
서비스의 핵심 비즈니스 로직을 통해 생성되는 데이터입니다. 정확성과 일관성이 매우 중요합니다!
- 특징:
- 정형화된 구조를 가집니다 (주로 관계형 데이터베이스에 저장).
- ACID(원자성, 일관성, 고립성, 지속성) 특성을 보장해야 하는 경우가 많습니다.
- 서비스의 매출, 사용자 관리 등 핵심 기능과 직결됩니다.
- 예시 (위 Use Case에서):
- 상품 등록 (1번): 판매자가 상품을 등록하는 행위와 그 결과 데이터.
- 주문, 결제 (3번): 고객의 주문 정보, 결제 성공/실패 여부, 금액 등.
- 사용자 회원가입, 정보 수정 등.
- 중요성: 이 데이터가 유실되거나 잘못되면 서비스에 치명적인 문제가 발생할 수 있습니다 (예: 결제는 됐는데 주문 누락).
2. Metadata (메타 데이터): 데이터를 설명하는 데이터! 🏷️
데이터에 대한 데이터, 즉 다른 데이터를 설명하거나 구조를 정의하는 정보입니다.
- 특징:
- 서비스 운영 및 기능 구현에 필수적인 부가 정보입니다.
- 데이터의 검색, 분류, 이해를 돕습니다.
- 예시 (위 Use Case에서):
- 상품 정보 (2번): 상품의 카테고리, 태그, 상세 스펙, 이미지 경로 등 (상품 자체는 '실체'이지만, 상품을 설명하는 정보들은 메타데이터 성격을 가짐).
- 사용자 프로필 정보 (닉네임, 관심사 설정 등).
- 시스템 설정 값, API 명세 등.
- 중요성: 메타데이터가 잘 관리되어야 사용자가 원하는 정보를 효과적으로 찾고, 서비스가 원활하게 동작할 수 있습니다.
데이터 엔지니어가 다루는 데이터 🕵️♀️

데이터 엔지니어는 서버 엔지니어가 쌓아둔 운영 데이터 외에도, 서비스에서 발생하는 방대한 양의 로그 및 이벤트 데이터를 수집, 가공, 분석하여 비즈니스적 가치를 창출하거나 서비스 개선에 기여합니다.
1. Event Data (이벤트 데이터) / Log Data (로그 데이터): 사용자의 모든 발자취! 👣
사용자의 행동, 시스템의 상태 변화 등 서비스 내에서 발생하는 모든 사건 기록입니다.
- 특징:
- 매우 방대하고(Big Data), 실시간으로 빠르게 생성됩니다.
- 비정형 또는 반정형적인 경우가 많습니다.
- 시간 순서대로 기록되는 경우가 많습니다 (Timestamp 중요).
- 예시 (위 Use Case에서):
- 고객의 상품 페이지 클릭, 장바구니 담기, 검색어 입력, 스크롤 행동 (Use Case 2, 3, 8번 관련 모든 인터랙션).
- 알림 (5번): 주문 발생 이벤트, 특정 상품 조회 이벤트 등이 추천 시스템으로 전달.
- 시스템 오류 로그, API 호출 로그, 서버 성능 지표 등.
- 중요성: 사용자 행동 패턴 분석, A/B 테스트, 이상 징후 감지, 개인화 추천 시스템의 학습 데이터 등으로 활용되어 서비스 품질 향상과 비즈니스 성장에 기여합니다.
2. Aggregation Data (집계 데이터): 가공된 보석! 📊
원본 데이터(주로 Transaction Data나 Log Data)를 특정 기준에 따라 요약하거나 통계적으로 가공한 데이터입니다.
- 특징:
- 원본 데이터보다 크기가 작고, 분석이나 리포팅에 용이한 형태로 변환됩니다.
- 주기적으로 생성되거나(예: 일별, 주별, 월별), 특정 이벤트에 의해 트리거되어 생성될 수 있습니다.
- 예시 (위 Use Case에서):
- 랭킹 (6번, 7번): 일일 판매량 상위 상품 목록, 주간 인기 검색어, 카테고리별 평균 평점 등.
- 추천 (6번, 7번, 8번): 특정 사용자를 위한 맞춤 상품 추천 목록 (로그 데이터를 기반으로 모델링 후 생성된 결과).
- 대시보드용 지표: 일일 활성 사용자 수(DAU), 평균 세션 시간, 전환율 등.
- 중요성: 비즈니스 의사결정 지원, 서비스 현황 모니터링, 추천 시스템이나 검색 랭킹 모델의 결과물로 활용됩니다.
정리하며 📝
와! 우리가 사용하는 웹서비스 뒤편에는 이렇게나 다양한 종류의 데이터들이 각자의 역할을 수행하며 서비스를 풍요롭게 만들고 있었습니다! 🤯
- Use Cases 🎭: 서비스의 기능 흐름 속에서 데이터는 끊임없이 생성되고 활용됩니다.
- 서버 엔지니어 데이터 🧑💻:
- 거래 데이터: 서비스의 핵심 운영과 직결되는 중요한 데이터! (예: 주문, 결제)
- 메타 데이터: 데이터를 효과적으로 관리하고 활용하기 위한 설명 데이터! (예: 상품 상세 정보)
- 데이터 엔지니어 데이터 🕵️♀️:
- 이벤트/로그 데이터: 사용자와 시스템의 모든 흔적, 분석의 보고! (예: 클릭 로그, 시스템 오류 로그)
- 집계 데이터: 원본 데이터를 가공하여 통찰을 얻는 가치 있는 데이터! (예: 판매 랭킹, 개인화 추천 목록)
이 모든 데이터는 서로 유기적으로 연결되어, 때로는 서비스의 안정성을 담보하고, 때로는 사용자에게 편리함을 제공하며, 때로는 비즈니스 성장을 위한 귀중한 통찰력을 선물합니다. 🎁

오늘도 이 깊고 넓은 데이터의 세계를 함께 탐험하시느라 정말 수고 많으셨습니다! 💪
이제 웹서비스를 이용할 때마다 "지금 어떤 데이터가 만들어지고 있을까?" 하고 상상해 보세요. 분명 더 흥미로운 시각으로 서비스를 바라볼 수 있게 될 거예요! 다음 시간에는 또 어떤 흥미진진한 이야기로 여러분을 찾아뵐지 기대해주세요! 😉