Skip to main content
Veri Bilimi & Yapay Zeka

Feature Store Nedir? Kurumsal AI Veri Yönetimi

March 06, 2026 12 min read 12 views Raw
Feature Store ve kurumsal AI veri yönetimi - veri merkezi sunucu odası
Table of Contents

📑 İçindekiler

1. Feature Store Nedir?

Feature Store, makine öğrenmesi (ML) pipeline'larında kullanılan özelliklerin (feature) merkezi bir depoda saklanması, yönetilmesi ve sunulması için tasarlanmış özel bir veri platformudur. Geleneksel veri ambarlarından farklı olarak, feature store'lar hem eğitim hem de tahmin (inference) süreçleri için optimize edilmiştir.

Bir feature, makine öğrenmesi modelinin girdi olarak kullandığı ölçülebilir bir özelliktir. Örneğin, bir müşterinin son 30 günlük harcama toplamı, bir ürünün ortalama puanı veya bir kullanıcının son giriş zamanı birer feature'dır. Bu feature'lar genellikle ham verilerden türetilir ve hesaplanması karmaşık dönüşüm süreçleri gerektirir.

💡 Kısaca Tanım

Feature Store = Merkezi Feature Deposu + Feature Hesaplama Motoru + Feature Servis Katmanı + Metadata Yönetimi

Feature store kavramı ilk olarak 2017 yılında Uber'in Michelangelo platformuyla geniş çapta tanınmıştır. Uber, yüzlerce ML modelini desteklemek için feature'ların tekrar tekrar hesaplanmasının verimsizliğini fark etmiş ve merkezi bir feature yönetim sistemi geliştirmiştir.

Feature Store'un Temel Bileşenleri

Bir feature store tipik olarak şu bileşenlerden oluşur:

  • Feature Registry: Tüm feature tanımlarının, metadata'larının ve lineage bilgilerinin tutulduğu katalog.
  • Feature Transformation Engine: Ham verilerden feature'ların hesaplandığı dönüşüm motoru.
  • Online Store: Düşük gecikmeli tahmin istekleri için optimize edilmiş depolama.
  • Offline Store: Toplu eğitim verileri için optimize edilmiş büyük ölçekli depolama.
  • Feature Serving API: Feature'ların modellere sunulduğu API katmanı.

2. Feature Store Neden Gereklidir?

Kurumsal ölçekte makine öğrenmesi projelerinde en büyük sorunlardan biri, veri bilimcilerin zamanlarının yaklaşık %80'ini veri hazırlığı ve feature engineering süreçlerine harcamasıdır. Feature store bu soruna doğrudan çözüm sunar.

Feature Store Olmadan Karşılaşılan Sorunlar

Sorun Açıklama Etki
Feature Duplikasyonu Farklı ekipler aynı feature'ı tekrar tekrar hesaplar İşlem gücü israfı
Training-Serving Skew Eğitim ve tahmin sırasında farklı feature değerleri kullanılır Model performans kaybı
Veri Tutarsızlığı Feature tanımlarında farklılıklar oluşur Hatalı model çıktıları
Keşfedilebilirlik Eksikliği Mevcut feature'ları bulmak zordur Geliştirme süresi uzar
Point-in-Time Correctness Zaman boyutunda doğru veri çekmek güçtür Data leakage riski

Feature Store'un Sağladığı Avantajlar

Feature store kullanımı şu temel avantajları sağlar:

  • Feature Yeniden Kullanımı: Bir kez hesaplanan feature'lar farklı modeller tarafından kullanılabilir, geliştirme süresini %40-60 azaltır.
  • Tutarlılık Garantisi: Eğitim ve tahmin süreçlerinde aynı feature tanımları kullanılır.
  • Veri Keşfi: Merkezi katalog sayesinde mevcut feature'lar kolayca bulunabilir.
  • Zaman Yolculuğu: Geçmişteki feature değerlerine doğru şekilde erişim sağlanır.
  • Operasyonel Verimlilik: Feature pipeline'ları merkezi olarak yönetilir ve izlenir.

3. Online Store vs Offline Store

Feature store'ların en kritik mimari kararlarından biri, online ve offline depolama stratejisinin tasarlanmasıdır. Her iki store farklı kullanım senaryoları için optimize edilmiştir.

Offline Store (Batch Store)

Offline store, büyük hacimli tarihsel verileri depolamak ve toplu işlem (batch processing) senaryolarını desteklemek için tasarlanmıştır. Genellikle veri gölü (data lake) veya veri ambarı (data warehouse) teknolojileri üzerine inşa edilir.

