Büyük veri analizinde darboğazları CPU, bellek, disk, ağ ve sorgu planı düzeyinde belirleyin. Spark, Hadoop ve bulut tabanlı platformlarda kaynak ayarı, maliyet kontrolü, izleme ve doğru hizmet seçimi için uygulanabilir bir tuning çerçevesi.
Büyük veri iş yüklerinde en doğru başlangıç, sunucu kapasitesini artırmak değil darboğazı ölçerek bulmaktır. CPU, bellek, disk, ağ, veri düzeni ve sorgu planı birlikte değerlendirilmeden yapılan ölçekleme, maliyeti artırıp beklenen hızlanmayı vermeyebilir.
Apache Spark, Hadoop tabanlı akışlar ve SQL motorlarında aynı ayar her ortamda aynı sonucu üretmez. Bu nedenle açık kaynak küme, yönetilen bulut veri platformu veya performans danışmanlığı seçimi; yalnızca lisans bedeline değil operasyon yüküne, kullanım değişkenliğine ve ekip yetkinliğine göre yapılmalıdır.
Önce metrikleri okuyun, ardından veri düzenini ve sorgu tasarımını iyileştirin. Ek işlem kapasitesi, ancak gerçek kaynak yetersizliği doğrulandıktan sonra anlamlı bir yatırım olur.
Bir Bakışta
- Önce ölçün, sonra ölçekleyin: İzleme verisi olmadan kaynak artırmak gereksiz bulut tüketimine yol açabilir.
- Veri düzeni performansın parçasıdır: Bölümleme, küçük dosyalar, veri çarpıklığı ve dosya biçimi görev sürelerini etkiler.
- Platform seçimi toplam maliyetle yapılır: İşlem, depolama, ağ transferi, operasyon ve sözleşme koşulları birlikte incelenmelidir.
| Seçenek | Operasyon yükü | Maliyet öngörüsü | Esneklik | Hangi durumda değerlendirilir? |
|---|---|---|---|---|
| Açık kaynak küme | Yüksek olabilir | Altyapı ve ekip maliyetiyle birlikte hesaplanır | Yüksek | Özel mimari, ayrıntılı kontrol ve kurum içi işletme ihtiyacı varsa |
| Yönetilen Spark/Hadoop hizmeti | Daha düşük olabilir | İşlem, depolama, ağ ve ek servis kalemlerine bağlıdır | Hizmet sınırları içinde yüksektir | Ekibin altyapı işletmek yerine veri ürününe odaklanması isteniyorsa |
| Yönetilen veri ambarı veya SQL platformu | Yönetim kolaylaşabilir | Kapasite ve sorgu tüketimi izlenmelidir | Analitik kullanım senaryosuna göre değişir | Yoğun SQL analitiği ve eşzamanlı kullanıcı sorguları öndeyse |
| Performans danışmanlığı | İç ekip yükünü azaltabilir | Kapsam ve sözleşmeye göre değerlendirilir | Mevcut mimariye göre şekillenir | Darboğazın kaynağı belirsizse veya dönüşüm riski yüksekse |
Performansı Hızla İyileştirmek İçin Önce Darboğazı Bulun
Hızlı sonuç almak için ilk soru “kaç makine daha ekleyelim?” olmamalıdır. Doğru soru, işin hangi aşamada beklediği olmalıdır. Dağıtık veri işleme performansı; veri hacmi, dağılımı, dosya biçimi, bölümleme, küme kaynakları ve sorgu planının ortak sonucudur.
CPU, bellek, disk, ağ ve sorgu planı belirtilerini ayırma
CPU yoğunluğu, hesaplama ağırlıklı dönüşümlere işaret edebilir. Bellek yetersizliği ise disk taşması, artan garbage collection veya görevlerin yeniden denenmesiyle görülebilir. Disk ve ağ tarafında özellikle shuffle aşamalarında bekleme oluşabilir. Bazı görevlerin diğerlerinden belirgin biçimde uzun sürmesi ise veri çarpıklığı ihtimalini düşündürür.
Sorgu planında gereksiz veri okumaları, geç uygulanan filtreler veya maliyetli join işlemleri varsa yalnızca executor sayısını yükseltmek sorunu çözmeyebilir. Önce hangi aşamanın süreyi uzattığını ayırın; sonra ilgili bileşene müdahale edin.
İlk 30 dakikada kontrol edilecek iş metrikleri
İlk incelemede görev sürelerinin dağılımına, başarısız veya yeniden denenen görevlere, bellek kullanımına, disk taşmasına, garbage collection sinyallerine ve shuffle davranışına bakın. Okunan veri miktarı ile üretilen sonuç arasındaki fark da önemlidir. Çok fazla veri okunup çok az sonuç üretiliyorsa filtre, bölümleme veya sorgu planı tarafında iyileştirme fırsatı olabilir.
Küçük dosya sayısını ayrıca kontrol edin. Dağıtık dosya sistemlerinde ve nesne depolamada küçük dosya fazlalığı, görev planlama yükünü artırabilir. Bu durum, küme kaynakları boş görünse bile işin verimsiz ilerlemesine neden olabilir.
Kaynak büyütmeden önce doğrulanması gereken noktalar
Veri dağılımı dengeli mi? Filtreler mümkün olan en erken noktada uygulanıyor mu? Bölümleme sorgu desenini destekliyor mu? Dosya yapısı gereğinden fazla parçalı mı? Bu sorular cevaplanmadan ek kapasite satın almak, işlem ve depolama maliyetini büyütebilir.
Framework ve Altyapı Seçiminde Performans–Maliyet Dengesi
Framework seçimi, performans kadar işletme modelini de belirler. Apache Spark, Hadoop tabanlı iş akışları ve SQL motorları farklı darboğazlara sahip olabilir. Bu nedenle platformu isim üzerinden değil, iş yükü ve ekip sorumluluğu üzerinden karşılaştırmak gerekir.
Apache Spark, Hadoop tabanlı iş akışları ve SQL motorlarında farklı tuning alanları
Spark işlerinde executor, bellek, paralellik, shuffle ve join davranışı sık değerlendirilir. Hadoop tabanlı akışlarda dosya düzeni, görev planlama yükü ve depolama katmanıyla etkileşim öne çıkabilir. SQL motorlarında ise sorgu planı, filtrelerin konumu, tablo düzeni ve eşzamanlı sorgu davranışı daha belirleyici olabilir.
Burada tek bir ideal executor sayısı, bellek miktarı veya bölüm sayısı yoktur. Etki; veri şeması, sorgu tipi, eşzamanlı kullanıcı sayısı ve altyapı mimarisi test edilmeden kesin kabul edilmemelidir.
Kendi kümesini yönetmek ile yönetilen bulut platformunu karşılaştırma
Kendi kümesini yönetmek daha ayrıntılı kontrol sağlayabilir; ancak güncelleme, izleme, kapasite planlama ve arıza yönetimi için sürekli operasyon emeği gerektirir. Yönetilen Spark/Hadoop hizmeti veya kurumsal bulut veri platformu, altyapı işletme yükünü azaltabilir. Buna karşılık fiyatlandırma işlem, depolama, ağ transferi, ayrılmış kapasite ve ek servis kullanımına göre değişebilir.
Karar verirken yalnızca görünen işlem ücretini kıyaslamayın. Operasyon süresi, uzman ihtiyacı, kullanılmayan kapasite riski ve performans görünürlüğü de toplam sahip olma maliyetinin parçasıdır.
Türkiye’de bütçe planlarken kur, kullanım artışı ve sözleşme esnekliğini hesaba katma
Bulut hizmetlerinde maliyet, kullanılan para birimi, kur hareketleri, bölge seçimi, sözleşme modeli ve kullanım seviyesine göre değişebilir. Bu nedenle bütçeyi sabit tek bir rakamla değil, kullanım senaryolarıyla planlamak daha sağlıklıdır. Düşük, beklenen ve yüksek tüketim durumlarını ayrı izlemek; ani veri artışlarında maliyet kontrolünü kolaylaştırır.
Yönetilen veri platformu veya veri ambarı kapasitesi değerlendirirken, ayrılmış kapasite şartları ile kullanım esnekliğini birlikte inceleyin. Güncel koşullar için hizmetin resmi fiyat ve sözleşme ayrıntıları ilgili sayfadan kontrol edilmelidir.
Veri Düzeniyle Kazanım Sağlayan Tuning Adımları
Birçok performans sorunu doğrudan kaynak eksikliği değildir. Verinin nasıl yazıldığı, bölümlendiği ve okunduğu, sorgu süresini ve maliyeti belirgin biçimde etkileyebilir.
Bölümleme, partition pruning ve veri çarpıklığını azaltma
Bölümleme, sorguların ihtiyaç duymadığı veriyi okumamasına yardımcı olabilir. Ancak bölümleme anahtarı, gerçek sorgu alışkanlığıyla uyumlu değilse beklenen fayda görülmeyebilir. Sık kullanılan filtre alanlarını ve veri erişim desenini inceleyerek bölümleme kararını test edin.
Data skew durumunda bazı görevler çok daha büyük veri parçasını işleyebilir ve tüm işin bitmesini geciktirebilir. Anahtar dağılımını incelemek, dengesiz join veya gruplama noktalarını saptamak için iyi bir başlangıçtır. Amaç, işi daha fazla makineye yaymak değil; mümkünse iş yükünü daha dengeli dağıtmaktır.
Küçük dosya sorununu ve dosya birleştirme stratejilerini değerlendirme
Çok sayıda küçük dosya, planlama ve metadata işlemlerini artırabilir. Bu sorun özellikle düzenli ETL süreçlerinde zamanla büyür. Veri yazma akışını, çıktı bölüm sayısını ve dosya birleştirme ihtiyacını birlikte değerlendirin.
Her dosyayı mümkün olan en büyük boyuta getirmek de otomatik olarak doğru yaklaşım değildir. Dosya boyutu, paralel okuma ihtiyacı, güncelleme biçimi ve depolama katmanının davranışıyla birlikte ele alınmalıdır.
Sütun bazlı biçim, sıkıştırma ve şema tasarımını iş yüküne göre seçme
Sıkıştırılmış ve sütun bazlı veri biçimleri, iş yüküne bağlı olarak depolama ile okuma verimliliğini etkileyebilir. Analitik sorgular belirli sütunları yoğun okuyorsa sütun bazlı yaklaşım fayda sağlayabilir. Buna karşılık yazma sıklığı, şema değişimi ve veri tüketim biçimi de seçimde önemlidir.
Şemayı gereğinden geniş tutmak, yalnızca depolamayı değil okuma maliyetini de etkileyebilir. İhtiyaç duyulmayan alanları taşımamak ve sorguda gerekli sütunları açıkça seçmek, veri hareketini azaltmaya yardımcı olur.
Kaynak Ayarları ve Sorgu Planında Sık Yapılan Hatalar
En yaygın hata, yavaşlayan her iş için executor ve bellek değerlerini rastgele büyütmektir. Bu yaklaşım bazen geçici rahatlama sağlayabilir; fakat temel sorun veri çarpıklığı, küçük dosya yükü veya kötü sorgu planıysa maliyet artarken sorun devam edebilir.

