Bir ekibin elindeki en değerli varlıklardan biri, veritabanında saklı duran ham verisidir; ancak bu veri, doğru sorularla sorgulanıp anlaşılır bir tabloya ya da grafiğe dönüşmediği sürece atıl kalır. Çoğu şirkette "geçen çeyrekte iptal eden müşteri sayısı kaç?" gibi bir soru, bir yazılımcının önüne bir SQL isteği olarak gelir; sorgu yazılır, sonuç bir e-postaya kopyalanır ve iş biter. Aynı soru bir hafta sonra tekrar geldiğinde ise süreç baştan yaşanır. Redash, tam olarak bu tekrar eden döngüyü kırmak, bir kez yazılan sorguyu kalıcı, paylaşılabilir ve görselleştirilebilir bir varlığa çevirmek için tasarlanmış açık kaynaklı bir iş zekası (BI) aracıdır.
Bu rehberde Redash'in ne olduğunu, SQL merkezli çalışma mantığını, farklı veri kaynaklarını nasıl bir araya getirdiğini ve pano oluşturma sürecini adım adım inceleyeceğiz. Docker ile kurulumdan veri kaynağı bağlamaya, zamanlanmış sorgulardan uyarı mekanizmalarına kadar pratik konulara değineceğiz. Son olarak Redash'i benzer bir araç olan Metabase ile karşılaştırıp, hangi ekibin hangi aracı seçmesi gerektiği konusunda dürüst bir değerlendirme yapacağız. Amacımız, aracı hem güçlü yönleriyle hem de sınırlarıyla birlikte tanıtmak.
Redash Nedir ve Ne İşe Yarar?#
Redash, temelde bir SQL sorgusunu görsel bir çıktıya bağlayan platformdur. Metabase gibi "tıklayarak soru oluştur" mantığına dayanan araçlardan ayrıştığı en önemli nokta budur: Redash, SQL yazmayı bir eksiklik değil, birinci sınıf bir özellik olarak kabul eder. Analistiniz sorgusunu doğrudan editöre yazar, çalıştırır, sonucu bir tablo olarak görür ve o tablodan bir çizgi grafik, sütun grafik ya da sayaç üretir. Aynı sorgu daha sonra bir panoya eklenir ve her açılışta güncel veriyle yeniden çalışır.
Bu yaklaşım, Redash'i belirli bir ekip profiline çok uygun hâle getirir: verisiyle SQL üzerinden konuşan analistler, veri mühendisleri ve teknik ürün ekipleri. Bir sorguyu bir kez doğru yazdığınızda, onu kaydedersiniz; ekipteki başka biri o sorguyu açıp inceleyebilir, kendi ihtiyacına göre kopyalayıp (fork) değiştirebilir. Böylece kuruluşun bilgi birikimi tek tek insanların kafasında değil, versiyonlanan ve paylaşılan sorgular olarak birikir. Redash'in sloganını bu cümleyle özetleyebiliriz: veriyi demokratikleştir, ama SQL'in gücünden vazgeçme.
Redash'in ne olmadığını da baştan netleştirmek gerekir. Redash bir veri deposu değildir; veriyi kendisi saklamaz, yalnızca mevcut veritabanlarınıza bağlanıp sorgular. Aynı zamanda bir ETL (veri dönüştürme) aracı da değildir; veriyi temizleyip düzenleme işi hâlâ sizin veritabanı katmanınıza aittir. Redash, hazır ve düzenli veriyi anlamlı görsellere ve panolara çeviren ince ama güçlü bir katmandır.
SQL Sorgu Editörü ve Çoklu Veri Kaynağı#
Redash'in kalbi, tarayıcı üzerinden çalışan sorgu editörüdür. Sözdizimi renklendirme, otomatik tamamlama ve tablo/sütun önerileri sunar; yazdığınız sorguyu Ctrl + Enter ile anında çalıştırıp sonucu altındaki tabloda görürsünüz. Bir sorguyu kaydettiğinizde ona bir isim, açıklama ve gerekirse etiketler verirsiniz; bu, ekip büyüdükçe yüzlerce sorgu arasında arama yapmayı kolaylaştırır.
Redash'i pratikte çok esnek kılan bir diğer yetenek, parametreli sorgulardır. Sorgunuza {{ tarih_baslangic }} gibi bir değişken eklediğinizde, Redash bunu otomatik olarak bir arayüz kontrolüne (tarih seçici, açılır liste, metin kutusu) dönüştürür. Böylece tek bir sorgu, farklı tarih aralıkları ya da farklı müşteri kimlikleri için tekrar tekrar kullanılabilir hâle gelir. Basit bir örnek şöyle görünür:
SELECT
date_trunc('day', created_at) AS gun,
count(*) AS siparis_sayisi
FROM siparisler
WHERE created_at BETWEEN '{{ tarih_baslangic }}' AND '{{ tarih_bitis }}'
GROUP BY 1
ORDER BY 1;
Bu sorguyu çalıştıran kullanıcı, arayüzdeki iki tarih kutusunu değiştirerek istediği dönemin sipariş grafiğini kod yazmadan üretebilir.
Redash'in en güçlü yönlerinden biri de çok kaynaklı bağlantı desteğidir. Onlarca farklı veri kaynağına bağlanabilir: PostgreSQL, MySQL, SQL Server, ClickHouse, BigQuery, Snowflake, Elasticsearch, MongoDB, hatta bir Google E-Tablosu ya da bir REST API yanıtı. Her veri kaynağı ayrı bir bağlantı olarak tanımlanır ve her sorgu, hangi kaynağa gideceğini seçerek çalışır.
| Veri kaynağı türü | Tipik kullanım | Not |
|---|---|---|
| PostgreSQL / MySQL | Uygulama üretim veritabanı | En yaygın senaryo |
| BigQuery / Snowflake | Büyük veri ambarı | Analitik iş yükleri için ideal |
| ClickHouse | Yüksek hacimli olay verisi | Hızlı toplulaştırma sorguları |
| Elasticsearch | Log ve metin araması | JSON tabanlı sorgu diliyle |
| Google Sheets | Elle tutulan küçük tablolar | Kod tabanı olmayan ekipler için pratik |
Burada dikkat edilmesi gereken bir sınır var: Redash, farklı veri kaynaklarını tek bir sorguda otomatik olarak "birleştirmez". Ancak Query Results adlı özel bir veri kaynağı sayesinde, daha önce kaydedilmiş sorguların sonuçlarını yeni bir SQL sorgusunda tablo gibi kullanabilirsiniz; bu, farklı kaynaklardan gelen veriyi Redash içinde bir araya getirmenin pratik yoludur.
Panolar ve Görselleştirme#
Bir sorgu çalışıp sonuç ürettikten sonra, o sonucu görselleştirmek Redash'te birkaç tıklamalık iştir. Sorgu ekranındaki New Visualization düğmesiyle sonuca bir çizgi grafik, sütun grafik, pasta grafik, alan grafik, dağılım grafiği (scatter), harita, sayaç (counter) ya da pivot tablo eklersiniz. Aynı sorgudan birden fazla görsel türetebilirsiniz; örneğin bir sorgunun sonucunu hem bir tablo hem de bir çizgi grafik olarak saklayabilirsiniz.
Görselleştirmeler tek başına değerlidir, ama asıl güç panolarda (dashboards) ortaya çıkar. Bir pano, farklı sorgulardan gelen görselleştirmeleri tek bir ekranda toplayan sürükle-bırak bir tuvaldir. Bir e-ticaret ekibi için tipik bir yönetim panosu şöyle bileşenlerden oluşabilir:
- Bugünkü toplam ciro (sayaç)
- Son 30 günün günlük satış eğrisi (çizgi grafik)
- En çok satan 10 ürün (sütun grafik)
- Kategori bazında gelir dağılımı (pasta grafik)
- Bekleyen sipariş ve iade sayıları (tablo)
Panolara filtreler ekleyebilir, böylece tek bir tarih seçiciyle tüm kartların aynı anda güncellenmesini sağlayabilirsiniz. Bir panoyu ekip içinde paylaşabilir, salt okunur bir genel bağlantı oluşturabilir ya da belirli aralıklarla otomatik yenilenmesini ayarlayabilirsiniz. Böylece yönetim ekibi, sabah panoyu açtığında elle hiçbir şey çalıştırmadan güncel tabloyu görür.
Docker ile Kurulum#
Redash birden fazla bileşenden oluşur: web sunucusu, arka plan iş kuyruğu (worker), zamanlayıcı (scheduler), bir PostgreSQL uygulama veritabanı ve bir Redis önbelleği. Bu parçaları elle kurup birbirine bağlamak zahmetli olduğundan, resmî ve en sağlıklı yol Docker Compose kullanmaktır. Önce sunucunuzda Docker ve Docker Compose'un kurulu olduğundan emin olun:
# Docker ve Compose sürümünü doğrula
docker --version
docker compose version
Redash'in resmî kurulum betiği (setup script) bir dizin oluşturup içine hazır bir docker-compose.yml yerleştirir. Kabaca yapı şu bileşenleri içerir:
services:
server:
image: redash/redash:latest
command: server
ports:
- "5000:5000"
environment:
REDASH_DATABASE_URL: "postgresql://redash@postgres/redash"
REDASH_REDIS_URL: "redis://redis:6379/0"
REDASH_COOKIE_SECRET: "buraya-uzun-rastgele-bir-dizi"
depends_on:
- postgres
- redis
scheduler:
image: redash/redash:latest
command: scheduler
worker:
image: redash/redash:latest
command: worker
redis:
image: redis:7-alpine
postgres:
image: postgres:15-alpine
environment:
POSTGRES_USER: redash
POSTGRES_DB: redash
volumes:
- ./postgres-data:/var/lib/postgresql/data
Uygulama veritabanı tablolarını ilk çalıştırmada oluşturmak için bir kez migrasyon komutunu koştururuz, ardından servisleri ayağa kaldırırız:
# Veritabanı şemasını hazırla (yalnızca ilk kurulumda)
docker compose run --rm server create_db
# Tüm servisleri arka planda başlat
docker compose up -d
Servisler ayağa kalktığında Redash arayüzü http://sunucu-ip:5000 adresinden erişilebilir olur ve sizi ilk yönetici hesabını oluşturacağınız kurulum ekranıyla karşılar. Üretim ortamında bu portu doğrudan dışarı açmak yerine, önüne bir ters proxy koyup HTTPS ile yayınlamak doğru pratiktir. Nginx tarafında sade bir yapılandırma şöyle olur:
server {
listen 443 ssl;
server_name analiz.ornek.com;
ssl_certificate /etc/letsencrypt/live/analiz.ornek.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/analiz.ornek.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Alan adınız için geçerli bir sertifika kurmak isterseniz ücretsiz ve ticari SSL seçeneklerimize göz atabilir, bu tarz self-host uygulamaları çalıştıracak sunucu tarafında ise güç ve izolasyon için bir VDS sunucu tercih edebilirsiniz. Redash, tüm bileşenleri birlikte çalıştığında en az 2 GB RAM ister; yoğun kullanımda 4 GB ve üzeri daha rahat bir deneyim sağlar.
Veri Kaynağı Ekleme#
Kurulum tamamlanıp yönetici hesabınızı oluşturduktan sonra atacağınız ilk adım, Redash'i asıl iş verinizin bulunduğu veritabanına bağlamaktır. Bunun için Settings > Data Sources > New Data Source yolunu izlersiniz. Açılan listeden veritabanı türünüzü (örneğin PostgreSQL) seçer ve bağlantı bilgilerini girersiniz:
- Host: Veritabanı sunucusunun adresi
- Port: PostgreSQL için genelde 5432, MySQL için 3306
- User / Password: Yalnızca okuma yetkisine sahip bir kullanıcı önerilir
- Database Name: Sorgulanacak veritabanının adı
Burada önemli bir güvenlik pratiği var: Redash'e verdiğiniz veritabanı kullanıcısına yalnızca okuma (SELECT) yetkisi tanımlayın. Analiz aracının veriyi değiştirme veya silme yetkisi olmasına gerek yoktur ve olmaması gerekir. PostgreSQL tarafında salt okunur bir kullanıcı oluşturmak şöyle mümkündür:
CREATE USER redash_ro WITH PASSWORD 'guclu-bir-parola';
GRANT CONNECT ON DATABASE uygulama_db TO redash_ro;
GRANT USAGE ON SCHEMA public TO redash_ro;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO redash_ro;
-- İleride eklenecek tablolar için de otomatik SELECT
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO redash_ro;
Bağlantı bilgilerini girip Test Connection ile doğruladıktan sonra kaydedersiniz. Artık yeni bir sorgu oluştururken bu veri kaynağını seçip ilk sorgunuzu yazabilirsiniz. Eğer arka ucunuz bir PostgreSQL platformu üzerine kuruluysa, örneğin Supabase gibi bir çözümle çalışıyorsanız, Redash'i doğrudan o veritabanına bağlayarak ürün metriklerinizi ek bir kod yazmadan izlemeye başlayabilirsiniz. Veritabanı sunucunuz ile Redash sunucunuz farklı makinelerdeyse, bağlantının yalnızca gerekli IP'ler arasında açık olduğundan emin olmak için bir güvenlik duvarı / WAF katmanı düşünmek yerinde olur.
Zamanlanmış Sorgular ve Uyarılar#
Redash'in üretim ortamında gerçekten fark yarattığı özelliklerden biri, zamanlanmış sorgulardır (scheduled queries). Her sorgu için bir yenileme aralığı tanımlayabilirsiniz: her 5 dakikada, saatte bir, her gün sabah 07.00'de gibi. Redash'in scheduler ve worker bileşenleri bu sorguları arka planda otomatik çalıştırır ve sonucu önbelleğe alır. Böylece bir kullanıcı panoyu açtığında sorgu o anda veritabanını yormaz; en son çalıştırılmış hazır sonucu görür. Bu, hem hızlı bir kullanıcı deneyimi sağlar hem de üretim veritabanınızı gereksiz yükten korur.
Zamanlama aralığını seçerken pratik bir denge kurmak gerekir: çok sık yenileme veritabanına ek yük bindirir, çok seyrek yenileme ise verinin bayatlamasına yol açar. Günlük satış panosu için 15-30 dakikalık bir yenileme çoğu ekip için yeterlidir; anlık operasyon panoları için ise daha kısa aralıklar tercih edilir.
İkinci güçlü mekanizma uyarılardır (alerts). Bir sorgunun sonucundaki bir değeri izleyip, belirlediğiniz eşiği aştığında ya da altına düştüğünde sizi haberdar eden kurallar tanımlarsınız. Örnekler:
- Günlük ciro belirlenen hedefin altına düşerse bildirim gönder
- Bekleyen destek talebi sayısı 50'yi aşarsa uyar
- Bir sunucudaki disk doluluk oranı %90'ı geçerse tetikle
Uyarılar e-posta, Slack, Microsoft Teams, PagerDuty ve webhook gibi çeşitli kanallara gönderilebilir. Böylece Redash yalnızca "veriye bakılan" bir yer olmaktan çıkıp, önemli bir eşik aşıldığında sizi proaktif olarak uyaran bir sisteme dönüşür. Bu uyarı akışlarını daha geniş otomasyonlara bağlamak isterseniz webhook çıktısını başka araçlara yönlendirebilir, hazır yardımcı araçlar için ise Clou.TR araç setine göz atabilirsiniz.
Redash mi Metabase mi? Kısa Karşılaştırma#
Açık kaynak BI dünyasında en sık karşılaştırılan iki isim Redash ve Metabase'tir. İkisi de veriyi görselleştirir, ikisi de self-host çalışır ve ikisinin de topluluk sürümü ücretsizdir; ama felsefeleri belirgin biçimde farklıdır. Kısaca özetlemek gerekirse: Metabase "önce görsel arayüz, isteyen SQL yazsın" derken, Redash "önce SQL, üstüne görselleştirme" der.
| Kriter | Redash | Metabase |
|---|---|---|
| Temel yaklaşım | SQL merkezli | Görsel soru oluşturucu merkezli |
| Hedef kullanıcı | Analist, veri mühendisi | Teknik olmayan ekipler dâhil herkes |
| SQL bilmeden kullanım | Sınırlı | Çok güçlü |
| Çok kaynaklı sorgu | Query Results ile mümkün | Sınırlı |
| Öğrenme eğrisi | SQL bilene kolay, bilmeyene dik | Genelde daha yumuşak |
| Zamanlanmış sorgu ve uyarı | Güçlü ve olgun | Mevcut, biraz daha sade |
Karar verirken kendi ekibinizin profiline bakın. Ekibinizde SQL yazabilen analistler varsa ve raporlarınız sık sık karmaşık, özel sorgular gerektiriyorsa Redash size daha çok alan açar. Buna karşılık pazarlama, satış ya da operasyon gibi kod yazmayan ekiplerin kendi başına rapor üretmesini istiyorsanız, tıklamayla ilerleyen yapısıyla Metabase daha düşük bir giriş engeli sunar. Birçok kuruluş ikisini birlikte kullanır: teknik ekip Redash'te derin analiz yapar, diğer birimler Metabase'te kendi panolarını kurar. Her iki aracı da hazır kurulumla denemek için App Center kataloğumuza göz atabilirsiniz.
Neden Kendi Sunucunuzda Barındırmalısınız?#
Redash'in şirketçe sunulan bulut tabanlı ticari bir sürümü de vardı; ancak açık kaynak topluluk sürümünü kendi sunucunuzda çalıştırmanın somut ve kalıcı avantajları vardır. Bunların başında veri sahipliği ve KVKK uyumu gelir. Bir BI aracı doğası gereği en hassas verilerinize (müşteri kayıtları, ciro, kişisel veriler) doğrudan erişir. Bu aracın çalıştığı sunucunun Türkiye'de ve sizin kontrolünüzde olması, verinin ve veritabanı bağlantı bilgilerinin üçüncü bir tarafın bulutuna gitmemesi anlamına gelir; bu da yasal yükümlülüklerinizi yönetmeyi kolaylaştırır.
İkinci avantaj maliyet öngörülebilirliğidir. Ücretli BI hizmetleri çoğunlukla kullanıcı başına aylık ücretlendirir ve ekip büyüdükçe fatura da katlanır. Kendi sunucunuzda çalıştırdığınızda sabit bir sunucu maliyeti karşılığında kullanıcı ya da pano sayısında lisans duvarına toslamazsınız. Üçüncüsü ise tam kontroldür: güncellemeleri ne zaman yapacağınıza, hangi kaynaklara bağlanacağınıza ve verinin nasıl yedekleneceğine siz karar verirsiniz.
Bu kontrolün bir parçası da sorumluluktur. Redash'in PostgreSQL uygulama veritabanı; kaydettiğiniz tüm sorguları, panoları ve kullanıcı ayarlarını tutar. Bu veritabanının düzenli olarak yedeklenmesi kritiktir; aksi hâlde aylarca biriktirdiğiniz sorgu ve pano birikimini bir sunucu arızasında kaybedebilirsiniz. Düzenli ve otomatik yedekleme için yedekleme çözümlerimizi incelemenizi, bu tarz kritik uygulamaları çalıştıracak altyapıyı seçerken de sanal sunucu ile VDS arasında iş yükünüze uygun olanı belirlemenizi öneririz. Sunucu yönetimini kendiniz üstlenmek istemiyorsanız yönetilen sunucu hizmetimiz güncelleme, güvenlik ve yedekleme yükünü sizin yerinize taşır.
Sıkça Sorulan Sorular#
Redash kullanmak için SQL bilmek şart mı?#
Büyük ölçüde evet. Redash, felsefesi gereği SQL merkezli bir araçtır; sorgularınızı doğrudan yazarsınız ve gücünün çoğu buradan gelir. Metabase gibi tamamen tıklayarak soru oluşturan bir arayüzü yoktur. Ekibinizde SQL bilen birileri yoksa, kaydedilmiş hazır sorguları parametreleriyle kullanabilirsiniz; ama yeni analizler üretmek için temel düzeyde SQL bilgisi gerekir.
Redash hangi veri kaynaklarına bağlanabilir?#
Redash çok geniş bir yelpazeyi destekler. PostgreSQL, MySQL, SQL Server, Oracle, ClickHouse, BigQuery, Snowflake, Redshift, Elasticsearch, MongoDB ve daha pek çok kaynağa bağlanabilir; hatta Google E-Tablolarını ve bir REST API yanıtını bile veri kaynağı olarak tanımlayabilirsiniz. Her kaynak ayrı bir bağlantı olarak eklenir ve sorgular çalışırken hangi kaynağa gideceğini seçer.
Redash ücretsiz mi?#
Redash'in açık kaynak topluluk sürümü tamamen ücretsizdir ve kendi sunucunuzda sınırsız kullanıcı ve pano ile çalıştırabilirsiniz. Yani lisans maliyeti değil, yalnızca aracı barındıracağınız sunucu maliyetiyle karşılaşırsınız. Kaynağı GitHub üzerinde açık olduğu için kurumsal ihtiyaçlara göre inceleyip özelleştirmek de mümkündür.
Redash verilerimi kendisi mi saklıyor?#
Hayır. Redash bir veri deposu değildir; sizin mevcut veritabanlarınıza bağlanır ve sorguları oradan çalıştırır. Yalnızca kendi çalışma verisini (kaydedilen sorgular, panolar, kullanıcı hesapları ve sorgu sonuç önbelleği) küçük bir PostgreSQL uygulama veritabanında tutar. Asıl iş veriniz her zaman kendi kaynak veritabanınızda kalır; Redash sadece o veriye pencere açar.
Zamanlanmış sorgular veritabanımı yorar mı?#
Doğru ayarlandığında tam tersine, veritabanınızı korur. Redash zamanlanmış sorguyu arka planda çalıştırıp sonucu önbelleğe aldığı için, kullanıcılar panoyu her açtığında veritabanına yeni bir sorgu gitmez; hazır sonuç gösterilir. Yalnızca çok kısa yenileme aralıkları (örneğin dakikada bir ağır sorgu) yük yaratabilir; bu yüzden her sorgu için makul bir aralık seçmek önemlidir.
Redash mi Metabase mi seçmeliyim?#
Bu tamamen ekibinizin profiline bağlıdır. SQL yazabilen analistleriniz varsa ve raporlarınız esnek, karmaşık sorgular gerektiriyorsa Redash daha çok alan açar. Kod yazmayan ekiplerin kendi başına rapor üretmesini istiyorsanız Metabase'in görsel arayüzü daha düşük bir giriş engeli sunar. Pek çok kuruluş ikisini birlikte kullanır; ikisi de açık kaynak olduğu için ikisini de deneyip karar vermek mantıklıdır.
Kapanış#
Redash, elinizdeki veriyi tek seferlik SQL isteklerinden çıkarıp kalıcı, paylaşılabilir ve otomatik yenilenen bir bilgi katmanına dönüştüren güçlü bir açık kaynak aracıdır. SQL bilen bir ekip için hem hızlı hem de esnektir; zamanlanmış sorguları, uyarıları ve çoklu veri kaynağı desteğiyle küçük bir analitik altyapıyı tek başına ayakta tutabilir. Kendi sunucunuzda barındırdığınızda ise verinizin kontrolü, KVKK uyumu ve maliyet öngörülebilirliği tamamen sizde kalır.
Redash'i ya da onun görsel alternatifi Metabase'i Docker komutlarıyla tek tek uğraşmadan denemek isterseniz, Clou.TR App Center kataloğumuz üzerinden hazır kurulumları başlatabilirsiniz. Bu tarz uygulamaları rahatça çalıştıracak bir altyapı için VDS sunucularımıza göz atabilir, sunucu bakım ve güvenlik yükünü bize bırakmak isterseniz yönetilen sunucu hizmetimizi inceleyebilirsiniz. Verinizi bir yük olmaktan çıkarıp gerçek bir karar destek aracına dönüştürmek için doğru altyapı ve doğru araç, birkaç adım ötede.