Offline Store Kullanım Örneği - Python/Feast

from feast import FeatureStore

store = FeatureStore(repo_path="feature_repo/")

# Eğitim verisi için tarihsel feature'ları çek
training_df = store.get_historical_features(
    entity_df=entity_dataframe,
    features=[
        "customer_features:total_spend_30d",
        "customer_features:avg_order_value",
        "customer_features:purchase_frequency",
    ],
).to_df()

Offline store'da kullanılan yaygın teknolojiler arasında Apache Parquet, Delta Lake, Apache Hudi, BigQuery, Snowflake ve Amazon S3 bulunur. Bu sistemler yüksek throughput ve düşük maliyet sunar ancak gecikme süreleri saniyeler veya dakikalar mertebesindedir.

Online Store (Real-Time Store)

Online store, gerçek zamanlı tahmin istekleri için düşük gecikmeli (genellikle milisaniye düzeyinde) feature sunumu sağlar. Her entity için yalnızca en güncel feature değerlerini tutar.

Online Store Kullanım Örneği

# Gerçek zamanlı tahmin için feature'ları çek
online_features = store.get_online_features(
    features=[
        "customer_features:total_spend_30d",
        "customer_features:risk_score",
    ],
    entity_rows=[{"customer_id": 12345}],
).to_dict()

# Yanıt süresi: ~5-10ms

Online store için tercih edilen teknolojiler arasında Redis, DynamoDB, Cassandra, Bigtable ve PostgreSQL yer alır.

Özellik Online Store Offline Store
Gecikme 1-10 ms Saniyeler-Dakikalar
Veri Hacmi En güncel değerler Tüm tarihsel veriler
Kullanım Gerçek zamanlı tahmin Model eğitimi
Maliyet Yüksek (bellek bazlı) Düşük (disk bazlı)
Sorgu Tipi Key-value lookup Point-in-time join

4. Feature Store Mimari Yapısı

Modern bir feature store mimarisi genellikle dört katmanlı bir yapıdan oluşur. Bu katmanlar birlikte çalışarak veri akışından feature sunumuna kadar tüm süreci yönetir.

Katman 1: Veri Kaynakları ve İngestion

Feature store'a veri akışı çeşitli kaynaklardan gerçekleşir: ilişkisel veritabanları, streaming platformlar (Kafka, Kinesis), dosya sistemleri ve harici API'ler. Veri ingestion süreci hem batch hem de streaming modlarını desteklemelidir.

Katman 2: Feature Transformation

Ham veriler, tanımlanmış dönüşüm pipeline'ları aracılığıyla feature'lara dönüştürülür. Bu katmanda Apache Spark, Apache Flink veya özel SQL dönüşümleri kullanılabilir. Dönüşümler hem batch hem de streaming modunda çalışabilmelidir.

Katman 3: Feature Storage

Online ve offline store'lar bu katmanda yer alır. Materialize edilen feature'lar uygun depolama sistemlerine yazılır. Offline store genellikle columnar format (Parquet), online store ise key-value store kullanır.

Katman 4: Feature Serving

Feature'ların modellere sunulduğu API katmanıdır. REST veya gRPC protokolleri üzerinden düşük gecikmeli feature servisi sağlar. Bu katman ayrıca erişim kontrolü, rate limiting ve monitoring özelliklerini de içerir.

⚠️ Dikkat

Feature store mimarinizi tasarlarken, online ve offline store arasındaki senkronizasyon stratejinizi dikkatlice planlayın. Materialization sıklığı, veri tazeliği gereksinimlerinize göre belirlenmelidir.

5. Feature Engineering Best Practices

Feature store kullanırken feature engineering süreçlerini optimize etmek, model performansını doğrudan etkiler. İşte kurumsal düzeyde feature engineering için en iyi uygulamalar:

Feature Adlandırma Konvansiyonları

Tutarlı ve açıklayıcı bir adlandırma stratejisi, feature keşfedilebilirliğini artırır:

Feature Adlandırma Örnekleri

# İyi adlandırma örnekleri
customer__total_purchase_amount__last_30d
product__average_rating__all_time
user__login_count__last_7d
transaction__fraud_score__realtime

# Kötü adlandırma örnekleri
feat_1
cust_amt
x_score

Feature Versiyonlama

