Articleaws.amazon.com·2026년 6월 24일·0

AI-powered BI with Snowflake and Amazon Quick

Quick Summary

이 글은 Snowflake semantic view를 공통 의미 계층으로 삼아 Cortex Analyst와 Amazon Quick Sight 대시보드가 동일한 비즈니스 정의를 사용하도록 연결하는 실습 절차를 설명합니다.

AI-powered BI with Snowflake and Amazon Quick 관련 대표 이미지

🖼️ 인포그래픽

AI-powered BI with Snowflake and Amazon Quick 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

AI-powered BI with Snowflake and Amazon Quick 내용을 설명하는 본문 이미지

💡 한 줄 요약

이 글은 Snowflake semantic view를 공통 의미 계층으로 삼아 Cortex Analyst와 Amazon Quick Sight 대시보드가 동일한 비즈니스 정의를 사용하도록 연결하는 실습 절차를 설명합니다.

📌 핵심 요약

  • 여러 대시보드와 채팅 에이전트가 서로 다른 수치를 제시하는 문제의 원인은 대개 비즈니스 로직이 데이터 계층이 아니라 각 애플리케이션 내부에 흩어져 있는 ‘라스트마일 갭’에 있습니다.
  • Snowflake semantic view는 테이블, 관계, 지표, 차원을 데이터에 직접 연결하는 스키마 객체로, SQL·BI·AI 도구가 동일한 정의를 상속해 해석하도록 만듭니다.
  • 튜토리얼은 Amazon S3의 영화 리뷰 데이터를 Snowflake로 적재하고, MOVIES·USERS·RATINGS 세 테이블 위에 semantic view를 정의한 뒤 Cortex Analyst에서 자연어 질의를 검증하는 흐름으로 진행됩니다.
  • 이후 semantic view의 DDL을 CSV로 내려받아 Amazon Quick Sight dataset generator에 제공하면, Snowflake 정의를 Quick Sight 데이터셋 스키마로 변환하고 SPICE 수집까지 자동화할 수 있습니다.
  • 최종 목표는 BI 팀과 AI 팀이 동일하게 관리되는 데이터 계층을 기준으로 자연어 질문, 대시보드, 차트, 계산 필드, 데이터 스토리 등을 만들고 일관된 답변을 신뢰할 수 있게 하는 것입니다.

🧩 주요 포인트

  1. 여러 대시보드와 채팅 에이전트가 서로 다른 수치를 제시하는 문제의 원인은 대개 비즈니스 로직이 데이터 계층이 아니라 각 애플리케이션 내부에 흩어져 있는 ‘라스트마일 갭’에 있습니다.
  2. Snowflake semantic view는 테이블, 관계, 지표, 차원을 데이터에 직접 연결하는 스키마 객체로, SQL·BI·AI 도구가 동일한 정의를 상속해 해석하도록 만듭니다.
  3. 튜토리얼은 Amazon S3의 영화 리뷰 데이터를 Snowflake로 적재하고, MOVIES·USERS·RATINGS 세 테이블 위에 semantic view를 정의한 뒤 Cortex Analyst에서 자연어 질의를 검증하는 흐름으로 진행됩니다.
  4. 이후 semantic view의 DDL을 CSV로 내려받아 Amazon Quick Sight dataset generator에 제공하면, Snowflake 정의를 Quick Sight 데이터셋 스키마로 변환하고 SPICE 수집까지 자동화할 수 있습니다.
  5. 최종 목표는 BI 팀과 AI 팀이 동일하게 관리되는 데이터 계층을 기준으로 자연어 질문, 대시보드, 차트, 계산 필드, 데이터 스토리 등을 만들고 일관된 답변을 신뢰할 수 있게 하는 것입니다.

🧠 상세 정리

1. 문제의 출발점: 서로 다른 숫자가 신뢰를 무너뜨리는 상황

글은 하나의 대시보드가 활성 영화 조회수를 42,000으로 보여주고, 다른 대시보드는 38,500으로 보여주며, 채팅 에이전트는 또 다른 숫자를 말하는 상황에서 출발합니다. 이런 불일치는 단순한 표시 오류가 아니라 데이터 팀이 전략적 질문에 답하기보다 숫자 조정과 reconciliation에 시간을 쓰게 만드는 구조적 문제로 제시됩니다. 조직은 데이터를 활용해 의사결정을 빨라지게 하려 하지만, 실제로는 각 시스템의 정의가 달라 신뢰가 약해지고 분석 결과를 다시 확인하는 과정이 늘어납니다. 원문은 이 현상을 많은 조직에서 반복적으로 나타나는 패턴으로 설명하며, 분석에 대한 확신이 조용히 침식된다고 강조합니다.

