377
8
장
복잡한 데이터셋 생성
기존 결과에서 새로운 분석을 더 수행한다거나 이미 작성된 쿼리의 로직 및 출력 형식을 자주
변경해야 할 것 같다면
SQL
코드를 처음부터 새로 작성하기보다 필요한 부분만 추가로 작성하
면 좋습니다. 쿼리가 빠르게 실행되고 결과 데이터가 이해관계자에게 바로 넘어가는 경우에는
SQL
쿼리에 로직을 그대로 남겨두어 필요시 바로 코드를 수정하게끔 하는 편이 좋습니다.
8.1.2
ETL
로 데이터셋 활용하기
로직을
SQL
쿼리에 남겨두기보다
ETL
프로세스로 데이터 저장소에 저장하면 더 나은 경우도
있습니다. 특히, 데이터 분석을 수행하는 조직에 데이터 웨어하우스나 데이터 레이크가 있는
경우에는
ETL
로 로직을 옮기는 편이 좋습니다.
ETL
을 사용해야 하는 두 가지 이유는 바로 성
능과 가시성입니다.
SQL
의 성능은 로직 복잡도, 쿼리를 수행할 테이블 크기, 데이터베이스 연산 속도 등에 따라 달
라집니다. 최신 데이터베이스와 하드웨어에서 쿼리가 빠르게 실행되더라도, 분석을 수행하다
보면 대용량 테이블에서의
JOIN
이나 카티션
JOIN
등 복잡한 계산 때문에 실행이 오래 걸리는
쿼리를 작성하게 됩니다. 데이터 분석가와 데이터 과학자는 본인이 실행한 쿼리 결과를 기다리
는 데 익숙하지만, 웹사이트의 빠른 반응 속도에 익숙한 다른 데이터 업무 담당자에게는 쿼리
결과를 얻기 위해 단 몇 초라도 더 기다리는 일이 쉽지 않습니다.
ETL
은 예약된 시간에 백그라운드에서 실행돼 쿼리 실행 결과를 테이블에 저장합니다. 백그라
운드에서 ...