16 puan yazan xguru 2025-01-27 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Veri yönetimi alanı hızla değişiyor ve bulut depolama ile gerçek zamanlı analiz talebindeki artış nedeniyle Data Lakehouse kavramı öne çıkıyor
  • Apache Iceberg, Apache Hudi ve Delta Lake gibi projeler, Lakehouse mimarisine şema evrimi, ACID işlemleri ve verimli güncellemeler gibi temel yetenekler sağladı
  • Google’ın dahili sistemi Napa, mevcut Lakehouse çözümlerinden bir adım daha ileri bir yaklaşım sunuyor
  • Ayrıca Apache Pinot gibi diğer sistemlerden gelen fikirleri de ekleyerek, Lakehouse’un bir sonraki nesil biçimi olan LakeDB öneriliyor

Mevcut Lakehouse ortamı: Iceberg, Hudi, Delta Lake

  • Apache Iceberg
    • Gelişmiş metadata yönetimiyle şema evrimi, time travel ve verimli sorgu planlamasını destekler
    • Büyük ölçekli analitik veri kümeleri için tutarlılık garantileri sunar
  • Apache Hudi
    • Log-structured storage ve indeksleme kullanarak upsert, delete ve CDC (değişen veri yakalama) işlemlerini verimli biçimde işler
    • Veri değişimi ve artımlı işlemeyi öne çıkarır
  • Delta Lake
    • Spark ve büyük veri iş yükleri için ACID işlemleri sağlar
    • Şema doğrulama, time travel ve batch-streaming birleşik işlemeyi destekler
    • Delta Live Tables aracılığıyla deklaratif pipeline’lar ve materialized view’ları kısmen sunar

Google’ın Napa’sı: makro yaklaşım

  • Büyük ölçekli veriler üzerinde düşük gecikmeli sorgular ve sürekli veri yüklemeyi destekleyen tam teşekküllü bir analitik veri yönetim sistemidir
  • LSM (Log-Structured Merge)-Tree tabanlı yükleme
    • Yüksek yazma verimi için LSM-tree yaklaşımını benimser ve compaction yoluyla mevcut verilerle birleştiren bir yapıya sahiptir
  • Materialized view kullanımı
    • Sorgu hızlandırma için materialized view’ları otomatik olarak korur ve günceller
  • Queryable Timestamp (QT)
    • Sistem genelinde tutarlı zaman noktası yönetimi sağlar
    • Veri tazeliği ile sorgu performansı arasındaki dengeyi ayrıntılı biçimde ayarlamaya imkân verir
  • F1 Query entegrasyonu
    • Google’ın F1 Query motorunu kullanarak karmaşık analitik sorguları verimli şekilde işler
  • Yüksek yapılandırılabilirlik
    • Kullanıcı gereksinimlerine göre veri tazeliği, performans ve maliyet ayarlanabilir

Napa, Iceberg, Hudi, Delta Lake karşılaştırması

  • Napa, bütünsel bir analitik veri yönetim sistemi olarak LSM tabanlı materialized view’lar üzerinden hızlı sorguları destekler ve Queryable Timestamp (QT) adlı bir teknikle veri tazeliğini ayrıntılı biçimde ayarlar. Büyük ölçekli verileri hızlı analiz etmek ve raporlamak istenen durumlarda kullanışlıdır; yüksek yapılandırma esnekliği sayesinde maliyet, performans ve tazelik arasında dengeli bir yönetim sağlar.
  • Iceberg, tablo formatına odaklanan bir projedir; metadata üzerinden büyük veri dosyalarını yönetir ve atomic update gibi yetenekler sunar. Ağırlıklı olarak veri ambarı, şema evrimi ve time travel gibi özelliklere ihtiyaç duyan veri lake ortamlarında kullanılır; yapılandırma seçenekleri ise çoğunlukla tablo yerleşimi ve metadata üzerinde yoğunlaşır.
  • Hudi, veri lake’e veritabanına benzer özellikler kazandıran bir platformdur; log-structured storage ve indeksleme teknikleri sayesinde upsert veya delete gibi veri değişikliği işlemlerini verimli biçimde işler. Gerçek zamanlı yükleme, CDC ve GDPR gibi mevzuat uyumluluğu gereksinimlerine de iyi yanıt verecek şekilde tasarlanmıştır; ancak materialized view özelliğini varsayılan olarak sunmaz.
  • Delta Lake, ACID işlemlerini destekleyen bir depolama katmanıdır; batch ve streaming işleri birleşik biçimde işlerken şema enforcement ve time travel özellikleri de sunar. Sorgu performansını artırmak için Spark ile entegre şekilde data skipping ve caching kullanır; ayrıca ayrı bir Delta Live Tables bileşeni üzerinden materialized view benzeri kavramları da destekler. Çeşitli veri lake ortamlarına güvenilirlik ve işlem yetenekleri eklemek istendiğinde sıkça tercih edilir.