2. 핵심 원인: 애플리케이션별 비즈니스 로직과 라스트마일 갭

원문이 지적하는 근본 원인은 ‘last-mile gap’입니다. 즉, 비즈니스 로직이 모든 애플리케이션이 공유할 수 있는 데이터 계층에 있지 않고, 각각의 개별 BI 도구나 AI 애플리케이션 내부에 들어가 있다는 점입니다. 같은 원천 데이터를 사용하더라도 어떤 도구가 어떤 계산식, 관계, 필터, 지표 정의를 적용하느냐에 따라 결과가 달라질 수 있습니다. 이 구조에서는 대시보드, 자연어 질의 시스템, SQL 분석이 서로 다른 의미 체계를 갖게 되며, 결국 사용자는 숫자 자체보다 숫자가 어떻게 나왔는지를 검증하는 데 더 많은 비용을 치르게 됩니다.

3. 해결 방향: Snowflake semantic view를 공통 의미 계층으로 사용

Snowflake semantic view는 테이블, 관계, 지표, 차원 같은 비즈니스 정의를 데이터에 직접 붙이는 Snowflake 스키마 객체로 설명됩니다. 다운스트림 애플리케이션이 이 semantic view를 쿼리하면 동일한 정의를 상속하므로, AI 시스템과 BI 시스템이 정보를 일관되게 해석할 수 있습니다. 원문은 이를 통해 신뢰할 수 있는 답변을 만들고 AI 환각 위험을 크게 낮출 수 있다고 말합니다. 또한 semantic view는 Snowflake의 네이티브 스키마 객체이기 때문에 테이블이나 일반 view처럼 객체 수준 접근 제어를 적용할 수 있어, SQL·BI·AI 엔드포인트 전반에서 권한 있는 사용과 거버넌스를 지원합니다.

4. 전체 아키텍처: S3에서 Snowflake, Cortex Analyst와 Quick Sight까지

튜토리얼의 전체 구조는 Amazon S3에 있는 구조화된 영화 리뷰 데이터를 Snowflake 데이터베이스 스키마로 적재하는 것에서 시작합니다. 그 위에 SQL로 Snowflake semantic view를 정의해 테이블 간 관계, 차원, 지표를 부여하고, 이 의미 계층을 Cortex Analyst의 자연어 질의와 Amazon Quick Sight 대시보드 생성에 함께 사용합니다. 핵심은 의미 모델을 개별 AI 또는 BI 계층에서 관리하지 않고 데이터 플랫폼의 중심부로 옮기는 것입니다. 이렇게 하면 같은 semantic view를 바라보는 도구들이 동일한 개념을 사용하게 되어, 자연어 분석과 시각화가 서로 다른 답을 내놓는 위험을 줄일 수 있습니다.

5. 실습 데이터와 분석 모델: 영화 리뷰 테이블 위에 의미를 부여

워크스루는 미디어 회사의 사용자 리뷰 데이터를 예시로 사용하며, 데이터셋은 MOVIES, USERS, RATINGS 세 개의 테이블로 구성됩니다. 사용자는 이 테이블들을 Amazon S3에서 Snowflake로 로드한 뒤, 원시 컬럼을 비즈니스 친화적인 지표와 차원으로 매핑하는 semantic view를 정의합니다. 원문은 이 과정이 raw table에 business context를 추가해 AI와 BI 도구가 공유할 수 있는 정의 계층을 만드는 것이라고 설명합니다. 결과적으로 BI 팀은 자연어로 인터랙티브 차트와 대시보드를 만들고, 계산 필드와 데이터 스토리, what-if 시나리오를 구성할 수 있으며, Snowflake에서 온 대시보드를 Amazon Quick Movies Quick Space에 포함해 RAG 사용도 가능하다고 제시합니다.

6. 준비 조건과 Snowflake 환경 구성

실습을 시작하려면 AWS에서 실행되는 Snowflake Enterprise 계정, Snowflake의 ACCOUNTADMIN 역할, AWS 계정, 지원되는 리전 정렬, SQL과 Python에 대한 기본 이해가 필요합니다. 원문은 Snowflake와 AWS 계정을 AWS US West(Oregon) 또는 US East(N. Virginia)에 맞추는 것을 안내하며, Amazon Quick Sight의 리전 가용성은 문서를 참조하라고 설명합니다. 소요 시간은 전체 과정 기준 60~90분, 예상 비용은 AWS와 Snowflake를 합쳐 10달러 미만으로 제시됩니다. 첫 단계에서는 Snowsight에서 제공된 notebook을 가져와 실행하고, 이 notebook이 WORKSHOPWH warehouse와 MOVIES 데이터베이스를 만들며 MOVIES.PUBLIC 스키마에 MOVIES, USERS, RATINGS 테이블을 로드합니다.

