ETL은 추출(Extract), 변환(Transform), 적재(Load)의 약자입니다. 수십 년 동안 데이터를 데이터 웨어하우스로 이동하는 표준 패턴으로 사용되어 왔습니다. 추출 단계에서는 소스 시스템에서 데이터를 가져옵니다. 변환 단계에서는 데이터를 정제하고 유효성을 검사하며 대상 스키마에 맞게 재구성합니다. 적재 단계에서는 변환된 데이터를 웨어하우스에 저장합니다. 변환 작업은 적재 작업 전에 별도의 처리 서버에서 수행됩니다. 웨어하우스는 정제되고 구조화된 데이터를 받게 됩니다.
ETL 도구는 진화해 왔습니다. 초기 ETL은 SQL과 스크립트를 사용하여 수동으로 코딩하는 방식이었습니다. Informatica와 DataStage 같은 상용 도구는 그래픽 사용자 인터페이스와 스케줄링 기능을 추가했습니다. Apache NiFi와 Talend 같은 오픈 소스 옵션은 접근성을 넓혔습니다. 기본 패턴은 추출(Extract), 변환(Transform), 로드(Load)로 동일합니다. ETL은 대상 시스템이 변환 워크로드를 처리할 수 없거나, 로드 전에 데이터 볼륨을 줄여야 하거나, 규제 요건에 따라 민감한 데이터가 통제된 환경을 벗어나기 전에 변환되어야 하는 경우에 여전히 적합한 선택입니다. 또한 컴퓨팅 성능이 제한적인 기존 어플라이언스 형태의 데이터 웨어하우스를 사용하는 레거시 환경에서도 흔히 사용됩니다. 클라우드 기반 데이터 웨어하우스와 ELT의 등장으로 ETL의 비중은 줄어들었지만 완전히 사라지지는 않았습니다. 많은 조직에서 레거시 시스템과 민감한 데이터에는 ETL을, 클라우드 네이티브 파이프라인에는 ELT를 모두 사용합니다. ETL 패턴은 구식이 아니라 여러 옵션 중 하나일 뿐입니다.
ETL 특성
- 먼저 변환 작업을 진행합니다. 데이터는 로드하기 전에 정리됩니다.
- 별도 처리 — 전용 서버에서의 변환
- 데이터 용량 감소 - 필요한 데이터만 데이터 웨어하우스로 전송됩니다.
- 확립됨 — 수십 년에 걸친 도구 및 관행
- 기존 시스템과의 호환성 — 기존 창고 시스템과 호환 가능
ETL은 고전적인 패턴입니다. 여전히 효과적이죠. 항상 최선의 선택은 아니지만, 틀린 경우는 드뭅니다.
Comments
No comments yet. Be the first to share a thought.
Leave a comment