format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightApache Superset Nedir?
- arrow_rightSuperset'in Temel Özellikleri
- arrow_rightSunucu Gereksinimleri
- arrow_rightSuperset Kurulumu (Docker ile)
- arrow_right1. Docker ve Docker Compose Kurulumu
- arrow_right2. Superset Docker Compose Yapılandırması
- arrow_right3. Ortam Değişkenleri Yapılandırması
- arrow_right4. Superset'i Başlatma
- arrow_right5. Kurulum Doğrulama
- arrow_rightSuperset Konfigürasyonu
- arrow_rightTemel Ayarlar
- arrow_rightGüvenlik Ayarları
- arrow_rightVeritabanı Bağlantısı
- arrow_rightVeritabanı Driver Kurulumu
- arrow_rightBağlantı Oluşturma
- arrow_rightDashboard Oluşturma
- arrow_rightDataset Ekleme
- arrow_rightChart Oluşturma
- arrow_rightDashboard Düzenleme
- arrow_rightSuperset vs Diğer Araçlar: Karşılaştırma
- arrow_rightİleri Düzey Konfigürasyon
- arrow_rightRedis Cache Kurulumu
- arrow_rightCelery Worker Yapılandırması
- arrow_rightGüvenlik En İyi Uygulamaları
Kendi Veri Analiz Sunucunuzu Kurun: Superset Rehberi
Veri odaklı karar alma süreçleri, modern iş dünyasının vazgeçilmez bir parçası haline geldi. Şirketler, ham verileri anlamlı içgörülere dönüştürmek için güçlü görselleştirme araçlarına ihtiyaç duyuyor. Apache Superset, açık kaynaklı yapısı ve güçlü özellikleriyle veri analizi sunucusu kurmak isteyenler için ideal bir çözüm sunuyor. Bu kapsamlı rehberde, Superset'in ne olduğunu, nasıl kurulacağını ve veri analiz altyapınızı nasıl oluşturacağınızı adım adım inceleyeceğiz.
Apache Superset Nedir?
Apache Superset, Airbnb tarafından geliştirilen ve Apache Software Foundation'a bağışlanan modern, açık kaynaklı bir iş zekası ve veri görselleştirme platformudur. Python tabanlı bu araç, büyük veri kümelerini hızlı bir şekilde görselleştirmenize, etkileşimli dashboard'lar oluşturmanıza ve SQL editörü ile veriler üzerinde sorgulamalar yapmanıza olanak tanır.
Superset, Fortune 500 şirketlerinin %70'inden fazlası tarafından kullanılmakta olup, açık kaynak toplulukta en hızlı büyüyen veri görselleştirme projelerinden biridir. [Kaynak: Apache Superset Community Statistics, 2024]
Superset'in Temel Özellikleri
Superset, veri analizi süreçlerinizi kolaylaştıran geniş bir özellik yelpazesi sunar:
- SQL Desteği: Dahili SQL editörü ile veritabanları üzerinde doğrudan sorgulama yapabilirsiniz
- Zengin Görselleştirme: 50'den fazla grafik türü ile verilerinizi etkileşimli hale getirebilirsiniz
- Veritabanı Entegrasyonu: PostgreSQL, MySQL, MongoDB, Elasticsearch ve daha birçok veritabanına bağlanabilir
- Drag-and-Drop Arayüz: Kod yazmadan dashboard oluşturma imkanı
- Row-Level Security: Kullanıcı bazlı veri erişim kontrolü
- API Desteği: REST API ile custom entegrasyonlar
Sunucu Gereksinimleri
Superset'i verimli çalıştırmak için sunucunuzun belirli donanım ve yazılım gereksinimlerini karşılaması gerekir. Minimum ve önerilen konfigürasyonlar aşağıdaki tabloda gösterilmiştir:
| Kaynak | Minimum | Önerilen |
|---|---|---|
| CPU | 2 çekirdek | 4+ çekirdek |
| RAM | 4 GB | 8+ GB |
| Disk | 20 GB SSD | 50+ GB SSD |
| İşletim Sistemi | Ubuntu 20.04+ / Debian 11+ | Ubuntu 22.04 LTS |
| Python | 3.8+ | 3.10+ |
Sunucu seçiminde dikkat edilmesi gereken bir diğer husus da ölçeklenebilirliktir. Sunucu donanım kiralama vs satın alma kararınızı, beklenen kullanıcı sayısı ve veri hacmine göre değerlendirmenizi öneririz.
Superset Kurulumu (Docker ile)
Docker, Superset kurulumunu oldukça basitleştiren ve tüm bağımlılıkları izole eden bir yöntemdir. Aşağıdaki adımları izleyerek kendi veri analiz sunucunuzu kurabilirsiniz.
1. Docker ve Docker Compose Kurulumu
İlk olarak sunucunuzda Docker'ın kurulu olduğundan emin olun:
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
2. Superset Docker Compose Yapılandırması
Superset'in resmi Docker Compose dosyasını indirin:
git clone https://github.com/apache/superset.git
cd superset
git checkout 3.1.0
cd docker-compose.yaml
Not: En güncel sürümü kullanmak için sistem durumunu kontrol edebilirsiniz.
3. Ortam Değişkenleri Yapılandırması
cp .env.example .env
nano .env
Açılan dosyada aşağıdeğer parametreleri düzenleyin:
SUPERSET_SECRET_KEY: Güvenli bir rastgele anahtar oluşturunSUPERSET_ADMIN_USER: Admin kullanıcı adıSUPERSET_ADMIN_EMAIL: Admin e-posta adresiSUPERSET_ADMIN_PASSWORD: Güçlü bir şifre belirleyin
4. Superset'i Başlatma
docker-compose -f docker-compose-non-dev.yml up -d
Bu komut Superset servislerini arka planda başlatır. İlk kurulum 5-10 dakika sürebilir çünkü Docker image'ları indirilecektir.
5. Kurulum Doğrulama
docker-compose -f docker-compose-non-dev.yml logs -f superset
Loglarda "Superset is ready to start" mesajını gördüğünüzde kurulum başarılı demektir.
Superset Konfigürasyonu
Superset'i kurduktan sonra temel konfigürasyon ayarlarını yapmanız gerekir.
Temel Ayarlar
Tarayıcınızda http://sunucu-ip:8088 adresine giriş yaparak Superset arayüzüne ulaşabilirsiniz. Admin hesabınızla giriş yaptıktan sonra:
- Language Settings: Turkish dilini seçin
- Time Zone: Europe/Istanbul timezone'ını ayarlayın
- Guest Token: Public erişim için gerekli izinleri yapılandırın
Güvenlik Ayarları
Sunucu güvenliği açısından Superset için ek güvenlik önlemleri almanız kritik önem taşır:
- SSH key authentication aktif edin
- Two-Factor Authentication (2FA) zorunlu kılın
- Session timeout süresini 30 dakikaya düşürün
- Password policy enforcement etkinleştirin
Veritabanı Bağlantısı
Superset'in gücü, farklı veritabanlarına bağlanabilme kapasitesinden gelir. En yaygın kullanılan veritabanı bağlantılarını inceleyelim.
Veritabanı Driver Kurulumu
docker exec -it superset_app pip install psycopg2-binary mysqlclient
Bağlantı Oluşturma
Superset arayüzünde sırasıyla:
- Settings > Database Connections
- + Database butonuna tıklayın
- Veritabanı türünü seçin (PostgreSQL, MySQL, vb.)
- SQLAlchemy URI formatında bağlantı string'i girin
- Test Connection ile bağlantıyı doğrulayın
Örnek PostgreSQL bağlantısı:
postgresql://kullanici:sifre@host:5432/veritabani_adi
Dashboard Oluşturma
Veritabanı bağlantınızı test ettikten sonra artık görselleştirmeler oluşturabilirsiniz.
Dataset Ekleme
- Data > Datasets menüsüne gidin
- + Dataset butonuna tıklayın
- Bağlı veritabanınızdan tablo seçin
- Save ile kaydedin
Chart Oluşturma
- Charts bölümüne gidin
- + New Chart seçeneğini tıklayın
- Veri kümenizi ve görselleştirme türünü seçin
- Metrics ve Filters tanımlayın
- Save ve Publish edin
Dashboard Düzenleme
Oluşturduğunuz chart'ları birleştirerek interaktif dashboard'lar oluşturabilirsiniz:
- Dashboards > + New Dashboard
- Başlık ve açıklama ekleyin
- Sürükle-bırak yöntemiyle chart'ları yerleştirin
- Layout'u özelleştirin
- Publish edin
Superset vs Diğer Araçlar: Karşılaştırma
Veri görselleştirme araçları arasında Superset'in konumunu anlamak için diğer popüler çözümlerle karşılaştıralım:
| Özellik | Apache Superset | Metabase | Tableau |
|---|---|---|---|
| Fiyat | Ücretsiz (Açık Kaynak) | Ücretsiz/Ücretli | Yüksek Abonelik |
| Kurulum | Orta-Zor | Kolay | Kolay |
| Özelleştirme | Çok Yüksek | Orta | Yüksek |
| SQL Desteği | Advanced | Basit | Orta |
| Topluluk | Büyük (Apache) | Orta | Proprietary |
| Veritabanı Sayısı | 20+ | 15+ | 50+ |
Bu karşılaştırma, bütçe kısıtlaması olan ekipler için Superset'in en uygun seçenek olduğunu göstermektedir. Python tabanlı yapısı sayesinde geliştirme ekibiniz varsa kolayca özelleştirebilirsiniz.
İleri Düzey Konfigürasyon
Redis Cache Kurulumu
Superset performansını artırmak için Redis cache kullanmanızı öneririz:
docker run -d --name redis -p 6379:6379 redis:7-alpine
Cache konfigürasyonu için superset_config.py dosyasına:
CACHE_CONFIG = {
'CACHE_TYPE': 'RedisCache',
'CACHE_DEFAULT_TIMEOUT': 300,
'CACHE_KEY_PREFIX': 'superset_',
'CACHE_REDIS_HOST': 'redis',
'CACHE_REDIS_PORT': 6379,
}
Celery Worker Yapılandırması
Büyük veri sorguları için asenkron işlemler için Celery kullanın:
CELERY_CONFIG = {
'broker_url': 'redis://redis:6379/0',
'result_backend': 'redis://redis:6379/1',
}
Güvenlik En İyi Uygulamaları
Kendi veri analiz sunucunuzu kurarken güvenlik en üst düzeyde tutulmalıdır:
- SSL/TLS Sertifikası: SSL sertifikası kurarak HTTPS