Executor, bellek ve paralellik değerlerini rastgele büyütmenin riski
Daha fazla bellek her zaman daha iyi performans anlamına gelmez. Bellek baskısının gerçek kaynağı anlaşılmazsa disk taşması, garbage collection veya görev yeniden denemeleri sürer. Paralellik ayarı da veri büyüklüğü, bölümleme, küme yapısı ve işin aşamalarına göre değerlendirilmelidir.
Değişiklikleri tek tek uygulayıp aynı iş yükünde gözlemleyin. Birden fazla ayarı aynı anda değiştirirseniz hangi müdahalenin etkili olduğunu ayırmak zorlaşır.
Shuffle, disk taşması ve garbage collection sinyallerini yorumlama
Shuffle, dağıtık işleme sırasında veri taşınmasının yoğunlaştığı noktalardan biridir. Bu aşamada ağ, disk ve bellek birlikte baskı altında kalabilir. Disk taşması veya artan garbage collection, her zaman tek başına bellek artırma gereği anlamına gelmez; veri hacmi, görev dengesi ve ara veri üretimi de incelenmelidir.
Görev yeniden denemeleri görüldüğünde, yalnızca hata sonucuna değil işin hangi veri parçasında ve hangi aşamada zorlandığına bakın. Böylece altyapı arızası, veri çarpıklığı ve kaynak baskısı arasında daha doğru ayrım yapılabilir.
Join stratejileri, filtrelerin erken uygulanması ve gereksiz veri taşımayı azaltma
Join işlemleri büyük veri sorgularının pahalı bölümlerinden biri olabilir. Birleştirme öncesinde gereksiz sütunları azaltmak ve filtreleri erken uygulamak, taşınacak veri miktarını düşürebilir. Sorgu planı, join sırası ve veri dağılımı birlikte okunmalıdır.
Özellikle yoğun SQL analitiğinde, kullanıcıların aynı anda çalıştırdığı sorgular kaynak yarışına neden olabilir. Bu nedenle yalnızca tek bir sorguyu değil, eşzamanlılık altında oluşan toplam davranışı da izleyin.
İş Yüküne Göre Uygulama Senaryoları
Günlük batch raporlama ve ETL süreçleri
Günlük batch işler için düzenli dosya üretimi, bölümleme ve küçük dosya kontrolü önemlidir. Her çalıştırmada oluşan çıktıların zamanla nasıl parçalandığını izlemek gerekir. Zaman penceresi belirgin olan bu işlerde, kaynak planlaması ile veri yaşam döngüsü birlikte ele alınabilir.
Yoğun SQL analitiği ve eşzamanlı kullanıcı sorguları
Bu senaryoda hızlı yanıt beklentisi, tek bir ağır sorgudan farklı bir sorundur. Sorgu planları, ortak kullanılan veri setleri, eşzamanlılık ve veri ambarı kapasitesi birlikte değerlendirilmelidir. Yönetilen veri ambarı veya bulut veri platformu seçeneği, yönetim kolaylığı arayan ekipler için incelenebilir; ancak tüketim modeli ve kapasite koşulları doğrulanmalıdır.
Gerçek zamanlı akış verisi ve gecikme hassasiyeti
Akış işlerinde yalnızca toplam işleme gücü değil, gecikmeye neden olan veri birikimi ve ağ davranışı da önemlidir. Batch için uygun bir ayar, gecikme hassasiyeti olan akışta yeterli olmayabilir. Ölçüm pencerelerini ve başarı kriterlerini iş yükünün gecikme beklentisine göre belirleyin.
Seçim Kriterleri ve Karşılaştırma Özeti
Ek işlem kapasitesi mi, mimari iyileştirme mi, yönetilen hizmet mi? Karar vermeden önce şu noktaları kontrol edin:
- Darboğazın CPU, bellek, disk, ağ, veri çarpıklığı veya sorgu planı kaynaklı olup olmadığını ölçtünüz mü?
- Küçük dosyalar, bölümleme ve gereksiz veri okuma için iyileştirme olanağı var mı?
- İş yükü düzenli mi, ani artışlar mı gösteriyor ve eşzamanlı kullanıcı sayısı değişiyor mu?
- İç ekibin küme yönetimi, izleme ve sorun giderme için ayırabileceği zaman var mı?
- İşlem, depolama, ağ transferi, ayrılmış kapasite ve operasyon emeğini birlikte hesapladınız mı?
Yalnızca gerçek kaynak baskısı doğrulanmışsa ek kapasiteyi değerlendirin. Darboğaz veri düzeni veya sorgu tasarımındaysa önce mimari iyileştirme yapın. Yönetim yükü yüksekse, yönetilen Spark hizmeti, kurumsal bulut veri platformu veya performans danışmanlığı için resmi kapsam ve fiyatlandırma koşullarını ilgili sayfalardan karşılaştırın.
Sonuç
Büyük veri performans tuning çalışması, tek bir ayar değiştirme işi değildir. Veri düzeni, sorgu planı, kaynak kullanımı ve platform işletimi aynı çerçevede ele alındığında daha kontrollü sonuç alınır.
Ölçüm yapmadan ölçeklemek maliyeti büyütebilir. Buna karşılık küçük dosya yükünü azaltmak, veri çarpıklığını görmek veya filtreleri daha erken uygulamak; bazı iş yüklerinde ek kapasite almadan iyileştirme alanı oluşturabilir.
En sağlıklı yaklaşım, her değişikliği belirli bir metrik ve aynı test koşullarıyla doğrulamaktır.
Bilmekte Fayda Var
1. Küçük dosya fazlalığı, nesne depolama ve dağıtık dosya sistemlerinde görev planlama yükünü artırabilir.
2. Veri çarpıklığı, birkaç uzun görevin tüm işi geciktirmesine neden olabilir.
3. Sıkıştırma ve sütun bazlı biçimler, depolama ve okuma verimliliğini iş yüküne göre etkiler.
4. İzleme metrikleri olmadan yapılan kaynak artışı, performans sorununun nedenini gizleyebilir.
Önemli Notlar
Her framework, veri hacmi ve iş yükü için geçerli tek bir executor, bellek veya bölüm sayısı bulunmaz. Belirli bir ayarın etkisi; şema, sorgu türü, eşzamanlılık ve altyapı mimarisi üzerinde test edilmeden kesin söylenemez. Bulut hizmetlerinin güncel fiyatları ise bölge, sözleşme, kullanım modeli ve kur koşullarına göre değişebilir; satın alma kararından önce güncel resmi koşullar kontrol edilmelidir.
Sık Sorulan Sorular
S1. Büyük veri performansını artırmak için önce sunucu kapasitesi mi artırılmalı?
C1. Hayır. Önce CPU, bellek, disk, ağ, shuffle davranışı, veri çarpıklığı ve sorgu planı ölçülmelidir. Sorun küçük dosyalar, dengesiz veri dağılımı veya gereksiz veri okumaysa kapasite artışı maliyeti yükseltirken beklenen faydayı sağlamayabilir.
S2. Yönetilen Spark veya veri ambarı hizmeti, kendi kümesini yönetmekten daha maliyetli mi?
C2. Kesin bir cevap yoktur. Yönetilen hizmette işlem, depolama, ağ transferi, ayrılmış kapasite ve ek servis kullanımı maliyeti etkileyebilir. Kendi kümesinde ise altyapı yanında operasyon, izleme, bakım ve uzmanlık emeği de toplam maliyete eklenmelidir.
S3. Veri çarpıklığı ve küçük dosya sorunu sorgu maliyetini gerçekten artırır mı?
C3. Artırabilir. Veri çarpıklığı bazı görevlerin çok uzun sürmesine yol açabilir; küçük dosya fazlalığı da görev planlama yükünü artırabilir. Etkinin seviyesi, veri düzeni, sorgu tipi ve altyapı davranışına göre ölçülmelidir.





