안녕하세요. 데이터 엔지니어 지수입니다 👋
데이터 엔지니어들은 언제 가장 높은 성취감을 느낄까요?
저는 데이터 파이프라인이 처음 성공했을 때보다, 매일 같은 결과를 안정적으로 만들어내기 시작했을 때 더 큰 성취감을 느낍니다.
다양한 소스에서 데이터를 수집하고 가공하여 필요한 서비스와 분석 환경에 안정적으로 제공하는 데이터 파이프라인을 개발하고 운영해 왔습니다.
데이터가 많아졌을 때도 같은 구조가 버틸 수 있는지, 작업이 실패했을 때 어디서부터 다시 실행해야 하는지, 중복 실행이나 부분 실패가 데이터 정합성을 깨뜨리지는 않는지를 먼저 고민합니다. 반복되는 운영 작업은 자동화하고, 장애는 임시 조치로 끝내지 않고 원인과 재발 방지 방법을 기록하려고 합니다.
좋은 데이터 파이프라인은 화려하게 보이지 않더라도 제시간에 실행되고, 정확한 결과를 만들며, 문제가 생겼을 때 다시 복구할 수 있어야 한다고 믿습니다.
이 블로그를 쓰는 이유
실무에서 만나는 문제는 문서의 예제처럼 깔끔하지 않은 경우가 많았습니다.
느린 쿼리 하나에도 데이터 분포, 인덱스, 실행 계획, 통계 정보가 함께 영향을 주고, 단순해 보이는 배치 장애도 세션과 네트워크, 저장소, 스케줄이 서로 얽혀 있을 수 있습니다.
이 블로그에서는 그런 문제를 해결하며 알게 된 내용을 제 언어로 다시 정리합니다. 가능한 한 공식 문서와 실제 실행 결과를 함께 확인하고, 처음 접하는 사람도 흐름을 따라갈 수 있도록 구체적인 예시로 설명하려고 합니다.
주로 기록하는 내용
- Data Engineering — ETL/ELT, Airflow, Spark, Livy
- Database — PostgreSQL, Citus, 파티셔닝, 인덱스, 실행 계획
- Data Lakehouse — Apache Iceberg, 테이블 설계와 유지보수
- Operations — 장애 원인 분석, 성능 개선, 운영 자동화
- Learning — RAG, Graph, 데이터 플랫폼과 관련된 학습
아직 모르는 것이 많아 계속 배우고 있습니다.
What's your ETL?이 같은 문제를 마주한 누군가의 시행착오를 조금 줄여주는 공간이 되었으면 합니다.