오늘날 데이터 기반의 의사결정과 서비스 향상을 위해 데이터 인프라 구축은 필수적이다. 그 중심에는 다양한 소스로부터 데이터를 수집하고 가공하여 목적지로 전달하는 데이터 파이프라인이 자리 잡고 있다.
1. 데이터 파이프라인이란?
이는 통계 분석, 리포팅, 머신러닝 분석을 위한 필수적인 선행 과정이며, 대량의 데이터를 안정적으로 저장하고 관리하기 위한 빅데이터 아키텍처의 근간이라고 할 수 있다.
◾ 주요 구성 요소와 단계
- 일반적인 파이프라인은 데이터가 생성되는 소스(Sources), 이를 수집하고 변환하는 추출 및 변환(Ingestion & Transformation), 데이터를 보관하는 저장(Storage), 그리고 최종적으로 결과를 도출하는 분석 및 출력(Output) 단계로 구성된다. 소스는 MySQL 같은 관계형 데이터베이스부터 REST API, Kafka 같은 스트리밍 플랫폼, 그리고 각종 로그 파일까지 다양하다.
데이터 파이프라인은 한 장소에서 다른 장소로 데이터를 옮기거나 복사하는 일련의 과정을 의미한다. 마치 언제든 필요한 데이터를 꺼내 쓸 수 있도록 물이 흐르는 배수관 파이프를 만드는 것과 같다.
2. ETL과 ELT
◾ 전통적인 강자, ETL (Extract, Transform, Load)
- ETL은 데이터를 추출한 후 저장소에 적재하기 전에 먼저 변환(Transform) 과정을 거치는 방식이다.
- 이 방식은 수십 년간 표준으로 자리 잡았으며, 데이터를 구조화된 형태로 변환하여 분석 효율성을 높이고 보안 규정에 따라 민감 정보를 미리 마스킹할 수 있다는 장점이 있다.
- 하지만 전체 프로세스가 연속적이고 지속적이어야 하므로 설계 시 정교한 계획이 필요하며, 데이터 양이 많아질수록 변환 과정에서 병목 현상이 발생할 수 있다.

◾ 클라우드 시대의 표준, ELT (Extract, Load, Transform)
- 최근에는 데이터를 먼저 저장소에 적재(Load)한 후 필요할 때마다 내부에서 변환하는 ELT 방식이 주류로 떠오르고 있다.
- 이는 Snowflake나 BigQuery 같은 열 기반 데이터베이스(Column-oriented DB)의 등장 덕분인데, 이들은 대규모 데이터를 병렬로 처리하는 능력이 뛰어나 저장소 내부에서 직접 변환을 수행하는 것이 훨씬 빠르고 유연하기 때문이다.
- ELT를 활용하면 데이터 엔지니어는 추출과 적재에 집중하고, 분석가는 실제 데이터 변환에 집중할 수 있어 업무 책임 분담이 명확해진다.
◾ 실무적인 절충안, EtLT
실무에서는 이 두 방식을 혼합한 EtLT 패턴도 자주 사용된다. 이는 데이터를 적재하기 전, 파이프라인 초기에 레코드 중복 제거 요구나 민감 정보 마스킹과 같은 소규모 변환(small t)을 먼저 수행한 뒤 적재하는 형태이다.
- 데이터 레이크 (Data Lake)
- 데이터 레이크는 구조화되거나 비구조화된 모든 데이터를 원래 형태 그대로 보존 기한 없이 저장하는 거대한 스토리지이다.
- S3나 HDFS가 대표적이며, 데이터의 형식에 관계없이 Raw 데이터를 즉시 수집할 수 있어 유연성이 높다.
- 데이터 웨어하우스 (Data Warehouse)
- 반면 데이터 웨어하우스는 분석을 목적으로 체계적으로 보관된 데이터 창고이다.
- 주로 BI(Business Intelligence) 도구의 백엔드로 사용되며, 주제 지향적이고 통합된 시계열 데이터를 비휘발성 상태로 저장하는 특징이 있다.
3. Hadoop 및 Spark 활용
- 추출(Extract): 관계형 DB 데이터를 이관하는 Sqoop, 실시간 스트리밍을 처리하는 Kafka, 로그 수집에 특화된 Flume 등이 있다.
- 변환(Transform): 인메모리 기반 고속 처리가 가능한 Apache Spark가 MapReduce보다 훨씬 효율적이며, SQL 기반 처리를 원한다면 Hive를 권장한다.
- 적재(Load): NoSQL인 HBase나 Cassandra, 검색 엔진인 Elasticsearch, 그리고 클라우드 기반인 Redshift, BigQuery 등이 활용된다.
효율적인 ETL 구축을 위해 각 단계에서 최적의 기술을 선택해야 한다.
4. 고려 사항
데이터 파이프라인을 설계할 때는 세 가지 핵심 요소를 기억해야 한다.
데이터 급증에 대응하는 확장성(Scalability), 에러 감지 및 자동 재시도(Backfill)를 포함한 안정성(Stability), 그리고 데이터 이동 간의 리스크를 방지하는 보안(Security)이다.
기업의 상황에 따라 배치 처리가 중요하다면 Hadoop+Spark+Airflow 조합을, 실시간 분석이 중심이라면 Kafka+Flink 조합을 선택하는 등 전략적인 도구 선정이 필요하다.