7. semantic view DDL 추출과 Cortex Analyst 검증

데이터 로드 후에는 Get_SV_DDL 셀을 찾아 semantic view의 DDL을 가져오는 SQL을 실행합니다. 이 셀은 MOVIES.PUBLIC.MOVIE_ANALYTICS_SV semantic view에 대해 GET_DDL 결과를 문자열로 반환하며, 사용자는 결과를 CSV로 내려받아 SF_DDL.csv라는 이름으로 저장해야 합니다. 원문은 이 파일이 4단계에서 Amazon Quick Sight 데이터셋을 자동 생성하는 데 필요하므로, 생략하면 dataset generator가 스키마를 파싱할 수 없다고 강조합니다. 이후 Snowsight의 AI & ML 영역에서 semantic view 구조를 확인하고, Cortex Analyst에 verified query를 추가해 자연어 질문이 올바른 SQL로 변환되는지 검증합니다.

8. Amazon Quick Sight 데이터셋 생성과 대시보드 구축

semantic view가 Snowflake 안에서 정의되고 검증되면, 다음 단계는 이를 Amazon Quick Sight 데이터셋으로 연결하는 것입니다. 원문은 두 가지 방법을 제시합니다. 하나는 GitHub 저장소의 전체 솔루션을 로컬에서 실행해 Snowflake에 연결하고 semantic view 정의를 가져와 Quick Sight 데이터셋 스키마로 변환하는 방식입니다. 다른 하나는 AWS CloudShell에 Solution_Package.zip과 SF_DDL.csv를 업로드한 뒤, create_secret.py로 Snowflake 자격 증명을 AWS Secrets Manager secret에 저장하고 run_workflow.py를 실행하는 방식입니다. 이 인터랙티브 워크플로는 Snowflake data source 선택 또는 생성, 데이터셋 구성, SF_DDL.csv 파싱, SPICE ingestion 생성과 진행 상태 모니터링까지 안내하며, 수집이 끝나면 Quick Sight 콘솔에서 Datasets로 이동해 대시보드 구축을 시작합니다.

🧾 핵심 주장 / 시사점

  • AI 분석의 정확성 문제는 모델만의 문제가 아니라, 지표와 차원의 정의가 어디에서 관리되는지에 크게 좌우됩니다.
  • semantic view를 데이터 계층에 두면 BI 대시보드와 자연어 분석 도구가 같은 의미 체계를 공유하므로, 숫자 불일치와 사후 조정 비용을 줄이는 운영적 효과가 큽니다.
  • 원문이 제시한 절차의 핵심 검증 지점은 대시보드 생성 자체보다 먼저 semantic view DDL을 확보하고 Cortex Analyst에서 자연어 질의가 올바른 SQL로 해석되는지 확인하는 데 있습니다.

✅ 액션 아이템

  • Snowflake semantic view에서 MOVIES·USERS·RATINGS의 테이블·지표·차원을 공통 정의로 통합해 SQL·BI·AI가 동일하게 해석하도록 기준을 정한다.
  • Amazon S3 영화 리뷰를 Snowflake로 적재한 뒤 semantic view DDL을 CSV로 내려받아 Quick Sight dataset generator에 전달해 SPICE 수집 스키마 변환을 자동화한다.
  • Cortex Analyst에서 자연어 질의를 검증한 결과에 따라 Quick Sight 차트·계산필드·데이터 스토리를 같은 semantic view 정의로 구성해 BI와 AI 답변 일치도를 점검한다.

❓ 열린 질문

  • 현재 앱별로 분산된 비즈니스 로직 중 어떤 항목이 핵심적으로 ‘라스트마일 갭’을 유발하는지 어떻게 선별할 것인가?
  • Snowflake semantic view의 테이블·관계·지표·차원 정의를 Quick Sight로 변환할 때 어떤 규칙을 두어 의미 체계 일관성을 보장할 것인가?
  • Cortex Analyst와 Quick Sight에서 동일 자연어 질의 결과가 다를 때 어떤 기준으로 semantic layer 정의 오류 여부를 판단할 것인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.