대시보드마다 다른 숫자, Snowflake 시맨틱 뷰로 해결

대시보드 A는 활성 영화 조회수가 42,000건이라고 하는데, 대시보드 B는 38,500건으로 표시한다. 챗봇에게 물어보면 또 다른 제3의 숫자를 내놓는다. 데이터 팀이 전략적인 질문에 답하는 대신 서로 다른 숫자를 맞추는 데만 몇 시간을 허비하는 상황은 실무에서 흔히 겪는 일이다. 데이터 팀은 정작 중요한 인사이트를 찾는 대신 엑셀 시트를 대조하며 시간을 보낸다. 분석 결과에 대한 신뢰가 무너지면 조직의 의사결정 속도는 자연스럽게 느려지고 데이터에 대한 불신만 쌓이는 악순환이 반복된다.

이런 불일치가 발생하는 근본 원인은 라스트 마일 갭(last-mile gap)이라 불리는 현상에 있다. 비즈니스 로직이 데이터 레이어가 아닌 개별 애플리케이션 내부에 흩어져 정의되어 있기 때문이다. 예를 들어 활성 사용자를 정의하는 기준이 BI 도구와 AI 챗봇에서 서로 다르게 설정되어 있다면 결과값은 당연히 달라진다. Snowflake 시맨틱 뷰(Semantic View)는 이 로직을 개별 앱이 아닌 데이터 레이어로 끌어내려 통합한다. 시맨틱 뷰는 테이블 간의 관계, 계산된 지표, 분석을 위한 차원 같은 비즈니스 정의를 데이터에 직접 연결하는 Snowflake 스키마 객체다.

시맨틱 뷰를 구축하면 이를 참조하는 모든 다운스트림 애플리케이션이 동일한 정의를 그대로 상속받는다. AI 시스템과 BI 시스템이 정보를 균일하게 해석하게 되므로 더 이상 도구마다 다른 숫자를 맞추는 소모적인 작업에 시간을 쓸 필요가 없다. 특히 자연어 질문을 `SELECT` 문으로 변환하는 AI의 경우, 데이터 레이어에 명확한 비즈니스 정의가 존재하므로 엉뚱한 답을 내놓는 환각 현상을 크게 줄일 수 있다. 데이터 플랫폼 자체에서 의미를 정의하고 모든 도구가 이를 공유하는 단일 진실 공급원을 만드는 것이다.

보안과 거버넌스 관리 역시 네이티브 환경에서 효율적으로 이루어진다. 시맨틱 뷰는 Snowflake의 표준 스키마 객체이므로 객체 수준의 액세스 제어(Object-level access controls)를 그대로 지원한다. 일반 테이블이나 뷰를 관리하는 것과 동일하게 특정 사용자나 역할에 대해 사용 권한과 쿼리 권한을 세밀하게 부여하거나 제한할 수 있다. 이를 통해 SQL 쿼리, BI 대시보드, AI 엔드포인트 전반에서 승인된 사용자만 거버넌스가 적용된 데이터를 활용하게 된다. 10달러 미만의 비용과 90분 내외의 시간 투자로 데이터 일관성을 확보하고 AI의 신뢰도를 높일 수 있다는 점이 실무적인 도입 판단 기준이 된다.

기술이 실제로 작동하는 방식

데이터 파이프라인의 시작은 아마존 S3(Amazon Simple Storage Service, 객체 스토리지 서비스)에 저장된 영화 리뷰 데이터를 스노우플레이크(Snowflake, 클라우드 데이터 플랫폼)로 불러오는 과정부터다. 미디어 기업의 실무 환경을 가정한 이번 예제는 MOVIES, USERS, RATINGS 3개 테이블을 중심으로 구성된다. 스노우플레이크의 웹 인터페이스인 스노우사이트(Snowsight)에서 노트북 기능을 활용하면 컴퓨팅 웨어하우스, 데이터베이스, 스키마 생성을 자동화할 수 있다. 사용자는 별도의 수동 SQL 입력 없이 노트북 내 셀을 순차적으로 실행하는 것만으로 데이터 로드 작업을 완료한다.

데이터 로드가 완료되면 스노우플레이크 내에서 시맨틱 뷰(Semantic View, 데이터에 비즈니스 정의를 결합하는 스키마 객체)를 정의하여 원본 데이터에 비즈니스 문맥을 입힌다. 이 단계에서 가장 중요한 작업은 Get_SV_DDL 셀을 실행하는 것이다. 해당 셀은 시맨틱 뷰의 DDL(데이터 정의 언어)을 추출하며, 이를 반드시 SF_DDL.csv 파일로 다운로드해야 한다. 이 파일은 이후 아마존 퀵사이트(Amazon QuickSight, 비즈니스 인텔리전스 서비스)에서 데이터셋을 생성할 때 필수적인 입력값이 된다. 이 과정을 거치면 데이터 레이어에 비즈니스 로직이 고정되어, 이후 연결되는 모든 분석 도구가 동일한 지표를 참조하게 된다.