Feature tanımları zamanla değişebilir. Her değişikliğin versiyonlanması, model reproduktibilitesi için kritiktir. Feature store'unuzda her feature tanımı için versiyon geçmişi tutulmalı ve eski versiyonlara erişim mümkün olmalıdır.

Point-in-Time Correctness

Eğitim veri setleri oluşturulurken, her örnek için yalnızca o zaman noktasında mevcut olan feature değerleri kullanılmalıdır. Gelecekten bilgi sızması (data leakage) modelin gerçek dünyada başarısız olmasına neden olur.

Point-in-Time Join Örneği

# Feast ile point-in-time doğruluğu otomatik sağlanır
entity_df = pd.DataFrame({
    "customer_id": [101, 102, 103],
    "event_timestamp": [
        datetime(2025, 1, 15),
        datetime(2025, 2, 20),
        datetime(2025, 3, 10),
    ]
})

# Her müşteri için, ilgili tarih itibarıyla feature değeri alınır
training_data = store.get_historical_features(
    entity_df=entity_df,
    features=["customer_features:total_spend_30d"]
).to_df()

Feature Monitoring

Feature'ların zaman içindeki dağılım değişikliklerini (feature drift) izlemek, model sağlığı için kritiktir. Feature store'unuz şu metrikleri takip etmelidir: ortalama, standart sapma, null oranı, kardinalite ve dağılım histogramları.

6. Feast vs Tecton vs Hopsworks Karşılaştırma

Feature store pazarında üç büyük oyuncu öne çıkmaktadır: açık kaynaklı Feast, yönetilen hizmet Tecton ve uçtan uca platform Hopsworks. Her birinin kendine özgü güçlü yanları vardır.

Feast (Feature Store)

Feast, Linux Foundation altında geliştirilen açık kaynaklı bir feature store çözümüdür. İlk olarak Gojek tarafından geliştirilmiş, ardından Tecton'un kurucuları tarafından yeniden tasarlanmıştır. Feast'in en büyük avantajı ücretsiz olması ve geniş topluluk desteğidir.

Güçlü Yanları: Açık kaynak, vendor lock-in yok, Python SDK, geniş entegrasyon desteği (Redis, DynamoDB, BigQuery, Snowflake), Kubernetes üzerinde çalışabilme.

Zayıf Yanları: Sınırlı streaming desteği, yerleşik feature transformation motoru yok, kurumsal destek gerektiren senaryolarda yetersiz kalabilir.

Tecton

Tecton, Uber'in Michelangelo ekibinden ayrılan mühendisler tarafından kurulan yönetilen (managed) bir feature store platformudur. Kurumsal düzeyde özellikler ve SLA garantileri sunar.

Güçlü Yanları: Yönetilen hizmet, yerleşik streaming desteği, güçlü feature transformation motoru, kurumsal güvenlik özellikleri, otomatik materialization.

Zayıf Yanları: Yüksek maliyet, vendor lock-in riski, self-hosted seçenek sınırlı.

Hopsworks

Hopsworks, İsveç KTH Üniversitesi'nden doğan, hem açık kaynak hem de yönetilen hizmet olarak sunulan bir ML platformudur. Feature store, Hopsworks'ün daha geniş ML platformunun bir parçasıdır.

Güçlü Yanları: Hem açık kaynak hem managed seçenekler, yerleşik feature transformation, güçlü veri lineage, entegre ML pipeline'ları, multi-modal feature desteği.

Zayıf Yanları: Öğrenme eğrisi daha dik, topluluk Feast'e göre daha küçük.

Özellik Feast Tecton Hopsworks
Lisans Açık Kaynak Ticari Açık Kaynak + Ticari
Streaming Desteği Sınırlı Güçlü İyi
Feature Transform Harici Yerleşik Yerleşik
Online Store Gecikme ~5-10ms ~3-5ms ~5-15ms
Bulut Desteği AWS, GCP, Azure AWS, GCP AWS, GCP, Azure
Maliyet Ücretsiz (altyapı maliyeti) Yüksek Orta
Monitoring Temel Gelişmiş İyi

💡 Seçim Rehberi

Startup/Küçük ekip: Feast ile başlayın. Orta ölçek: Hopsworks'ü değerlendirin. Kurumsal/Kritik iş yükleri: Tecton veya Hopsworks Enterprise tercih edin.

7. Veri Tutarlılığı ve Kalite Yönetimi

Feature store'da veri tutarlılığı, ML modellerinin güvenilirliği için hayati önem taşır. Training-serving skew olarak bilinen sorun, eğitim ve tahmin aşamalarında farklı feature değerlerinin kullanılmasından kaynaklanır.

