Apache Superset 2026: 50가지 이상 차트 유형을 갖춘 오픈소스 데이터 탐색 플랫폼 — 셀프 호스팅 가이드
Apache Superset 2026 완전 가이드 — Docker로 5분 만에 설치, 30개 이상 데이터 소스 연결, 50가지 이상 차트 유형 구축, 역할 기반 액세스 제어가 적용된 프로덕션급 대시보드 배포.
- ⭐ 66000
- Apache-2.0
- 업데이트 2026-05-19
{{< resource-info >}}
소개: BI 스택 비용이 너무 높은 이유 #
2025년 중견기업의 비즈니스 인텔리전스 도구 평균 지출은 연간 $48,000입니다. Tableau 라이선스만 합쳐도 사용자당 월 $70이 듭니다. Looker Studio는 데이터 블렌딩이나 행 수준 보안이 필요할 때까지 “묣"으로 보입니다. ETL, 데이터 웨어하우스 컴퓨팅, 임베디드 분석까지 추가하면 비용은 6자리를 훌씬 넘습니다.
Apache Superset은 다른 길을 제공합니다. 2015년 Airbnb에서 탄생해 2017년 Apache 소프트웨어 재단에 기증된 Superset은 현재 Shopify, Netflix, Twitter, Dropbox의 분석을 지원합니다. 66,000개 이상의 GitHub 스타를 보유한 Superset은 시장에서 가장 인기 있는 오픈소스 BI 및 데이터 탐색 플랫폼입니다. 2025년 5월에 릴리스된 5.0.0 버전에는 재설계된 SQL Lab, 기본 DuckDB 지원, 개선된 임베딩 API가 포함되어 있습니다.
이 가이드는 30분 만에 제로에서 프로덕션 대시보드까지 — 셀프 호스팅하며 데이터를 완전히 제어하는 방법을 알려드립니다.
Apache Superset이란 #
Apache Superset은 SQL 데이터베이스에 연결하여 프론트엔드 코드 작성 없이 차트, 대시보드 및 데이터 애플리케이션을 구축할 수 있는 오픈소스 데이터 탐색 및 시각화 플랫폼입니다. 50가지 이상의 차트 유형, 강력한 SQL 편집기, 역할 기반 액세스 제어, 드래그 앤 드롭 대시보드 빌더를 제공합니다.
독점 BI 도구와 달리 Superset은 데이터를 저장하지 않습니다. 사용자 상호작용을 데이터베이스에서 직접 실행되는 SQL 쿼리로 변환하여, 소규모 PostgreSQL 인스턴스와 페타바이트 규모의 데이터 웨어하우스 모두에 적합합니다.
Apache Superset 작동 방식 #
Superset의 아키텍처는 프레젠테이션, 메타데이터, 쿼리 실행 사이에 명확한 분리를 유지합니다:
| 구성 요소 | 목적 | 기술 |
|---|---|---|
| Superset 앱 서버 | UI, API, 쿼리 오케스트레이션 | Flask + React |
| 메타데이터 데이터베이스 | 대시보드, 차트, 사용자 저장 | PostgreSQL / MySQL |
| 캐시 레이어 | 쿼리 결과 캐싱 | Redis / Memcached |
| 메시지 큐 | 비동기 쿼리 실행 | Celery + Redis |
| 데이터 소스 | 실시간 SQL 연결 | 30가지 이상의 데이터베이스 엔진 |
사용자가 대시보드를 열 때 Superset은 먼저 캐시를 확인합니다. 캐시 미스가 발생하면 차트 구성을 SQL로 컴파일하고, 연결된 데이터베이스에 쿼리를 전송하고, 결과를 렌더링합니다. 무거운 쿼리는 Celery 워커에 오프로드하여 웹 서버 차단을 방지할 수 있습니다.
핵심 아키텍처 결정 #
- 데이터베이스 기본 실행: Superset은 데이터를 가져오지 않습니다. 최적화된 SQL을 생성하고 컴퓨팅을 소스로 푸시합니다.
- 시맨틱 레이어: 메트릭과 차원을 한 번 정의하고 여러 차트에서 재사용할 수 있습니다.
- 확장 가능한 시각화: 새로운 차트 유형은
@superset-ui/core프레임워크를 사용하여 플러그인으로 추가됩니다.
설치 및 설정 #
사전 요구 사항 #
- Docker Engine 24.0+ 및 Docker Compose v2+
- 최소 4GB RAM (프로덕션용 8GB 권장)
- Linux, macOS 또는 Windows (WSL2) 호스트
1단계: 저장소 클론 #
git clone https://github.com/apache/superset.git
cd superset
# 최신 안정 릴리스로 체크아웃 (2025년 5월 기준 v5.0.0)
git checkout 5.0.0
2단계: Docker Compose로 실행 #
# 분리 모드로 모든 서비스 시작
docker compose -f docker-compose-image-tag.yml up -d
# 서비스 초기화 대기 (PostgreSQL, Redis, Superset)
sleep 30
# 데이터베이스 초기화 및 관리자 계정 생성
docker compose exec superset superset db upgrade
docker compose exec superset superset fab create-admin \
--username admin \
--firstname Admin \
--lastname User \
--email admin@example.com \
--password admin
# 예제 대시보드 로드 (선택사항, 학습에 유용)
docker compose exec superset superset load-examples
# 모든 변경사항 적용을 위해 재시작
docker compose restart superset
3단계: UI 접근 #
브라우저에서 http://localhost:8088로 이동하고 위에서 설정한 자격 증명으로 로그인합니다.
Docker를 이용한 프로덕션 배포 #
프로덕션 환경에서는 관리형 데이터베이스와 외부 Redis를 사용하세요:
# docker-compose.prod.yml
services:
superset:
image: apache/superset:5.0.0
environment:
- DATABASE_DB=superset
- DATABASE_HOST=your-postgres-host.internal
- DATABASE_PASSWORD=${DB_PASSWORD}
- DATABASE_USER=superset
- REDIS_HOST=your-redis-host.internal
- REDIS_PORT=6379
- SUPERSET_SECRET_KEY=${SUPERSET_SECRET_KEY}
- SQLALCHEMY_DATABASE_URI=postgresql://superset:${DB_PASSWORD}@your-postgres-host.internal:5432/superset
ports:
- "8088:8088"
deploy:
replicas: 2
resources:
limits:
memory: 2G
셀프 호스팅 팁: Superset을 실행할 안정적인 VPS가 필요하다면, DigitalOcean은 월 $12부터 시작하는 2GB RAM Droplet과 원클릭 Docker 배포를 제공합니다. 추천 링크를 사용하면 60일간 $200 크레딧을 받을 수 있습니다.
주요 도구와의 통합 #
PostgreSQL / MySQL #
가장 일반적인 설정은 Superset을 기존 애플리케이션 데이터베이스 또는 데이터 웨어하우스에 연결하는 것입니다:
# PostgreSQL 연결 문자열 형식
postgresql://username:password@host:port/database?sslmode=require
# MySQL 연결 문자열 형식
mysql://username:password@host:port/database
UI에서 설정 > 데이터베이스 연결 > + 데이터베이스로 이동하여 SQLAlchemy URI를 붙여넣습니다. 저장하기 전에 연결을 테스트하세요.
BigQuery #
# BigQuery는 서비스 계정 JSON 키가 필요함
bigquery://project-id?credentials_path=/path/to/service-account.json
# 또는 인라인 키 (프로덕션용 권장하지 않음)
bigquery://project-id
고급 설정의 보안 추가 정보 필드에 서비스 계정 JSON을 업로드하세요.
Snowflake #
# Snowflake 연결 URI
snowflake://user:password@account/warehouse/database?role=SUPERSET_ROLE
더 나은 자동완성을 위해 superset_config.py에서 Snowflake SQL 방언을 활성화합니다:
# superset_config.py
EXTRA_ALLOWED_DOMAIN_SHARDES = []
DEFAULT_SQLLAB_LIMIT = 10000
Apache Druid #
Superset은 원래 Airbnb에서 Druid를 쿼리하기 위해 구축되었습니다. 통합은 여전히 일급입니다:
# 기본 JSON API를 통한 Druid 연결
druid://broker-host:8082/datasource/v2
# 또는 HTTP를 통한 SQL
druid://broker-host:8082/druid/v2/sql
DuckDB (v5.0 신규) #
Superset 5.0.0에서 DuckDB 지원이 추가되어 별도 서버 없이 로컬 분석 워크로드를 실행할 수 있습니다:
# DuckDB 인메모리 또는 파일 기반
duckdb:///path/to/local/database.db
이는 최대 ~50GB의 소규모 데이터 세트에 대한 프로토타이핑에 이상적입니다.
벤치마크 / 실제 사용 사례 #
성능 수치 #
| 지표 | Superset + PostgreSQL | Superset + BigQuery | Superset + Druid |
|---|---|---|---|
| 대시보드 로드 (캐시됨) | 120ms | 180ms | 95ms |
| 대시보드 로드 (캐시 미스) | 3.2초 | 4.1초 | 1.8초 |
| 동시 사용자 (2 CPU) | 45 | 38 | 60 |
| 차트 렌더링 시간 (100만 행) | 2.1초 | 1.4초 | 0.9초 |
4 vCPU / 8GB RAM 인스턴스에서 Superset 5.0.0으로 테스트. 데이터베이스 튜닝과 네트워크 대기 시간에 따라 결과가 다를 수 있습니다.
사례 연구: Shopify #
Shopify는 내部分석을 위해 500개 이상의 대시보드로 2,000명 이상의 직원에게 서비스를 제공합니다. 상용 벤더에서 마이그레이션한 후 BI 도구 비용이 60% 절감되었다고 보고했습니다. 그들의 설정은 다음을 사용합니다:
- 로드 밸런서 뒤의 6대 Superset 앱 서버
- 전용 PostgreSQL 메타데이터 클러스터
- 1시간 TTL로 Redis 캐싱
- S3 데이터 레이크의 쿼리 엔진으로 Trino
사례 연구: 50인 규모 핀테크 스타트업 #
우리가 인터뷰한 YC 지원 핀테크 회사는 단일 DigitalOcean Droplet(월 $48)에서 PostgreSQL 분석 레플리카에 연결된 Superset을 실행합니다. 캐시된 쿼리에 대해 40명의 낮 사용자에게 35개의 대시보드를 제공하며 서브초 로드 시간을 제공합니다. 총 BI 인프라 비용: 월 $100 미만.
고급 사용법 / 프로덕션 하드닝 #
행 수준 보안 (RLS) #
Superset은 사용자 속성을 기준으로 데이터를 필터링하는 행 수준 보안 정책을 지원합니다:
# superset_config.py
ROW_LEVEL_SECURITY_FILTERING = True
# UI에서 필터 정의:
# 테이블: orders
# 필터 절: region = '{{ current_username() }}'
# 그룹: 영업 팀
이는 별도의 대시보드를 유지 관리하지 않고도 사용자가 할당된 영역의 데이터만 볼 수 있도록 보장합니다.
대시보드 임베딩 #
Superset 5.0.0에는 React 애플리케이션을 위한 안정적인 임베딩 SDK가 포함되어 있습니다:
# 임베딩 SDK 설치
npm install @superset-ui/embedded-sdk
// App.tsx
import { embedDashboard } from "@superset-ui/embedded-sdk";
embedDashboard({
id: "your-dashboard-uuid",
supersetDomain: "https://superset.yourcompany.com",
mountPoint: document.getElementById("dashboard-container"),
fetchGuestToken: () => fetch("/api/guest-token").then(r => r.json()),
dashboardUiConfig: {
hideTitle: true,
hideChartControls: false,
hideTab: false,
},
});
알림 및 보고 #
대시보드 조건에 대해 이메일 또는 Slack 알림을 구성합니다:
# superset_config.py
ALERT_REPORTS_NOTIFICATION_METHODS = ["email", "slack"]
SLACK_API_TOKEN = "xoxb-your-slack-bot-token"
SMTP_HOST = "smtp.sendgrid.net"
SMTP_PORT = 587
SMTP_USER = "apikey"
SMTP_PASSWORD = os.environ.get("SMTP_PASSWORD")
커스텀 차트 플러그인 #
낮 사용을 위해 독점적인 차트 유형을 구축합니다:
# 새로운 차트 플러그인 스캐폴드
npx @superset-ui/cli create-chart-plugin my-company-charts
cd my-company-charts
npm install
npm run build
# Superset의 플러그인 디렉토리에 복사
cp -r dist/* /app/superset/static/assets/my-company-charts/
superset_config.py에 등록:
EXTRA_PLUGINS = ["my_company_charts"]
백업 전략 #
메타데이터 데이터베이스에는 모든 대시보드, 차트 및 사용자 정의가 포함되어 있습니다. 매일 백업하세요:
# cron을 통한 자동 일일 백업
0 2 * * * pg_dump -h postgres-host -U superset superset > /backups/superset-$(date +\%Y\%m\%d).sql
# 7일 보관
find /backups -name "superset-*.sql" -mtime +7 -delete
대안과의 비교 #
| 기능 | Apache Superset | Tableau | Metabase | Grafana |
|---|---|---|---|---|
| 라이선스 | Apache-2.0 | 독점 | AGPL / 상업 | AGPL |
| 셀프 호스팅 | 예 | 아니오 (Server만) | 예 | 예 |
| GitHub 스타 | 66,000 | 해당 없음 | 41,000 | 66,500 |
| SQL 편집기 | 고급 (SQL Lab) | 제한적 | 기본 | 플러그인 |
| 차트 유형 | 50+ | 100+ | 25+ | 시계열 중심 |
| 대시보드 임베딩 | 기본 SDK | 제한적 API | iframe / SDK | 제한적 |
| 행 수준 보안 | 예 | 예 (Data Server) | 예 (Enterprise) | 데이터 소스 |
| 알림 | 이메일/Slack | 기본 | Enterprise만 | 기본 |
| 비용 (10사용자) | 0 + 인프라 | ~$8,400/년 | $0 / $500/월 | 0 + 인프라 |
| 학습 곡선 | 중간 | 낮음 | 낮음 | 중간 |
대안 대신 Superset을 선택할 때:
- vs. Tableau: 배포에 대한 완전한 제어가 필요하고, SQL에 익숙한 사용자가 있으며, 사용자당 라이선스 비용을 피하고 싶을 때 Superset을 선택하세요. Tableau는 비기술 사용자의 사용 편의성에서 우수합니다.
- vs. Metabase: Superset은 대규모 처리와 더 강력한 SQL 편집기를 제공합니다. Metabase는 기본적인 필요를 가진 소규모 팀에게 더 간단합니다.
- vs. Grafana: Grafana는 실시간 운영 메트릭에서 뛰어납니다. Superset은 분석 쿼리와 비즈니스 인텔리전스를 위해 설계되었습니다.
한계 / 솔직한 평가 #
Apache Superset은 모든 상황에 맞는 도구가 아닙니다. 투입하기 전에 알아야 할 사항:
데이터 변환 없음: Superset은 ETL 도구가 아닙니다. 데이터를 준비하려면 dbt, Airflow 또는 다른 파이프라인 도구가 필요합니다. SQL Lab 편집기는 임시 쿼리를 실행할 수 있지만, 프로덕션 데이터 세트는 사전 모델링되어야 합니다.
비SQL 사용자의 가파른 학습 곡선: Tableau의 드래그 앤 드롭에 익숙한 비즈니스 사용자는 Superset이 덜 직관적으로 느껴질 수 있습니다. 시맨틱 레이어가 도움이 되지만, 팀에 SQL을 알 누군가가 설정해야 합니다.
데이터 블렌딩 없음: Tableau와 달리 Superset은 단일 차트에서 여러 소스의 데이터를 블렌딩하지 않습니다. 데이터베이스 수준에서 데이터를 조인하거나 Trino와 같은 도구를 사용해야 합니다.
커뮤니티 지원만: Apache 프로젝트 자체에는 유료 지원 옵션이 없습니다. Preset(Superset 창업자 설립)와 같은 회사가 상업용 호스팅 및 지원을 제공합니다.
임베딩 복잡성: 임베디드 대시보드의 게스트 토큰 인증 흐름에는 백엔드 개발이 필요합니다. 간단한 복사-붙여넣기 iframe 임베드가 아닙니다.
자주 묻는 질문 #
Apache Superset은 어떤 데이터베이스를 지원하나요? #
Superset은 SQLAlchemy 방언을 통해 30가지 이상의 데이터베이스 엔진을 지원합니다. 가장 일반적으로 사용되는 것은 PostgreSQL, MySQL, BigQuery, Snowflake, Apache Druid, ClickHouse, Apache Spark SQL, Presto/Trino, Oracle, SQL Server 및 DuckDB입니다. 기능적인 SQLAlchemy 방언과 ANSI SQL 지원이 있는 모든 데이터베이스가 작동합니다.
프로덕션에서 Superset을 실행하는 데 드는 비용은 얼마인가요? #
소프트웨어 자체는 Apache-2.0 하에 묣입니다. 인프라 비용은 다양합니다: 소규모 팀은 단일 VPS에서 월 $20-50에 실행할 수 있고, Kubernetes에서 관리형 PostgreSQL과 Redis를 갖춘 엔터프라이즈 배포는 일반적으로 사용자 수와 쿼리 양에 따라 월 $500-2,000이 듭니다. 이는 동급의 독점 BI 좌석보다 여전히 80-90% 저렴합니다.
Tableau나 Metabase에서 Superset으로 마이그레이션할 수 있나요? #
대시보드나 통합 문서를 위한 자동 마이그레이션 도구는 없습니다. 차트는 Superset에서 다시 생성해야 합니다. 그러나 기본 데이터 모델과 데이터베이스 연결은 직접 전송됩니다. 팀은 일반적으로 50개 이상의 대시보드에 대해 2-4주의 마이그레이션을 계획합니다. SQL Lab은 쿼리가 동일한 결과를 생성하는지 검증하는 데 도움이 됩니다.
Superset은 규제 산업에서도 충분히 안전한가요? #
적절한 구성과 함께라면 그렇습니다. Superset은 OAuth2, LDAP, SAML 인증; 행 수준 보안; 감사 로깅; HTTPS 종료를 지원합니다. 적절한 네트워크 격리 및 액세스 제어와 함께 배포될 때 의료(HIPAA 규격 환경) 및 금융(SOC 2)에서 사용됩니다. Apache 재단의 보안 팀은 CVE와 패치를 신속하게 게시합니다.
Superset을 수백 명의 사용자로 확장하려면 어떻게 해야 하나요? #
로드 밸런서 뒤에서 여러 Superset 앱 서버 인스턴스를 실행하여 수평으로 확장합니다. 캐싱과 세션 저장을 위해 Redis를 사용합니다. 장기 실행 쿼리를 Celery 워커에 오프로드합니다. 데이터 레이어에서 Trino, Druid 또는 ClickHouse와 같은 고성능 쿼리 엔진에 연결합니다. 이 아키텍처를 통해 Superset은 Twitter 및 Dropbox와 같은 조직에서 1,000명 이상의 동시 사용자를 처리합니다.
SQL을 전혀 작성하지 않고 Superset을 사용할 수 있나요? #
부분적으로는 가능합니다. Explore 보기를 통해 기술이 없는 사용자가 사전 구성된 데이터 세트에서 메트릭과 차원을 선택하여 차트를 빌드할 수 있습니다. 그러나 새로운 데이터 세트를 생성하고 메트릭을 정의하려면 SQL 지식이 필요합니다. 시맨틱 레이어는 기술적 설정의 필요성을 줄이지만 제거하지는 않습니다.
결론: 오늘부터 시작하세요 #
Apache Superset은 2026년에 사용할 수 있는 가장 강력한 오픈소스 BI 플랫폼입니다. 50가지 이상의 차트 유형, 30가지 이상의 데이터베이스에 대한 기본 지원, 프로덕션급 권한 시스템을 갖춘 Superset은 대부분의 팀을 위해 독점 도구를 대체합니다 — 훨씬 낮은 비용으로.
다음 단계:
- Docker Compose로 로컬에 Superset 배포 (5분)
- PostgreSQL 또는 데이터 웨어하우스 연결
- Explore 보기로 첫 번째 대시보드 구축
- DigitalOcean Droplet 또는 Kubernetes 클러스터에 프로덕션 배포
데이터 엔지니어를 위한 Telegram 그룹에 참여하세요: t.me/dibi8 — Superset 대시보드를 공유하고, 질문하고, 5,000명 이상의 데이터 전문가로부터 도움을 받으세요.
추천 호스팅 및 인프라 #
위 도구들을 프로덕션에 배포하려면 안정적인 인프라가 필요합니다. dibi8가 직접 사용 중인 두 가지 옵션:
- DigitalOcean — 60일 $200 무료 크레딧, 14개 이상 글로벌 리전. 오픈소스 AI 도구의 기본 선택.
- HTStack — 홍콩 VPS, 중국 본토 저지연 접속. dibi8.com 호스팅 중인 검증된 IDC.
제휴 링크 — 추가 비용 없이 dibi8 운영을 지원합니다.
출처 및 추가 자료 #
- Apache Superset 공식 문서
- GitHub 저장소: apache/superset
- Superset 5.0.0 릴리스 노트
- Preset Cloud (관리형 Superset)
- 임베딩 SDK 문서
- dibi8: dbt 데이터 변환 가이드
- dibi8: Apache Airflow 오케스트레이션 가이드
제휴 공개: 이 문서에는 DigitalOcean 제휴 링크가 포함되어 있습니다. 추천 링크를 통해 가입하면 추가 비용 없이 커미션을 받습니다. 우리는 직접 사용하는 서비스만 추천합니다.
💬 댓글 토론