이번 팀미팅의 주제는 파이프라인 트렌드이다. 매일 새로운 기술이 나오는 IT세계에서 최신 트렌드 파악은 필수적이라고 생각했는데 마침 논의 주제로 파이프라인 트렌드가 되어 이번 기회에 조사해보았다. 조사 중 하이퍼스케일러가 ETL 종말을 외친다는 제목을 보고 헐레벌떡 들어가서 정독했다. 읽어보니 공유하면 좋을 거 같아 나의 발표는 이 뉴스로 하기로 결정했다:)
먼저, 하이퍼 스케일러란?
하이퍼스케일 컴퓨팅에서 비롯된 이름으로, 하이퍼스케일 컴퓨팅은 시스템에 대한 수요가 증가함에 따라 소프트웨어 아키텍처가 확장되고 성장할 수 있는 데이터 처리 방법이다.
대규모 클라우드 서비스 공급업체로, 컴퓨팅 및 스토리지와 같은 서비스를 엔터프라이즈 규모로 제공할 수 있습니다. 하이퍼스케일러를 구분하는 보편적인 기준은 없지만 Amazon Web Services, Google Cloud, Microsoft Azure, IBM Cloud, Alibaba Cloud와 같은 주요 클라우드 공급업체이다.
우리가 흔히 아는 구글 클라우드, AWS 등에서 제로 ETL을 주장하며 서비스를 내놓았다. 아마존 오로라 데이터를 ETL 작업 없이 아마존 레드시프트로 보내고 실시간으로 분석할 수 있게 해준다는 서비스이다. 데이터 분석을 위한 데이터 통합에 ETL은 필수 프로세스이자 필수 툴이였지만 이제는 사라지는걸까?
결론부터 말하면 일부 데이터 분석에서는 그럴 수도 있지만 대단히 한정된 소스 데이터, 제한적인 환경에서만 가능하다. 분산 저장된, 다양한 유형의 소스, 대용량 데이터를 대상으로 할 때는 ETL의 대안을 아직 찾긴 어렵다.
3대 하이퍼 스케일러의 구현 방식에는 차이가 있는데 한 예시로 구글 클라우드의 구현 방식을 살펴보자.
구글 클라우드는 외부 테이블을 사용해 DW(빅쿼리)가 운영 DBMS(빅테이블)에 쿼리를 직접 수행함으로써 제로 ETL을 구현한다.
사용자는 빅쿼리 자체 테이블처럼 이 외부 테이블을 쿼리할 수 있다. 빅쿼리에서 빅테이블의 데이터에 대해 쿼리를 실행하면 대용량 페타바이트 단위의 데이터에서 관련 칼럼과 로(row, 행)를 신속하게 식별할 수 있고 지연 시간은 줄이며 처리량을 늘릴 수 있다.
그리고 빅테이블에서 지원하지 않는 쿼리 연산자는 빅쿼리의 DB 엔진으로 요청 데이터를 스트리밍해 빅쿼리에 의해 실행된다. 이 외부 테이블은 JDBC/ODBC 드라이버 및 커넥터와 같은 빅쿼리의 기능을 비즈니스 인텔리전스, 데이터 시각화 툴, 머신러닝 훈련용 오토ML 테이블 등에도 활용할 수 있게 해준다.
제로 ETL이 큰 관심을 받고 있는 이유는 무엇일까?
그 이유는 ETL 구성과 작업의 고단함, 보다 신선한 데이터를 기반으로 한 실시간 비즈니스 통찰력 확보이다.
B2B, B2C 할 것 없이 빨라진 비즈니스 환경 변화를 바로 따라잡기 위해서는 분석 데이터의 신선도가 중요하고, 이는 분석의 사전 작업인 데이터 통합, 즉 데이터를 분석에 가용한 상태로 만들어주는 사전 작업 역시 신속하게 수행되어야 한다.
이론상 제로 ETL이 구현된다면 ETL 통합 과정이 없기 때문에 데이터 처리 속도가 빨라질 뿐 아니라 데이터 파이프라인이 간소화돼 데이터 엔지니어링 작업 또한 상대적으로 수월해진다. 데이터 통합 파이프라인의 단순화는, 구현은 물론 유지보수 측면에서도 신속성과 용이성의 장점을 제공한다.
제로 ETL은 현 시점에서는 몇 가지 한계를 갖고 있다.
하이퍼스케일러들의 제로 ETL의 가장 큰 단점은 소스 데이터와 사용 환경이 매우 제한적이라는 것이다. 해당 클라우드 서비스 사업자의 에코 시스템 내에서만 유효한 데다가 정형 데이터만 대상으로 하기 때문이다.
외부의 다른 시스템과 통합할 수 없다면 통합 프로세스의 유연성과 다기능성이 제한받을 수밖에 없다. 현실적으로 기업과 조직 대부분의 데이터 환경은 전략적으로 멀티 클라우드, 멀티 데이터 플랫폼을 채택하기 때문이다.
또 다른 문제는 데이터 분석이 종종 과거부터 현재에 이르는 이력 데이터를 대상으로 한다는 사실이다. 특정 시점의 데이터가 아니라 특정 구간(시기)의 데이터, 즉 변경 사항이 포함된 데이터를 추적 분석해야 할 경우가 생긴다.
ETL을 대체하기 어려운 이유는 데이터 변환 작업 때문이다.
대량의 다양한 비정형 데이터들도 소스로 처리하기 위해서 E와 L보다 T가 더 중요한 역할을 한다. 즉 변환(T)은 데이터에 가치를 부여하고 분석, 머신러닝, 기타 많은 사용 사례를 위해 데이터를 준비해주는 단계다. 이는 이동되는 데이터의 투명성, 즉 데이터의 품질과 직결된다.
품질을 담보할 수 없는 데이터를 대상으로 한 분석이나 활용은 결과 역시 신뢰하기 어렵다.
뉴스 출처: http://www.nextdaily.co.kr/news/articleView.html?idxno=216003