LakeDB iddiası: Napa’dan ilham, başka yerlerden öğrenim

  • Napa ve Apache Pinot gibi sistemlerin yenilikçi fikirlerini birleştirerek, daha bütünleşik ve esnek bir LakeDB kavramı öneriliyor
  • LakeDB, kullanıcı gereksinimlerini (tazelik, maliyet, tutarlılık, indeks kullanımı vb.) deklaratif olarak ifade ettiğinde sistemin bunu otomatik olarak optimize ettiği bir veri yönetim çözümünü hedefliyor

1. Depolama, yükleme, metadata ve sorgu işlemenin entegrasyonu

  • Tek bir sistem içinde depolama, yükleme, metadata ve sorgu işleme birlikte yer alır
  • Kullanıcı yalnızca veri tazeliği ve tutarlılığı belirtir, gerekli işlemler otomatik olarak ayarlanır
  • Iceberg, Hudi ve Delta Lake tarafında bu bölüm için ayrı araç entegrasyonları gerektiğinden karmaşıklık artar

2. Materialized view ve veri yerleşiminin akıllı optimizasyonu

  • CoW (Copy-on-Write) ve MoR (Merge-on-Read) yöntemleri iş yüküne göre otomatik olarak değiştirilir
  • Kullanıcı tanımlı performans ve maliyet gereksinimlerine göre snapshot ve materialized view’lar uygun biçimde oluşturulur ve yönetilir
  • Hudi, Delta Lake ve Iceberg’de bu süreç çoğunlukla manuel olarak yapılandırılmalıdır

3. Ayrıntılı veri tazeliği kontrolü

  • Napa’daki QT gibi, kullanıcı istenen tazelik seviyesini belirtir ve sistem performans ile maliyet arasındaki ödünleşimi bulur
  • Mevcut sistemlerde gerçek zamanlılığı garanti etmek zordu çünkü periyodik snapshot’lara ve izlemeye bağımlılık vardı

4. Apache Pinot’tan ilham alan gelişmiş indeksleme ve partitioning

  • Star-Tree gibi gelişmiş indeksleme yöntemlerini destekleyerek yüksek cardinality analizleri de mümkün kılar
  • Iceberg ve Delta Lake’in basit partitioning ve data skipping yaklaşımının ötesinde performans artışı hedefler

5. Esnek yapılandırma

  • Aynı tablo, birden fazla tüketici tarafından farklı performans, maliyet ve tazelik gereksinimlerine göre yapılandırılabilir
  • Mevcut sistemlerde yapılandırma aralığı sınırlı olduğundan, çeşitlenen iş yüklerine uyum için çok sayıda manuel tuning gerekir

6. ACID ve şema evrimi desteği

  • Iceberg ve Delta Lake’in ACID ve şema evrimi temelini devralır ve genişletir
  • Dağıtık ortamlarda eşzamanlı şema değişikliklerini ve veri tutarlılığı garantilerini otomatikleştirmeyi amaçlar

7. Açıklık ve genişletilebilirlik

  • Açık standartları ve çeşitli sorgu motorlarıyla entegrasyonu destekler, ihtiyaç halinde genişletilebilir
  • Belirli bir vendor veya platforma bağımlı olmadan, kullanıcı gereksinimlerine göre özelliklerin esnek biçimde uygulanmasını sağlar

LakeDB neden bir sonraki evrim?

  • Performans: gelişmiş indeksler, materialized view’lar ve dinamik veri yerleşimi optimizasyonuyla OLAP düzeyine yakın hızlar sunar
  • Basitlik: yönetim yeteneklerini tek bir sistemde toplayarak kullanıcı yalnızca tazelik, performans gibi gereksinimleri belirler ve sistem geri kalanını otomatik ayarlar
  • Verimlilik: kaynak kullanımını ve operasyonel yükü azaltarak maliyet tarafında da avantaj sağlayabilir
  • Esneklik: ayrıntılı veri tazeliği kontrolü ve zengin yapılandırma seçenekleriyle farklı iş yüklerine yanıt verebilir
  • Gerçek zamanlı analiz: Apache Pinot’nun indeksleme tekniklerini benimseyerek hem düşük gecikme hem de yüksek throughput hedefler

Sonuç

  • Apache Iceberg, Apache Hudi ve Delta Lake, Lakehouse kavramının gelişiminde büyük rol oynadı
  • Google’ın Napa yaklaşımı ile Apache Pinot gibi sistemlerden gelen fikirler birleştirildiğinde daha bütünleşik ve güçlü bir LakeDB vizyonu tasarlanabilir
  • LakeDB, depolama, yükleme, metadata ve sorgu işlemeyi kapsayan olgun bir birleşik sistem olarak, yeni nesil veri yönetimi mimarisi olma potansiyeline sahip

Henüz yorum yok.

Henüz yorum yok.