ETL vs ELT: 어떤 데이터 통합 방식을 선택해야 할까

ETL vs ELT: 어떤 데이터 통합 방식을 선택해야 할까

데이터 통합 전략을 논할 때 가장 먼저 마주치는 갈림길이 ETL과 ELT입니다. 글자 순서만 바뀐 듯 보이지만, 변환을 적재 전에 하느냐 후에 하느냐는 아키텍처 전체, 비용 구조, 팀 역할 분담까지 바꿉니다. 클라우드 웨어하우스의 등장으로 무게중심이 ELT로 옮겨갔지만, ETL이 여전히 우월한 영역도 분명히 있습니다. 이 글은 두 방식의 동작 원리를 비교하고, 비용과 거버넌스 관점에서 어떤 상황에 무엇을 골라야 하는지 정리합니다. 두 방식의 기본 흐름 ETL은...
스키마 진화 관리: 깨지지 않는 데이터 계약 만들기

스키마 진화 관리: 깨지지 않는 데이터 계약 만들기

데이터 파이프라인을 운영하다 보면 새벽에 깨어 가장 흔하게 마주치는 알람이 스키마 불일치입니다. 누군가 원천 테이블에 컬럼을 추가하거나 타입을 바꾸면 다운스트림 파이프라인이 줄줄이 무너집니다. 스키마는 변하지 않는 것이 아니라 반드시 변하는 것이며, 문제는 그 변화를 어떻게 안전하게 관리하느냐입니다. 이 글에서는 스키마 진화의 유형, 하위 호환성의 의미, 스키마 레지스트리 활용, 그리고 데이터 계약(data contract) 개념까지 다룹니다. 스키마는 왜 깨지는가 문제의...
Spark 성능 튜닝 실전: 셔플과 스큐를 잡는 방법

Spark 성능 튜닝 실전: 셔플과 스큐를 잡는 방법

Spark 잡이 어제까지 10분에 끝나다가 오늘 갑자기 두 시간을 넘기는 경험은 데이터 엔지니어라면 누구나 합니다. 코드는 그대로인데 데이터 분포가 바뀌었거나 볼륨이 늘었을 때 흔히 벌어집니다. Spark 성능 문제의 대부분은 결국 두 가지로 수렴합니다. 과도한 셔플과 데이터 스큐입니다. 이 글에서는 Spark 실행 모델을 짧게 짚고, 셔플을 줄이는 방법, 스큐를 해소하는 기법, 그리고 AQE 같은 최신 기능까지 실전 관점에서 다룹니다. 왜 느려지는가: 셔플의 이해...
데이터 파이프라인 관측성: 신뢰를 만드는 모니터링 체계

데이터 파이프라인 관측성: 신뢰를 만드는 모니터링 체계

전통적인 모니터링은 잡이 성공했는지 실패했는지를 봅니다. 그런데 데이터 세계에는 더 교묘한 문제가 있습니다. 잡은 분명히 초록불로 성공했는데, 실제 데이터는 절반이 비어 있거나 어제보다 10분의 1로 줄어든 경우입니다. 이런 침묵의 장애를 잡으려면 잡 상태가 아니라 데이터 자체를 관측해야 합니다. 이것이 데이터 관측성입니다. 이 글에서는 데이터 관측성의 다섯 기둥, 구현 방법, 그리고 경보 피로를 피하는 운영 전략을 다룹니다. 왜 잡 성공만으로는 부족한가 파이프라인이...
배치에서 스트리밍으로: 6개월간의 전환 회고

배치에서 스트리밍으로: 6개월간의 전환 회고

우리 팀의 핵심 분석 파이프라인은 오랫동안 매일 새벽 한 번 도는 배치였습니다. 충분히 잘 작동했지만, 비즈니스가 성장하면서 마케팅 팀은 캠페인 반응을 몇 시간 내로 보고 싶어 했고, 운영 팀은 이상 징후를 다음 날이 아니라 즉시 알고 싶어 했습니다. 결국 우리는 준실시간 스트리밍으로의 전환을 결정했습니다. 이 글은 그 6개월의 솔직한 회고입니다. 화려한 성공담이 아니라, 무엇을 잘했고 무엇에서 피를 봤는지 담았습니다. 비슷한 전환을 앞둔 팀에 참고가 되길 바랍니다.전환을...