Training-Serving Skew Önleme

Training-serving skew'i önlemenin en etkili yolu, hem eğitim hem de tahmin süreçlerinde aynı feature tanımlarını ve aynı feature store'u kullanmaktır. Feature store, bu tutarlılığı otomatik olarak sağlar.

Feature Validation

Feature store'a yazılan verilerin kalitesini sağlamak için validasyon kuralları tanımlanmalıdır:

  • Schema Validation: Veri tiplerinin doğruluğunu kontrol edin.
  • Range Validation: Değerlerin beklenen aralıkta olduğunu doğrulayın.
  • Null Check: Eksik değer oranlarını izleyin.
  • Distribution Check: Feature dağılımlarındaki anormal değişiklikleri tespit edin.
  • Freshness Check: Verilerin güncelliğini kontrol edin.

Great Expectations ile Feature Validation Örneği

import great_expectations as gx

context = gx.get_context()
validator = context.sources.pandas_default.read_dataframe(feature_df)

# Feature kalite kuralları
validator.expect_column_values_to_not_be_null("customer_id")
validator.expect_column_values_to_be_between(
    "total_spend_30d", min_value=0, max_value=1000000
)
validator.expect_column_values_to_be_of_type(
    "risk_score", "float64"
)

Feature Drift Detection

Feature dağılımlarının zaman içinde değişmesi (drift), model performansını olumsuz etkileyebilir. Feature store'unuzda düzenli olarak Kolmogorov-Smirnov testi, Population Stability Index (PSI) veya Jensen-Shannon divergence gibi istatistiksel testler çalıştırarak drift'i erken tespit edebilirsiniz.

8. Kurumsal İmplementasyon Stratejileri

Bir feature store'u kurumsal ölçekte başarıyla uygulamak, teknik kapasitenin ötesinde organizasyonel planlama ve değişim yönetimi gerektirir. İşte adım adım bir implementasyon stratejisi:

Faz 1: Değerlendirme ve Planlama (2-4 Hafta)

Mevcut ML altyapınızı değerlendirin. Kaç model üretimde çalışıyor, kaç ekip feature'ları bağımsız olarak hesaplıyor, feature tekrarı oranı nedir? Bu metrikleri belgeleyerek feature store yatırımının ROI'sini hesaplayın.

Faz 2: Pilot Proje (4-8 Hafta)

Küçük ama etkili bir kullanım senaryosuyla başlayın. Fraud detection veya recommendation gibi gerçek zamanlı feature gerektiren bir proje idealdir. Pilot projede hem online hem offline store yeteneklerini test edin.

Faz 3: Genişletme (8-16 Hafta)

Pilot projenin başarısından sonra, diğer ML projelerini feature store'a taşıyın. Bu aşamada feature governance politikalarını oluşturun: feature sahipliği, erişim kontrolü, yaşam döngüsü yönetimi ve SLA tanımları.

Faz 4: Olgunlaştırma (Sürekli)

Feature store'u organizasyonun standart ML altyapısının bir parçası haline getirin. Self-service feature oluşturma, otomatik feature monitoring ve CI/CD pipeline entegrasyonu bu fazda hedeflenir.

💡 İpucu

Feature store implementasyonunda en sık yapılan hata, tüm mevcut feature'ları bir anda taşımaya çalışmaktır. Önce en çok kullanılan ve en yüksek değer üreten feature'larla başlayın ve kademeli olarak genişletin.

9. Gerçek Dünya Kullanım Senaryoları

E-Ticaret: Kişiselleştirilmiş Öneriler

Bir e-ticaret platformu, kullanıcının göz atma geçmişi, satın alma kalıpları ve ürün etkileşimleri gibi feature'ları online store'da tutar. Kullanıcı siteyi ziyaret ettiğinde, milisaniyeler içinde kişiselleştirilmiş ürün önerileri sunulur. Offline store'da ise bu feature'ların tarihsel versiyonları saklanarak öneri modelinin düzenli olarak yeniden eğitilmesi sağlanır.

Finans: Gerçek Zamanlı Dolandırıcılık Tespiti

Bankalar, her işlem için müşterinin son 1 saatteki işlem sayısı, ortalama işlem tutarı, coğrafi konum değişikliği hızı gibi feature'ları gerçek zamanlı olarak hesaplayarak dolandırıcılık riskini değerlendirir. Bu senaryoda online store'un milisaniye düzeyinde yanıt vermesi kritiktir.