시맨틱 뷰가 구축되면 코텍스 애널리스트(Cortex Analyst, 자연어를 SQL로 변환하는 AI 기능)를 통해 쿼리 정확도를 검증한다. 검증된 쿼리(Verified Queries)를 미리 등록해두면 AI가 유사한 질문을 받았을 때 참조 모델로 활용하여 환각 현상을 줄이고 응답 속도를 높일 수 있다. 마지막으로 깃허브(https://github.com/) 저장소에 공개된 퀵사이트 데이터셋 생성기(QuickSight Dataset Generator) 스크립트를 사용한다. 이 스크립트는 앞서 확보한 SF_DDL.csv를 읽어 들여 스노우플레이크의 정의를 퀵사이트 스키마로 자동 변환한다. 이 파이프라인을 통하면 BI 팀은 자연어 질문만으로 대시보드를 구성할 수 있으며, 전체 작업은 약 90분 내외, 비용은 10달러 미만으로 운용 가능하다.

Cortex Analyst와 '검증된 쿼리'로 AI 환각 줄이기

챗봇이 내놓은 숫자와 대시보드의 수치가 서로 다를 때 실무자가 느끼는 당혹감은 상당하다. 한쪽에서는 활성 영화 조회수가 42,000건이라고 하는데 다른 쪽에서는 38,500건이라고 답하는 상황이 대표적이다. 이런 수치 불일치는 AI가 데이터 구조를 제멋대로 해석할 때 발생하며, 결국 데이터 팀이 전략적 분석 대신 숫자 맞추기에 시간을 허비하게 만든다. Snowflake는 이를 해결하기 위해 Cortex Analyst(자연어 질문을 SQL SELECT 문으로 변환하는 기능)를 제공한다. 이 기능은 시맨틱 뷰를 기반으로 작동하여 AI가 데이터를 해석하는 기준을 하나로 통일하고 응답의 일관성을 확보한다.

AI의 응답 정확도를 극대화하려면 검증된 쿼리(Verified Queries)를 설정하는 단계가 필수적이다. 이는 정답이 이미 확인된 예시 질문 세트로, AI가 유사한 질문을 받았을 때 정답으로 가는 길을 알려주는 참조 모델 역할을 한다. 사용자가 자연어로 질문을 던지면 Cortex Analyst는 내부적으로 검증된 쿼리 목록과 먼저 매칭을 시도한 뒤 SQL을 생성한다. 이 과정을 거치면 AI가 테이블 관계를 오해해 엉뚱한 쿼리를 짜는 환각 현상을 방지하고 응답 지연 시간까지 단축할 수 있다. BI 팀은 Cortex Analyst가 생성한 SQL이 실제 의도와 맞는지 확인하고 이를 검증된 쿼리로 등록함으로써 AI의 학습 곡선을 인위적으로 단축시킨다. 예를 들어 2023년 모든 영화의 평균 평점을 묻는 질문을 미리 검증해 두면, 이후 사용자가 조금 다르게 질문하더라도 즉각적으로 정확한 SQL을 출력한다.

BI 팀은 이러한 환경에서 SQL 작성 없이 자연어만으로 인터랙티브 차트를 생성하거나 복잡한 계산된 필드를 구축할 수 있다. 단순한 데이터 조회를 넘어 특정 조건의 변화를 가정해 결과를 예측하는 What-if 시나리오 수행까지 가능하다. 이는 분석가가 쿼리를 짜서 전달하는 기존 방식보다 훨씬 빠른 피드백 루프를 만든다. 영화 리뷰 데이터와 같은 대규모 데이터셋에서도 사용자가 원하는 지표를 즉각적으로 시각화할 수 있어 보고서 작성 시간이 줄어든다. 더 나아가 Snowflake 기반의 대시보드를 Amazon QuickSight Movies Quick Space에 통합하면 검색 증강 생성(RAG, 외부 지식을 참조해 답변을 생성하는 기술) 구현까지 확장된다. 데이터 레이어에서 정의된 비즈니스 로직이 AI와 BI 도구 전체에 동일하게 상속되는 구조다.

실무 관점에서 이 파이프라인을 구축하는 데 드는 비용은 AWS와 Snowflake 합산 10달러 미만이며, 전체 소요 시간은 90분 내외다. 단순히 프롬프트를 정교하게 짜는 방식은 데이터가 늘어날수록 관리 비용이 기하급수적으로 증가하지만, 검증된 쿼리를 사용하는 방식은 명확한 정답 셋을 관리하는 것이기에 유지보수가 쉽다. 적은 리소스로 AI의 환각을 제어하고 데이터 일관성을 확보할 수 있다는 점이 실무적 판단의 핵심이다. LLM의 추론 능력에만 의존하지 않고 검증된 쿼리라는 물리적 가이드라인을 제공함으로써 데이터 신뢰도를 강제하는 전략이다.

현장에서 달라지는 비용과 판단

현장에서는 비슷한 기능을 가진 도구들이 매우 짧은 간격으로 출시되며 기술적 진입 장벽을 빠르게 낮춘다. 이번 튜토리얼의 전체 구현 과정은 Amazon S3에서 데이터를 로드하고 Snowflake 시맨틱 뷰를 정의한 뒤 QuickSight 대시보드까지 생성하는 전 과정을 포함해 60분에서 90분 정도면 충분히 완료할 수 있다. AWS와 Snowflake를 합산한 예상 비용은 10달러 미만으로 설정되어 있어, 기업의 정식 예산 승인 절차 없이도 실무자가 개인 수준에서 빠르게 PoC를 진행할 수 있는 최소 리소스만 사용한다. 짧은 시간과 낮은 비용으로 데이터 신뢰도 문제를 해결할 수 있는 기술적 토대가 마련된 셈이다.

실무자가 매주 겪는 가장 큰 고통은 한 대시보드에서는 활성 영화 조회수가 42,000건으로 나오는데 다른 곳에서는 38,500건으로 표시되는 식의 수치 불일치를 해결하는 일이다. 기존 구조에서는 비즈니스 로직이 개별 AI나 BI 애플리케이션 내부에 파편화되어 존재했기에 동일한 지표라도 도구마다 계산 방식이 달랐고, 이를 맞추기 위해 엑셀을 켜고 시간을 허비해야 했다. 이제 시맨틱 모델의 위치를 개별 애플리케이션 레이어가 아닌 핵심 데이터 플랫폼인 Snowflake로 완전히 이동시킨다. 데이터 레이어에서 정의된 비즈니스 로직을 모든 다운스트림 애플리케이션이 동일하게 상속받으므로 숫자를 맞추기 위한 소모적인 커뮤니케이션이 사라진다.

이 구조는 데이터 거버넌스가 필수적인 기업 환경에서 명확한 도입 판단 기준을 제공한다. SQL 쿼리, BI 대시보드, AI 챗봇이라는 세 가지 서로 다른 엔드포인트 전체에 동일한 비즈니스 로직을 강제해야 하는 상황이라면 이 방식이 가장 효율적이다. 특히 Snowflake의 네이티브 스키마 객체로서 제공되는 객체 수준의 액세스 제어를 통해 테이블이나 뷰처럼 사용 권한과 쿼리 권한을 세밀하게 부여하거나 제한할 수 있다. AI가 임의로 SQL을 생성하게 두지 않고 정의된 시맨틱 뷰를 참조하게 만들어 환각 현상을 제어하는 것은 AI 답변 정확도를 높이는 가장 확실한 제어 방법이다.

데이터 팀은 이제 단순한 숫자 검증 작업에서 벗어나 비즈니스 성장을 위한 전략적 질문에 집중하는 구조로 전환한다. 90분 내외의 구축 시간과 10달러 미만의 비용으로 AI와 BI 시스템이 정보를 동일하게 해석하게 만드는 것은 실무적으로 매우 큰 이득이다. 데이터 플랫폼에서 정의를 한 번만 내리면 모든 도구가 이를 따르는 방식은 운영 공수를 획기적으로 줄여준다. 데이터 팀의 역할은 더 이상 서로 다른 도구의 숫자를 맞추는 관리자가 아니라, 데이터를 통해 비즈니스 인사이트를 도출하는 분석가로 바뀐다.

대시보드와 챗봇이 서로 다른 숫자를 내놓는 문제는 기술의 한계가 아니라 비즈니스 정의를 어디에 두었느냐의 문제다. 90분 내외의 시간과 10달러 미만의 비용으로 S3부터 QuickSight까지 이어지는 시맨틱 뷰 파이프라인을 구축해 데이터 신뢰도를 강제하는 것이 실무적으로 가장 효율적인 대안이다.

데이터 팀의 역할은 이제 도구마다 다른 수치를 맞추는 단순 관리 작업에서 벗어나 단일한 진실을 바탕으로 비즈니스 인사이트를 도출하는 분석가로 바뀐다. 결국 데이터의 신뢰도는 도구의 성능이 아니라 정의의 통합 여부가 결정한다.