Build a unified semantic layer across datasets with multi-dataset Topics in Amazon Quick
Quick Summary
다중 데이터 세트 주제는 최대 12개 데이터 세트의 관계와 의미 정보를 하나의 관리형 계층으로 통합해, 사용자가 기본 스키마를 몰라도 자연어로 여러 데이터 세트에 걸친 분석 결과를 얻도록 지원합니다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
다중 데이터 세트 주제는 최대 12개 데이터 세트의 관계와 의미 정보를 하나의 관리형 계층으로 통합해, 사용자가 기본 스키마를 몰라도 자연어로 여러 데이터 세트에 걸친 분석 결과를 얻도록 지원합니다.
📌 핵심 요약
- 기존 Quick Sight는 하나의 주제를 하나의 데이터 세트와 연결하고 여러 원본 테이블을 단일 비정규화 테이블로 결합해야 했지만, 다중 데이터 세트 주제는 정규화된 데이터 구조를 유지하면서 여러 데이터 세트를 함께 사용할 수 있게 합니다.
- 공개 미리보기에서는 하나의 주제에 최대 12개 데이터 세트를 추가하고 데이터 세트 쌍의 조인 키를 관계로 정의할 수 있으며, 채팅 에이전트가 질문에 필요한 데이터 세트와 최단 연결 경로를 찾아 SQL 조인을 생성합니다.
- 각 데이터 세트에는 열 설명, 동의어, 의미 유형, 계산 필드, 제외 필드 등의 의미 메타데이터를 개별적으로 추가하며, 주제에는 관계, 사용자 지정 지침, 권한을 설정해 조직의 용어와 업무 규칙을 중앙에서 관리합니다.
- 자연어 질문은 의도 분석, 관계 탐색, SQL 생성, 결과 표시의 순서로 처리되며, 사용자는 생성된 SQL을 확인해 선택된 데이터 세트와 조인 조건이 올바른지 검증할 수 있습니다.
- 소매 분석 예시에서는 판매 사실 데이터와 고객·상품·매장 차원 데이터 등을 별도로 유지하고, 판매액을 고객 세그먼트와 매장 지역별로 집계하는 질문을 관계 기반의 다중 데이터 세트 쿼리로 처리합니다.
🧩 주요 포인트
- 기존 Quick Sight는 하나의 주제를 하나의 데이터 세트와 연결하고 여러 원본 테이블을 단일 비정규화 테이블로 결합해야 했지만, 다중 데이터 세트 주제는 정규화된 데이터 구조를 유지하면서 여러 데이터 세트를 함께 사용할 수 있게 합니다.
- 공개 미리보기에서는 하나의 주제에 최대 12개 데이터 세트를 추가하고 데이터 세트 쌍의 조인 키를 관계로 정의할 수 있으며, 채팅 에이전트가 질문에 필요한 데이터 세트와 최단 연결 경로를 찾아 SQL 조인을 생성합니다.
- 각 데이터 세트에는 열 설명, 동의어, 의미 유형, 계산 필드, 제외 필드 등의 의미 메타데이터를 개별적으로 추가하며, 주제에는 관계, 사용자 지정 지침, 권한을 설정해 조직의 용어와 업무 규칙을 중앙에서 관리합니다.
- 자연어 질문은 의도 분석, 관계 탐색, SQL 생성, 결과 표시의 순서로 처리되며, 사용자는 생성된 SQL을 확인해 선택된 데이터 세트와 조인 조건이 올바른지 검증할 수 있습니다.
- 소매 분석 예시에서는 판매 사실 데이터와 고객·상품·매장 차원 데이터 등을 별도로 유지하고, 판매액을 고객 세그먼트와 매장 지역별로 집계하는 질문을 관계 기반의 다중 데이터 세트 쿼리로 처리합니다.
🧠 상세 정리
1. 기존 단일 데이터 세트 모델의 한계
기존 Quick Sight의 의미 계층은 보강된 데이터 세트 하나를 주제 하나와 일대일로 연결하는 방식이었으며, 분석 화면의 개별 시각화도 하나의 데이터 세트만 원본으로 사용할 수 있었습니다. 데이터 원본에 여러 테이블이 있으면 데이터 준비 단계에서 이들을 조인해 하나의 평탄한 테이블로 만들어야 했고, 이는 실행 시점 조인을 피워 성능을 높이려는 설계였습니다. 이 방식은 초기의 비교적 단순한 분석 사례에는 효과적이었지만, 사실 테이블과 여러 차원 테이블을 함께 사용하는 복잡한 분석에서는 큰 비정규화 테이블을 계속 만들어야 하는 부담이 있었습니다. 또한 같은 업무 정의를 여러 데이터 세트에 반복하거나 분석 목적별로 유사한 결합 구조를 관리해야 하므로, 정규화된 원본 모델과 중앙화된 거버넌스를 유지하기 어려웠습니다.
2. 다중 데이터 세트 주제가 바꾸는 의미 계층
다중 데이터 세트 주제는 하나의 주제에 공개 미리보기 기준 최대 12개 데이터 세트를 추가하고, 데이터 세트 사이의 관계를 명시적으로 정의할 수 있게 합니다. 채팅 에이전트는 사용자의 질문을 해석한 뒤 관련 열이 들어 있는 데이터 세트를 식별하고, 설정된 관계를 따라 필요한 SQL 조인을 구성해 통합된 답을 반환합니다. 따라서 관리자는 원본 데이터를 정규화된 형태로 유지하면서도 여러 데이터 세트에 걸친 업무 정의와 접근 방식을 하나의 주제에서 관리할 수 있습니다. 동일한 다중 데이터 세트 주제는 자연어 채팅의 질문 응답뿐 아니라 분석 작성에도 사용할 수 있어, 대화형 분석과 시각화 작성이 같은 의미 계층을 공유합니다.
3. 네 계층으로 구성되는 전체 구조
전체 구조는 데이터 원본, 데이터 세트 보강, 다중 데이터 세트 주제, 소비 방식의 네 계층으로 설명됩니다. 데이터 원본 계층에서는 정규화된 데이터 세트를 Quick Sight에 연결하며, 공개 미리보기에서는 SPICE뿐 아니라 Amazon Redshift, Amazon Athena, Amazon S3 Tables, Snowflake, Databricks에 대한 직접 쿼리도 지원합니다. 다만 현재 하나의 주제 안에서 SPICE 데이터 세트와 직접 쿼리 데이터 세트를 혼합할 수는 없습니다. 각 데이터 세트는 독립적으로 의미 정보를 보강한 뒤 관계와 사용자 지정 지침을 포함하는 주제에 결합되고, 최종적으로 채팅과 분석 시트에서 사용자 질문이나 시각화 작성에 활용됩니다.
4. 데이터 세트 보강과 업무 용어의 연결
데이터 세트 보강은 기술적인 열 이름과 실제 업무 사용자가 쓰는 표현 사이의 간극을 줄이는 과정입니다. 각 열에 설명과 동의어를 추가하고 도시, 주, 통화, 날짜 같은 의미 유형을 지정하며, 필요한 계산 필드를 만들거나 내부용 필드를 질문 대상에서 제외할 수 있습니다. 자연어 질의 엔진은 이러한 정보를 이용해 사용자의 표현을 올바른 열에 대응시키므로, 예를 들어 ‘인원수’라는 표현을 직원 수 열의 동의어로 등록하면 해당 열을 정확히 선택할 수 있습니다. 보강된 데이터 세트는 Quick에서 직접 만들거나 AWS Glue Data Catalog와 Databricks Unity Catalog의 카탈로그를 통해 가져올 수 있으며, 이 의미 정보의 충실도가 모호한 질문을 해석하는 정확도에 직접 영향을 줍니다.
5. 주제에 저장되는 관계·지침·권한
다중 데이터 세트 주제는 독립적으로 보강된 여러 데이터 세트를 하나의 의미 계층으로 묶는 통합 컨테이너입니다. 데이터 세트 사이의 관계는 JSON 파일로 업로드하며, 사실 테이블의 외래 키와 차원 테이블의 기본 키처럼 서로 연결되는 열을 데이터 세트 쌍별로 지정합니다. 사용자 지정 지침에는 업무 분야의 모호한 용어를 구분하는 규칙, 회계연도 경계와 같은 날짜 처리 방식, 조직 고유의 업무 정의를 자연어로 지속해서 설정할 수 있습니다. 권한은 소유자와 뷰어를 구분하며, 소유자는 주제 설정을 수정할 수 있지만 뷰어는 질문을 하거나 분석에서 주제를 사용할 수 있을 뿐 구성을 변경할 수 없습니다.
6. 교차 데이터 세트 질문의 처리 절차
사용자가 여러 데이터 세트에 걸친 질문을 입력하면 엔진은 먼저 열 이름, 설명, 동의어를 비교해 질문 속 용어에 대응하는 측정값과 차원을 찾고, 각각이 어느 데이터 세트에 있는지 판단합니다. 다음으로 미리 정의된 조인 키를 바탕으로 관계 그래프를 탐색해 필요한 데이터 세트 사이의 가장 짧은 연결 경로를 결정하고, 사실 테이블과 관련 차원 테이블을 연결합니다. 이후 요청된 ‘합계’ 같은 표현에 맞는 집계 함수와 차원별 그룹화를 포함한 SQL을 만들고 적절한 JOIN 절을 삽입합니다. 결과는 표나 시각화로 표시되며, 생성된 SQL도 확인할 수 있으므로 사용자는 엔진이 올바른 데이터 세트와 관계를 사용했는지 직접 검증할 수 있습니다.
7. 고객 세그먼트와 매장 지역별 판매 예시
“고객 세그먼트와 매장 지역별 총판매액을 보여 달라”는 질문에서 엔진은 총판매액을 SALES_FACT의 SALE_AMOUNT 합계로, 고객 세그먼트를 CUSTOMER_DIM의 SEGMENT로, 매장 지역을 STORE_DIM의 REGION으로 대응시킵니다. 이 질문에는 세 데이터 세트가 필요하므로 SALES_FACT의 CUSTOMER_ID와 CUSTOMER_DIM의 CUSTOMER_ID, SALES_FACT의 STORE_ID와 STORE_DIM의 STORE_ID 관계를 사용합니다. SALES_FACT가 중심 역할을 하며 고객 차원과 매장 차원으로 이어지는 두 개의 조인 경로가 구성되고, 세그먼트와 지역을 기준으로 판매액을 합산하는 SQL이 생성됩니다. 결과는 총판매액 내림차순의 표나 시각화로 제공되며, 설명 기능에서 실제 SQL과 조인 조건을 확인할 수 있습니다.
8. 소매 분석 구현과 보강 실무
본문의 구현 시나리오는 AnyCompany의 소매 분석을 대상으로 하며, SALES_FACT와 RETURN_FACT, CUSTOMER_DIM, PRODUCT_DIM, STORE_DIM으로 구성된 별 모양 스키마를 사용합니다. 판매 사실 데이터에는 거래별 판매액·수량·날짜와 차원 테이블의 외래 키가 들어가고, 반품 사실 데이터에는 반품 수량·사유·날짜가 포함되며, 각 차원 데이터에는 고객·상품·매장의 속성이 분리되어 있습니다. 구현 전에는 Quick Enterprise Edition, 작성자 또는 관리자 역할, 지원되는 저장·조회 방식으로 접근 가능한 데이터 세트, 주제와 데이터 세트 관리 권한이 필요합니다. 실제 보강 단계에서는 각 데이터 세트를 편집해 열 설명과 동의어, 의미 유형을 입력하고 대체 키·감사 시각·ETL 플래그처럼 사용자가 질문할 필요가 없는 내부 필드를 제외한 뒤 저장하고 게시합니다.
🧾 핵심 주장 / 시사점
- 다중 데이터 세트 주제의 핵심은 여러 테이블을 물리적으로 하나로 합치는 것이 아니라, 정규화된 데이터 세트 사이의 관계와 업무 의미를 별도의 관리 계층에 명시하는 데 있습니다.
- 자연어 질의의 정확도는 자동 조인 기능만으로 확보되지 않으며, 열 설명·동의어·의미 유형·제외 필드와 사용자 지정 지침을 얼마나 충실하게 관리하는지가 중요한 기반이 됩니다.
- 생성된 SQL을 사용자가 확인할 수 있으므로 자연어 분석의 편의성과 함께, 실제로 어떤 데이터 세트와 조인 경로가 선택됐는지 검증하는 투명성도 제공됩니다.
✅ 액션 아이템
- Quick Sight의 기존 단일 데이터셋 주제 결합 방식을 다중 데이터 세트 주제로 전환해 정규화 구조 기반 분석을 적용한다.
- 채팅 에이전트가 생성한 SQL을 검토해 데이터셋 쌍의 조인 키와 최단 연결 경로가 의도한 조인 조건을 충족하는지 점검한다.
- 각 데이터셋의 열 설명·동의어·의미 유형·계산·제외 필드와 주제의 관계·지침·권한을 등록해 조직 용어와 규칙을 중앙에서 통일 관리한다.
❓ 열린 질문
- 최대 12개 데이터셋 한도에서 복잡한 도메인을 여러 주제로 분리할 때 어떤 축으로 기준을 정할 것인가?
- 채팅 에이전트가 선택한 최단 연결 경로가 비즈니스적으로 덜 바람직한 조인 경로일 수 있는지, 판단 기준은 어디에 둘 것인가?
- 자연어 질문으로 생성된 SQL을 모든 케이스에서 자동 승인할 수 있는 범위와 수동 검토 전환 조건은 어디까지로 둘 것인가?