Sağlık: Hasta Risk Skorlaması

Hastaneler, hastaların vital bulgularından laboratuvar sonuçlarına kadar çeşitli feature'ları feature store'da merkezi olarak yönetir. Bu feature'lar, sepsis riski tahmini, yeniden yatış olasılığı hesaplama ve tedavi yanıtı tahminleme gibi çeşitli klinik modeller tarafından paylaşılır.

10. Gelecek Trendler

Feature store teknolojisi hızla gelişmeye devam etmektedir. 2026 ve sonrasında beklenen önemli trendler şunlardır:

  • LLM Entegrasyonu: Büyük dil modelleri için feature store'lar, embedding'lerin ve prompt template'lerinin merkezi yönetimini sağlayacak.
  • Federated Feature Store: Birden fazla organizasyonun, veri gizliliğini koruyarak feature'ları paylaşabilmesi.
  • Otomatik Feature Engineering: AI destekli otomatik feature keşfi ve oluşturma yetenekleri.
  • Edge Feature Store: IoT ve edge computing senaryoları için optimize edilmiş hafif feature store çözümleri.
  • Feature Marketplace: Kuruluşlar arası feature alışverişini mümkün kılan platform modelleri.

11. Sıkça Sorulan Sorular (SSS)

Feature store ile veri ambarı arasındaki fark nedir?

Veri ambarı genel amaçlı analitik sorgular için tasarlanmışken, feature store özellikle makine öğrenmesi modelleri için optimize edilmiştir. Feature store, point-in-time correctness, online serving, feature versiyonlama ve training-serving consistency gibi ML'e özgü yetenekler sunar. Veri ambarı genellikle offline store'un altyapısı olarak kullanılabilir.

Feature store ne zaman kullanılmalıdır?

Birden fazla ML modeliniz varsa, farklı ekipler benzer feature'ları hesaplıyorsa, gerçek zamanlı tahmin ihtiyacınız varsa veya training-serving skew sorunlarıyla karşılaşıyorsanız feature store kullanmanız önerilir. Tek bir modeli olan küçük projeler için genellikle gerekli değildir.

Feature store self-hosted mı yoksa managed mı olmalı?

Bu karar ekibinizin büyüklüğüne ve teknik kapasitesine bağlıdır. Küçük-orta ekipler için Feast gibi açık kaynaklı bir çözümle başlamak mantıklıdır. Büyük kurumsal ekipler veya kritik iş yüklerinde Tecton veya Hopsworks Enterprise gibi yönetilen hizmetler operasyonel yükü azaltır.

Feature store'da kaç feature saklanmalıdır?

Feature sayısı projeden projeye değişir. Uber'in Michelangelo platformu on binlerce feature yönetmektedir. Önemli olan feature sayısı değil, her feature'ın iyi tanımlanmış, bakımı yapılan ve değer üreten bir feature olmasıdır. Kullanılmayan feature'ları düzenli olarak temizlemek (deprecation) önemlidir.

Training-serving skew nedir ve nasıl önlenir?

Training-serving skew, modelin eğitim sırasında gördüğü feature değerleri ile üretimde tahmin sırasında aldığı feature değerleri arasındaki tutarsızlıktır. Bu sorun, aynı feature'ın farklı kodla hesaplanması, farklı veri kaynaklarının kullanılması veya zamanlama farklarından kaynaklanır. Feature store, aynı feature tanımını hem eğitim hem tahmin için kullanarak bu sorunu ortadan kaldırır.

Feature store'un maliyeti nedir?

Feast gibi açık kaynak çözümlerde doğrudan yazılım maliyeti yoktur, ancak altyapı (Redis, S3, compute) maliyetleri vardır. Tecton gibi ticari çözümler kullanım bazlı fiyatlandırma sunar. Önemli olan, feature store'un sağladığı geliştirme süresi tasarrufu, azalan feature duplikasyonu ve iyileşen model performansı ile toplam sahiplik maliyetinin genellikle düştüğüdür.

Feature store GenAI ve LLM projeleri için gerekli mi?

Evet, giderek daha fazla. LLM tabanlı uygulamalarda embedding'lerin, kullanıcı bağlam bilgilerinin ve prompt şablonlarının merkezi yönetimi önem kazanmaktadır. RAG (Retrieval-Augmented Generation) mimarileri, feature store'u bir vektör deposu ve bağlam yönetim katmanı olarak kullanabilir. Bu alan hızla gelişmektedir.

]]>

Share this post