1,203,400.00
제품 둘러보기
노트북에서 쓰고,
대화로 묻고,
앱으로 공유합니다.
입구는 셋, 그 아래는 같은 시맨틱 레이어입니다. 어느 문으로 들어와도 같은 정의, 같은 권한, 같은 숫자입니다.
SQL
-- 3분기 카테고리별 매출(확정 주문만)
SELECT category,
SUM(amount) AS revenue
FROM orders
WHERE status = 'confirmed'
AND quarter = 'Q3'
GROUP BY category
ORDER BY revenue DESC5행 · 완료
결과
| 카테고리 | 매출 | 전 분기 대비 |
|---|---|---|
| 의류 | 454만 | +3.9% |
| 홈 | 448만 | +8.2% |
| 전자제품 | 304만 | -1% |
| 뷰티 | 270만 | +1.9% |
| 식품 | 213만 | +6% |
차트
카테고리별 매출
- 454의류
- 448홈
- 304전자제품
- 270뷰티
- 213식품
제한된 SQL 샌드박스에서 실행되며, 읽기 권한이 있는 테이블만 대상으로 합니다.
평소 쓰는 말로 물어보세요. Agent가 시맨틱 레이어를 읽고, 단계를 보여 주고, 답을 차트로 그립니다.
지역과 분기별 매출을 카테고리로 쌓아서 비교해 줘.
- cube_list_models1 개 모델
- cube_get_metadataretail_model
- cube_queryrevenue × region × quarter
권한이 있는 데이터만
세 지역 모두 매출이 분기마다 늘었습니다. 가장 큰 지역: 동부. 모든 지역에서 1위인 카테고리: 의류. 유일하게 줄어든 카테고리: 전자제품.
- 의류
- 홈
- 뷰티
- 전자제품
- 식품
- 매출
- 1689만
- +4.0% 전 분기 대비
- 매출 1위 카테고리
- 의류
- 가장 빠른 성장
- 홈
카테고리별 매출
채널 구성 · 의류
행 단위 권한은 모든 열람자에게 적용됩니다.
가상의 소매업체 샘플 데이터로 만든 예시 화면입니다. 실제 데이터에 연결하지 않았고, 실제 AI도 호출하지 않습니다.
사무실에서 자주 들리는 말
- 이 숫자는 왜 재무팀 숫자와 안 맞죠?
- 지난달 리포트를 그때 데이터 그대로 다시 뽑을 수 있나요?
- 저 사람한테 그 테이블 권한을 누가 줬죠?
- 숫자 하나 보고 싶을 뿐인데, 또 데이터팀 일정을 기다려야 하네요.
- AI가 준 숫자, 그대로 써도 될까요?
- 리포트가 몇 번이나 바뀌어서 어느 게 맞는지 아무도 몰라요.
01 · 정의
하나의 단어,
세 개의 숫자.
재무는 인식 매출로, 영업은 수주액으로, 운영은 입금액으로 셉니다. 각자 리포트와 SQL을 따로 갖고 있어서 주간 회의가 대사 회의가 됩니다.
1,318,950.25
1,176,280.40
샘플 데이터입니다. 정의를 공유하면 리포트, AI 어시스턴트, API가 모두 같은 정의를 읽습니다.
02 · 다섯 가지 동작
소스에서 답까지,
다섯 가지 동작.
모든 단계에 버전, 정의, 기록이 있습니다. 약속이 아니라 구조로 보장합니다.
01 / 05 · 수집
지난달 리포트를 그때 데이터 그대로 다시 뽑을 수 있나요?
소스가 아무리 제각각이어도
같은 모양으로 쌓입니다.
데이터베이스, API, 업로드한 파일을 워크플로로 가져오고 변환하고 병합해 버전이 있는 불변 스냅샷으로 저장합니다. 새로고침할 때마다 새 버전이 생기고, 문제가 생기면 이전 버전으로 되돌릴 수 있습니다.
- 워크플로 기반 수집수집과 변환을 시각적으로 구성합니다. 서로 다른 소스의 데이터는 먼저 관리되는 스냅샷으로 동기화한 뒤 함께 분석합니다.
- 불변 버전게시된 스냅샷은 수정되지 않습니다. 추적과 롤백이 가능하고, 참조 중인 버전이 실수로 삭제되지 않습니다.
- 읽기와 쓰기의 분리쓰기는 스케줄러만 수행하고, 쿼리는 읽기 전용 복제본을 사용합니다. API가 모르는 사이에 데이터를 바꾸는 일은 없습니다.
소스
- PostgreSQL
- SQL Server
- REST API
- CSV · XLSX
워크플로
- 01추출
- 02변환
- 03키 기준 병합
스냅샷
- v13parquet 불변
- v12parquet
- v11parquet
snapshot v13 · parquet · immutable
02 / 05 · 모델링
이 숫자는 왜 재무팀 숫자와 안 맞죠?
정의는 한 번만.
캔버스에서 테이블, 조인, 차원, 측정값을 시맨틱 모델로 구성하고 검증한 뒤 게시합니다. 리포트, AI 어시스턴트, 오픈 API가 같은 정의를 읽으므로 각자 따로 계산하는 일이 없습니다.
- 시각적 모델링테이블, 조인, 차원, 측정값을 캔버스에서 구성하며, 필요하면 네이티브 정의도 볼 수 있습니다.
- 초안에서 게시까지먼저 검증하고, 전체를 새 리비전으로 게시합니다. 과거의 정의는 바뀌지 않습니다.
- 일관된 계산 기준보고서, AI 어시스턴트와 공개 API가 같은 시맨틱 모델로 계산하며 결과를 검증할 수 있습니다.
measures:
- name: revenue
type: sum
sql: amount
filters:
- sql: "{CUBE}.status = 'confirmed'" ref(revenue)
- 리포트
- AI 어시스턴트
- API
- PG 포트
- MCP
revenue = SUM(amount) WHERE status = 'confirmed'
03 / 05 · 탐색
숫자 하나 보고 싶을 뿐인데, 또 데이터팀 일정을 기다려야 하네요.
현업이 직접 클릭하고
분석가는 줄 서지 않습니다.
게시된 모델에서 차원을 고르고, 측정값을 끌어 놓고, 차트를 바꾸고, 필터를 더하세요. 숫자 뒤에 있는 이유는 클릭 한 번이면 보입니다.
- 끌어서 탐색차원, 측정값, 차트 유형을 자유롭게 바꾸면 결과가 즉시 갱신됩니다.
- 드릴다운과 필터합계에서 상세로 내려가며, 필터는 차트와 함께 저장됩니다.
- 분석가를 위한 SQL분석가는 데이터를 준비할 때 SQL을 쓸 수 있습니다. 다만 결과는 관리되는 테이블로 저장되어야 리포트에서 사용할 수 있습니다.
차원
측정값
매출view → members → query → chart
04 / 05 · 질문
AI가 준 숫자, 그대로 써도 될까요?
데이터에 묻고,
출처가 있는 답을 받으세요.
자연어로 질문하세요. 어시스턴트는 시맨틱 레이어를 통해서만 데이터에 접근합니다. 모델 목록 보기, 메타데이터 읽기, 쿼리 실행. 모든 단계가 공개되고 질문한 사람 본인의 권한으로 실행됩니다.
- 단계가 보입니다어떤 도구를 썼고 어떤 멤버를 조회했는지 한눈에 보이며 검토할 수 있습니다.
- 같은 권한 경계당신에게 보이지 않는 모델과 행은 어시스턴트에게도 보이지 않습니다.
- 모델 서비스는 선택관리자가 OpenAI 호환 제공자, 모델, 키를 설정하며, 키는 암호화되어 저장됩니다.
어느 지역의 매출이 더 높나요?
- cube_list_models1 개 모델
- cube_get_metadatarevenue_model
- cube_queryrevenue × region
권한이 있는 데이터만
샘플 답변: 북부 지역의 매출이 더 높습니다. 지역과 분기를 선택하면 범위별 샘플 결과를 볼 수 있습니다.
cube_list_models → cube_get_metadata → cube_query
05 / 05 · 게시
리포트가 몇 번이나 바뀌어서 어느 게 맞는지 아무도 몰라요.
모든 변경에 흔적이 남고,
모든 버전으로 돌아갈 수 있습니다.
차트가 대시보드가 되고, 초안은 자동 저장되며, 게시하면 불변 버전이 고정됩니다. 문제가 생기면 이전 어느 버전으로든 복원하고, 환경 간 이전은 YAML로 내보내서 합니다.
- 자동 저장되는 초안편집 내용이 서버에 자동 저장되므로 다른 컴퓨터에서도 이어서 작업할 수 있습니다.
- 게시와 복원게시하면 이력 버전이 고정됩니다. 복원할 때는 먼저 현재 초안을 보관한 뒤 선택한 버전으로 돌아갑니다.
- 코드로서의 리포트차트와 대시보드를 YAML로 내보냅니다. 묶음 단위로 검증하고 가져오며, 하나라도 실패하면 전체가 롤백됩니다.
버전
- v7현재
- v6·
- v5·
↺ 복원: v6
⇣ YAML 내보내기
dashboard.yml · version 1 · dry-run → apply
03 · 데이터 구조
다섯 개의 층,
하나의 단일 출처.
원천 데이터에서 화면 속 답까지, 각 층은 하나의 역할과 하나의 경계를 가집니다. 층을 골라 그 안에 무엇이 있는지 보세요.
사람이 만지는 모든 것은 아래 층을 읽고, 우회하지 않습니다. 노트북, Agent, 대시보드, 데이터 앱, JSON API, MCP, PG 포트가 모두 같은 문을 지납니다.
- 노트북·SQL
- Agent 대화
- 대시보드·앱
- API · MCP · PG 포트
행 단위 권한은 단 한 곳에서만 적용됩니다. 판단할 수 없으면 쿼리를 통과시키지 않고 거부합니다.
- 적용 지점은 하나
- 불확실하면 거부
- 어디서나 같은 행
매출은 필터 조건과 함께 한 번만 정의되고, 모든 차트·답변·API 호출이 그것을 재사용합니다. 게시된 모델은 읽는 스냅샷을 고정하므로, 쿼리 중간에 새 데이터와 옛 데이터가 섞이지 않습니다.
- 차원
- 측정값
- 조인
- 스냅샷 고정
새로 고칠 때마다 변경할 수 없는 새 버전이 기록되며, 제자리에서 고치는 일은 없습니다. 쓰기는 스케줄러만 하고, 나머지는 모두 읽기 전용입니다.
- 변경 불가
- Parquet
- 기본 키 필수
열 가지 데이터베이스에 연결하고, 파일을 올리고, API에서 가져옵니다. 워크플로가 일정에 따라 추출·변환·병합합니다.
- 10종 데이터베이스
- CSV · Excel
- API 수집
- 예약 워크플로
개념도입니다. 층 이름은 제품 아키텍처를 단순화한 것입니다.
04 · AI가 만든
말로 설명하면
동작하는 앱이 나옵니다.
보고 싶은 것을 Agent에게 말해 주세요. 시맨틱 레이어를 읽고 단일 파일 데이터 앱을 작성해 바로 미리 보여 줍니다. 확인한 뒤 데이터 앱으로 저장하세요.
지역과 카테고리별 매출 대시보드를 만들어 줘.
매출 개요
1689만매출 · Q3 · 샘플 데이터
- 의류
- 홈
- 뷰티
- 전자제품
- 식품
가격을 바꿔 보고 매출과 마진이 어떻게 되는지 보게 해 줘.
가격 시뮬레이션
- 매출
- 474만
- +22만
- 매출총이익률
- 62.8%
- +1.8
매출 예측
가입 코호트별 고객 유지율을 보여 줘.
유지율
코호트·월별 유지율
고객을 매출과 성장 기준으로 찍고 이상치를 표시해 줘.
고객 지도
가상의 소매업체 샘플 데이터로 만든 예시 앱입니다. 생성된 앱은 네트워크가 막힌 샌드박스에서 실행되며, 호스트를 통해 내 권한으로 데이터를 읽습니다.
05 · 거버넌스
같은 테이블, 다른 사람,
다른 행.
인증, 스페이스 권한, 행 수준 권한, 감사가 겹겹이 조여 줍니다. 행 수준 권한은 시맨틱 레이어에서 한 번만 집행되며, 리포트, AI 어시스턴트, API, PG 포트에 똑같이 적용됩니다. 판단을 받지 못하면 허용이 아니라 거부합니다.
체험: 신원 전환
네 개의 진입점, 하나의 결과
- 리포트7,549,201.50
- AI 어시스턴트7,549,201.50
- API7,549,201.50
- PG 포트7,549,201.50
- 01
신원
계정과 OIDC 로그인. 데이터에 접근하기 전에 먼저 누구인지 확인합니다.
- 02
스페이스 및 리소스 권한
자산은 개인 또는 팀 스페이스에 속하며, 폴더와 리소스는 구성원에게 부여합니다.
- 03
행 수준 권한
권한 테이블이 각자가 볼 수 있는 행을 결정하며, 시맨틱 레이어에서 한 번만 집행됩니다.
- 04
감사
주요 작업은 기록으로 남아, 누가 언제 무엇을 했는지 조회할 수 있습니다.
샌드박스 안의 SQL
SQL 콘솔은 제한된 DuckDB 샌드박스에서 실행되며 외부 파일 접근이 꺼져 있습니다.
아웃바운드 정책
워크플로와 연결에서 나가는 요청은 모두 하나의 전역 아웃바운드 접근 정책을 따릅니다.
AI도 같은 권한
어시스턴트는 질문한 사람으로서 조회하며, 그보다 넓은 권한을 물려받지 않습니다.
06 · 개방성
들여오기도 쉽고,
내보내기도 쉽게.
네이티브 JSON API, MCP, PG 프로토콜 포트, 그리고 YAML 형태의 차트와 대시보드. 데이터와 정의를 화면 안에 가두지 않습니다.
데이터 소스
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- Doris · StarRocks
- 파일 · API 가져오기
Cube Core
- 데이터 모델링차원, 측정값, 조인, 뷰를 한 번만 정의
- 접근 제어행 권한의 유일한 적용 지점, 뷰만 공개
- 스냅샷 고정모든 쿼리는 불변 데이터 버전을 읽음
- 개방 APIJSON API · MCP · PG 포트
시맨틱 레이어
소비자
- 대시보드와 데이터 앱워크스페이스 안
- AI 에이전트MCP
- 외부 시스템JSON API
- BI 도구와 ExcelPG 포트 · Power Query
POST /api/v1/query
Authorization: Bearer <token>
{
"model_id": "valuation",
"view": "asset_view",
"query": {
"measures": ["asset_view.revenue"],
"dimensions": ["asset_view.region"],
"order": [["asset_view.revenue", "desc"]],
"limit": 100
}
}
// → { "data": [ … ], "release_id": "…", "snapshot_set_id": "…" }네이티브 JSON 쿼리이며, 결과에 게시 버전과 스냅샷 식별자가 함께 포함됩니다.
지원하는 데이터베이스
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- TiDB
- Doris
- StarRocks
- KingbaseES
- DuckDB
CSV / XLSX 업로드와 API 수집도 지원합니다.
데이터베이스 연결은 SSH 점프 호스트와 상호 TLS를 지원합니다
07 · 누가 쓰나요
하나의 플랫폼,
세 가지 역할이 각자 필요한 것을.
비즈니스 팀
이전데이터팀이 숫자를 뽑아 주기를 기다림
지금게시된 모델을 직접 탐색
이전숫자가 어디서 왔는지 설명하지 못함
지금AI 답변에 도구 단계와 정의가 함께 제공됨
이전리포트마다 숫자가 다름
지금하나의 공통 지표 정의 사용
데이터 팀
이전리포트마다 SQL 하나씩
지금준비는 한 번, 모델링도 한 번, 게시도 한 번
이전수작업 새로고침, 추적하기 어려운 오류
지금워크플로로 새로고침하며 매번 새 버전 생성
이전정의를 바꾸면 다 깨질까 두려움
지금초안으로 검증하고 새 리비전으로 전체 게시
IT 및 경영진
이전관행과 단체 채팅에 의존하는 권한
지금스페이스 권한과 행 수준 권한을 한 곳에서 집행
이전내보내기와 스크린샷이 곳곳에
지금조회는 인가된 API를 거치고 작업은 감사됨
이전AI가 권한을 넘을까 걱정
지금AI는 질문자와 같은 권한, 단계도 확인 가능
자주 묻는 질문
Shuzi는 무엇인가요?
Shuzi는 데이터 수집, 준비, 시맨틱 모델링, 분석, 게시를 하나의 흐름으로 연결해 팀이 공통의 지표 정의로 일하게 해 줍니다.
SQL을 알아야 하나요?
비즈니스 사용자는 게시된 리포트, 탐색 화면, AI 어시스턴트를 쓸 수 있습니다. 분석가는 데이터 준비 단계에서 SQL을 쓸 수 있습니다.
AI가 제가 볼 수 없는 데이터를 볼 수 있나요?
아니요. 어시스턴트는 질문한 사람으로서 같은 권한 체계와 행 수준 권한을 거쳐 조회합니다.
다른 도구에서도 조회할 수 있나요?
네. 게시된 모델은 JSON API, MCP, PG 포트로 사용할 수 있으며, 실제 접근에는 인증과 권한이 필요합니다.
이 사이트의 데이터는 실제 데이터인가요?
아니요. 이 사이트는 로컬 샘플 데이터와 미리 정해 둔 답변만 사용합니다. 실제 데이터는 로그인 후 본인의 권한 범위에서 사용할 수 있습니다.