Superset Nedir?
Harika soru Yakup 👌
Apache Superset, açık kaynak dünyasının en güçlü data visualization (veri görselleştirme) ve BI (Business Intelligence) araçlarından biridir — ve PostgreSQL / TimescaleDB gibi veri kaynaklarıyla da mükemmel entegre çalışır.
Aşağıda Superset’i teknik olarak, mimari olarak ve TimescaleDB gibi sistemlerle nasıl kullanabileceğini detaylı anlatıyorum 👇
🧠 1. Superset Nedir?
Apache Superset, Netflix, Airbnb ve Lyft gibi büyük şirketlerde kullanılan, SQL tabanlı, modern, açık kaynak BI platformudur.
👉 Kısaca:
“Grafana’nın data analysis versiyonu” veya
“Tableau’nun açık kaynak alternatifi” diyebilirsin.
🏗️ 2. Temel Özellikleri
| Özellik | Açıklama |
|---|---|
| SQL tabanlı | PostgreSQL, MySQL, Snowflake, BigQuery, ClickHouse, TimescaleDB vb. birçok kaynağa direkt bağlanabilir. |
| Dashboard oluşturma | Herhangi bir sorgudan kolayca dinamik dashboard’lar oluşturabilirsin. |
| No-code Query Builder | SQL bilmeyen kullanıcılar için “Explore” ekranı ile sürükle-bırak grafikler yapılabilir. |
| Custom SQL destekli | SQL bilenler doğrudan kendi sorgularını yazabilir. |
| Zengin chart desteği | Line, bar, pie, scatter, time-series, heatmap, boxplot, histogram, KPI, table, pivot vb. |
| Kullanıcı / Rol Yönetimi | LDAP / OAuth / RBAC destekli yetkilendirme. |
| Extensible (özelleştirilebilir) | React tabanlı frontend + Python (Flask) backend mimarisi sayesinde plugin geliştirilebilir. |
| Açık kaynak | Apache 2.0 lisanslı — tamamen ücretsiz. |
⚙️ 3. Mimarisi
Superset 3 ana bileşenden oluşur:
+-------------------------------------------+
| 🌐 Superset UI (React tabanlı frontend) |
+-------------------------------------------+
| ⚙️ Flask App (Python backend + REST API) |
+-------------------------------------------+
| 🧩 SQLAlchemy + Database Drivers |
| (PostgreSQL, MySQL, Timescale, ClickHouse...) |
+-------------------------------------------+
Bağlantı örneği:
Superset aslında SQLAlchemy üzerinden veri kaynaklarına bağlanır.
Örneğin PostgreSQL için bağlantı URI’sı şu şekildedir:
postgresql+psycopg2://user:password@host:5432/dbname
📊 4. Analiz Akışı (Workflow)
Superset’te analiz süreci genelde şu şekilde ilerler:
- Data Source eklenir → PostgreSQL / Timescale / etc.
- SQL Lab sekmesinde sorgu yazılır.
SELECT time_bucket('1 hour', time) AS bucket, avg(cpu_usage) AS avg_cpu FROM metrics GROUP BY bucket ORDER BY bucket; - Explore ekranına geçilir → grafik tipi seçilir (örneğin line chart).
- Dashboard oluşturulur → grafik sürükle-bırak yöntemiyle yerleştirilir.
- Filtreler / Date picker eklenir → interaktif hale getirilir.
🧩 5. TimescaleDB ile Kullanımı
TimescaleDB aslında PostgreSQL olduğu için Superset onu direkt native destekler.
Avantaj:
- Continuous Aggregate tablolarını kolayca sorgular.
time_bucket()fonksiyonlarıyla time-series chart’lar çok hızlı çalışır.- Büyük hacimli veride bile SQL pushdown ile performanslıdır.
📈 Örnek:
Zaman serisi CPU grafiği çizmek için:
SELECT time_bucket('5 minutes', time) AS bucket,
avg(cpu_usage) AS avg_cpu
FROM metrics
GROUP BY bucket
ORDER BY bucket;
Bu sorguyu Superset “Explore” kısmına yapıştırıp chart tipini “Time Series Line Chart” seçtiğinde anında görselleştirme elde edersin.
☁️ 6. Kurulum
Docker Compose (en kolay yol):
git clone https://github.com/apache/superset.git
cd superset
docker-compose -f docker-compose-non-dev.yml up
Ardından tarayıcıda http://localhost:8088 → kullanıcı: admin / admin
🔐 7. Kullanım Alanları
| Alan | Örnek |
|---|---|
| DevOps & Metrik İzleme | Timescale + Superset ile CPU, latency, error rate dashboard’ları |
| IoT Data Analizi | Sensör verilerinden sıcaklık / enerji tüketimi grafikleri |
| Finans / Trading | Candle chart, volatility, fiyat trendleri |
| Operasyonel Raporlama | Satış, kullanıcı, sipariş verileri |
| KPI / SLA Dashboard | Servis performans, uptime oranları |
⚖️ 8. Superset vs Alternatifler
| Araç | Türü | Avantaj | Dezavantaj |
|---|---|---|---|
| Superset | Açık kaynak BI | SQL tabanlı, geniş destek | Bazı advanced filtrelerde karmaşık yapı |
| Metabase | Açık kaynak BI | Daha basit UI | Büyük veri setlerinde daha yavaş |
| Grafana | Monitoring / metric | Real-time stream güçlü | Veri modeli karmaşık olmayan analizler için |
| Tableau / Power BI | Ticari BI | Gelişmiş görseller | Lisans maliyeti yüksek |
🧠 9. Özet
| Kategori | Açıklama |
|---|---|
| Ürün | Apache Superset |
| Türü | Açık kaynak BI / Veri görselleştirme aracı |
| Teknoloji | Python (Flask) + React + SQLAlchemy |
| Desteklenen kaynaklar | PostgreSQL, TimescaleDB, MySQL, ClickHouse, BigQuery, Snowflake, vs. |
| Avantajları | SQL tabanlı, ücretsiz, geniş veri kaynağı desteği |
| Kullanım Alanı | Dashboard, KPI, BI, operasyonel analiz, veri keşfi |
İstersen sana özel bir örnek hazırlayayım:
- 🔹 TimescaleDB + Superset Docker ortamı (örnek veriyle)
- 🔹 İlk dashboard’unu (örnek CPU trend grafiği + veri tablosu) oluşturan SQL’ler
Hazırlayayım mı?