Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터 추출이란? 개념부터 주요 도구 종류까지 총정리

데이터 추출의 개념

데이터 추출(Extraction)은 데이터 웨어하우스 환경에서 소스 시스템으로부터 필요한 정보를 가져오는 작업을 의미합니다. ETL(추출, 변환, 적재) 프로세스의 첫 번째 단계로, 추출된 데이터는 이후 변환 과정을 거쳐 데이터 웨어하우스에 적재됩니다.

데이터 웨어하우스의 소스 시스템은 대개 트랜잭션 처리 소프트웨어입니다. 예를 들어 판매 분석용 데이터 웨어하우스라면, 모든 주문 활동 데이터를 기록하는 주문 입력 시스템이 소스 시스템이 될 수 있습니다.

데이터 추출은 데이터베이스와 같은 다양한 데이터 소스에서 관련 정보를 일정한 설계에 따라 조회하고 이동시키는 절차입니다. 추출 이후에는 메타데이터 삽입 및 기타 데이터 통합 등 추가적인 데이터 처리가 진행되며, 이는 데이터 워크플로우의 중요한 단계 중 하나입니다.

대부분의 데이터 추출은 비정형 데이터 소스와 다양한 데이터 구조에서 발생합니다. 비정형 데이터는 테이블, 인덱스, 분석 자료 등 어떤 형태로든 존재할 수 있습니다.

데이터 웨어하우스의 데이터는 여러 소스에서 유입될 수 있으므로, incoming 레코드를 효과적으로 처리하기 위해 세 가지 기술이 필요합니다. 바로 추출(Extraction), 변환(Transformation), 적재(Loading), 즉 ETL입니다.

데이터 추출 프로세스는 복잡하고 정제되지 않은 데이터 소스로부터 정보를 검색하는 작업을 포함합니다. 추출된 데이터는 관계형 데이터베이스의 스테이징 영역에 적재되며, 이 과정에서 추출 로직이 활용되고 API(소프트웨어 프로그래밍 인터페이스)를 통해 소스 시스템에 데이터를 요청하게 됩니다.

데이터 추출 도구의 종류

데이터 추출 도구는 용도와 환경에 따라 크게 세 가지 유형으로 나눌 수 있습니다.

1. 배치 처리 도구

레거시 데이터 추출 도구들은 대체로 업무 외 시간대에 데이터를 배치 단위로 수집하여, 대량의 연산 자원 사용으로 인한 시스템 부하를 최소화합니다. 폐쇄형 온프레미스 환경에서 비교적 동질적인 데이터 소스를 다루는 경우라면 배치 추출 방식이 가장 적합한 선택일 수 있습니다.

2. 오픈소스 도구

오픈소스 도구는 예산이 제한적인 환경에서, 지원 체계와 운영 노하우가 갖춰져 있다면 최선의 대안이 될 수 있습니다. 또한 여러 벤더들이 자사 제품의 기능을 일부 제한한 '라이트' 버전을 오픈소스로 공개하기도 하므로, 도입 전에 다양한 선택지를 검토해볼 만합니다.

3. 클라우드 기반 도구

클라우드 기반 도구는 최신 세대의 추출 솔루션으로, ETL/ELT 프로세스의 일부로서 실시간 데이터 추출에 초점을 맞춥니다. 클라우드가 제공하는 스토리지와 분석 기능을 최대한 활용할 수 있다는 것이 큰 강점입니다. 아울러 오늘날 클라우드 벤더들이 보안과 규정 준수 분야에 지속적으로 투자하고 있기 때문에, 해당 역량을 사내에 직접 구축해야 하는 부담도 덜 수 있습니다.