Data Lifecycle with Cloudera

Modern veri platformlarında verinin değeri, yalnızca depolanmasından değil, uçtan uca yönetilen bir yaşam döngüsü içinde işlenebilmesinden gelir. Cloudera Data Platform bu yaşam döngüsünü; verinin kaynak sistemlerden alınması, hazırlanması, analiz edilmesi, operasyonel sistemlere servis edilmesi ve yapay zekâ modelleriyle tahmine dönüştürülmesi üzerinden ele alır.

Veri yaşam döngüsünü beş ana aşamada okumak mümkündür: ingest, prepare, analyze, serve ve predict. Her aşama farklı bir teknik ihtiyaca karşılık gelir. Cloudera bu ihtiyaçları farklı data service’ler veya workload cluster modelleriyle karşılar. Data Flow verinin sisteme alınmasını, Data Engineering verinin hazırlanmasını, Data Warehouse analitik sorgulama katmanını, Operational Database operasyonel erişim katmanını, Cloudera AI ise makine öğrenmesi ve yapay zekâ süreçlerini temsil eder. Data Hub ise özellikle cloud ortamında daha fazla cluster-level kontrol gerektiren iş yükleri için ayrı bir execution modeli sağlar.

Data Flow

Veri yaşam döngüsünün ilk aşaması ingest, yani verinin kaynak sistemlerden platforma alınmasıdır. Modern organizasyonlarda veri yalnızca ilişkisel veritabanlarından gelmez; log dosyaları, IoT cihazları, streaming event’ler, API’ler, dosya sistemleri, SaaS uygulamaları ve mesajlaşma platformları da önemli veri kaynaklarıdır. Cloudera ekosisteminde bu aşamanın merkezinde Cloudera Data Flow bulunur. Data Flow, Apache NiFi temelli, self-service veri akışı tasarlama ve çalıştırma servisidir. Temel amacı veriyi farklı kaynaklardan güvenli, kontrollü ve izlenebilir şekilde alıp hedef sistemlere taşımaktır.

Data Flow’un değerini yalnızca veri taşıma olarak düşünmemek gerekir. Bu servis, veri akışlarının kataloglanması, yeniden kullanılabilir hale getirilmesi, deployment süreçlerinin merkezi yönetilmesi, KPI ve alerting mekanizmalarıyla izlenmesi ve güvenli endpoint’ler üzerinden çalıştırılması için tasarlanmıştır. Özellikle log ingestion, IoT data ingestion, dosya transferi, API tabanlı entegrasyon, on-premises ile cloud arasında veri taşıma ve event-driven integration senaryolarında güçlü bir rol oynar.

Data Flow’un teknik merkezinde NiFi vardır; fakat Cloudera’nın streaming mimarisinde Kafka, Schema Registry, Flink ve SQL Stream Builder gibi bileşenlerle birlikte düşünülmesi gerekir. NiFi, verinin akışını ve yönlendirilmesini yönetirken, Kafka event streaming omurgasını sağlar. Flink ise akan veri üzerinde anlık işlem yapmayı mümkün kılar. Bu nedenle Data Flow, modern Cloudera mimarisinde yalnızca batch veri alma aracı değil, streaming-first veri mimarisinin giriş noktasıdır.

Data Engineering

Veri platforma alındıktan sonra ikinci aşama prepare, yani verinin temizlenmesi, dönüştürülmesi, zenginleştirilmesi ve analitik kullanıma hazır hale getirilmesidir. Bu aşamanın ana servisi Cloudera Data Engineering’dir. Data Engineering, Spark tabanlı batch ve pipeline işlerini yönetilen bir servis deneyimiyle çalıştırmak için tasarlanmıştır. Klasik Hadoop dünyasında veri mühendisliği işleri çoğunlukla doğrudan YARN cluster üzerinde Spark submit, Oozie workflow veya manuel scheduler süreçleriyle yürütülürdü. Modern Cloudera yaklaşımında ise bu işler virtual cluster, job, resource ve job run gibi daha servis odaklı kavramlarla yönetilir.

Cloudera Data Engineering’in en önemli avantajı, veri mühendisliği ekiplerini cluster yönetimi yükünden büyük ölçüde kurtarmasıdır. Kullanıcılar belirli kaynak sınırlarına sahip virtual cluster’lar üzerinde Spark job’ları çalıştırabilir, işleri zamanlayabilir, Python environment’larını, bağımlılıkları ve custom runtime image’ları tekrar kullanılabilir resource’lar olarak yönetebilir. Bu yapı, hem standart ETL süreçleri hem de daha karmaşık lakehouse pipeline’ları için uygundur.

Bu servis içinde Apache Airflow entegrasyonu da önemli bir rol oynar. Airflow sayesinde yalnızca tekil Spark job’ları değil, birden fazla adımdan oluşan veri işleme akışları da orkestre edilebilir. Örneğin bir pipeline önce ham veriyi işler, ardından Iceberg tablolarını günceller, sonrasında Data Warehouse üzerinde bir SQL dönüşümü tetikler ve en sonunda kalite kontrol adımlarını çalıştırabilir. Böylece Data Engineering servisi, prepare aşamasında yalnızca compute sağlayan bir katman değil, uçtan uca pipeline orchestration deneyimi sunan bir veri mühendisliği platformu haline gelir.

Modern Cloudera mimarisinde Data Engineering’in kritik rollerinden biri de lakehouse mimarisiyle entegrasyondur. Spark tabanlı işler Iceberg gibi modern table format’lar üzerinde çalışarak veriyi açık, yönetilebilir ve farklı motorlar tarafından tüketilebilir hale getirir. Bu yaklaşım, klasik Hive tablosu mantığından daha ileri bir veri yönetim modeli sağlar. Schema evolution, partition evolution, snapshot mantığı ve çoklu engine erişimi gibi özellikler, lakehouse mimarilerinde verinin daha güvenilir yönetilmesini mümkün kılar.

Data Warehouse

Yaşam döngüsünün üçüncü aşaması analyze, yani verinin SQL, BI ve interaktif analitik amaçlarla sorgulanmasıdır. Cloudera tarafında bu aşamanın merkezinde Cloudera Data Warehouse yer alır. Data Warehouse servisi, self-service ve autoscaling SQL warehouse’lar sunarak analistlerin, BI kullanıcılarının ve veri ekiplerinin büyük veri üzerinde etkileşimli sorgular çalıştırmasını sağlar.

Cloudera Data Warehouse mimarisinde iki kavram özellikle önemlidir: Database Catalog ve Virtual Warehouse. Database Catalog, metadata, security izinleri, audit bilgileri ve query history gibi bağlamları taşır. Virtual Warehouse ise sorguların çalıştığı compute katmanıdır. Bu ikisinin ayrışması, modern Cloudera mimarisindeki compute-storage ve metadata-compute ayrımını çok net gösterir. Aynı katalog üzerinde farklı boyutlarda ve farklı amaçlara göre tasarlanmış birden fazla Virtual Warehouse çalıştırılabilir.

Bu yapı multi-tenancy açısından çok değerlidir. Örneğin finansal raporlama ekibi için daha stabil ve kontrollü bir warehouse, veri keşfi yapan analistler için daha esnek bir warehouse, yoğun dashboard trafiği için yüksek concurrency destekleyen ayrı bir warehouse tasarlanabilir. Böylece aynı veri üzerinde farklı kullanıcı grupları çalışırken birbirlerinin performansını doğrudan etkilemez. Bu, klasik CDH dünyasındaki ortak Hive/Impala cluster kullanımına göre çok daha izole ve yönetilebilir bir modeldir.

Cloudera Data Warehouse; Impala, Hive ve Iceberg gibi teknolojilerle çalışır. Impala düşük gecikmeli interactive SQL sorguları için öne çıkarken, Hive daha geniş batch SQL uyumluluğu ve bazı geleneksel iş yükleri için kullanılabilir. Iceberg ise açık lakehouse table format olarak verinin farklı motorlar tarafından tutarlı şekilde okunup yazılmasını sağlar. Bu servis, JDBC/ODBC endpoint’leri sayesinde BI araçlarıyla da entegre olabilir. Böylece veri platformunda hazırlanmış veriler, kurumsal raporlama ve self-service analytics süreçlerine açılır.

Operational Database

Dördüncü aşama serve, yani verinin operasyonel sistemlere, uygulamalara veya düşük gecikmeli erişim ihtiyacı olan servis katmanlarına sunulmasıdır. Analitik sorgular genellikle büyük veri kümeleri üzerinde toplu veya interaktif işlem yaparken, operasyonel erişim daha farklı bir karaktere sahiptir. Burada amaç genellikle belirli bir müşteri, cihaz, hesap, işlem veya olay için çok hızlı okuma/yazma yapabilmektir. Cloudera ekosisteminde bu rolü Cloudera Operational Database üstlenir.

Cloudera Operational Database, Apache HBase ve Apache Phoenix tabanlıdır. HBase dağıtık, ölçeklenebilir ve düşük gecikmeli bir datastore sağlar. Phoenix ise HBase üzerinde SQL ve JDBC erişimi sunar. Bu kombinasyon, operasyonel veri servis etme ihtiyaçları için güçlü bir yapı oluşturur. Müşteri 360 profilleri, fraud lookup senaryoları, gerçek zamanlı cihaz durumu sorguları, IoT state management, operasyonel dashboard backend’leri ve yüksek hacimli key-based erişim gerektiren uygulamalar bu servis için doğal kullanım alanlarıdır.

Serve katmanında performans kadar süreklilik de önemlidir. Bu nedenle Operational Database tarafında autoscaling, auto-healing, yüksek erişilebilirlik ve Multi-AZ mimari gibi özellikler kritik hale gelir. Bir operasyonel veritabanı yalnızca veri tutmaz; aynı zamanda uygulamaların güvenilir şekilde veri okuyup yazabildiği bir servis yüzeyi sağlar. Bu yüzden read throughput, write throughput, RPC latency, P99 latency, block cache hit ratio ve compaction queue gibi metrikler doğrudan servis kalitesini belirler.

Cloudera AI

Beşinci aşama predict, yani verinin makine öğrenmesi ve yapay zekâ süreçlerinde kullanılmasıdır. Cloudera tarafında bu aşamanın ana servisi Cloudera AI’dır. Cloudera AI, veri bilimcilerin model geliştirme, experiment tracking, model eğitimi, model registry, model deployment ve inference süreçlerini uçtan uca yönetebilmesi için tasarlanmıştır. Veri bilimi ekiplerine esnek çalışma ortamı sunar.

Cloudera AI içinde sessions, experiments, jobs, models ve applications gibi çalışma tipleri bulunur. Sessions, veri bilimcilerin interaktif geliştirme yaptığı alanlardır. Experiments, farklı model denemelerinin ve hiperparametre varyasyonlarının takip edilmesini sağlar. Jobs, tekrarlı veya zamanlanmış ML işlerini çalıştırmak için kullanılır. Models ve applications ise geliştirilen modellerin veya veri uygulamalarının üretim ortamına daha kontrollü taşınmasını mümkün kılar.

Modern AI/ML platformlarında yalnızca model eğitmek yeterli değildir. Modelin hangi veriyle eğitildiği, hangi versiyonun production’da çalıştığı, performansının zaman içinde nasıl değiştiği, drift oluşup oluşmadığı ve erişim politikalarının nasıl yönetildiği de kritik hale gelir. Cloudera AI Registry bu noktada model versiyonlarını, bağımlılıkları, performans metadata’sını ve lineage bilgisini saklayarak MLOps sürecinin merkezinde yer alır. Inference katmanı ise modellerin production ortamında ölçeklenebilir, izlenebilir ve yüksek erişilebilir şekilde servis edilmesini sağlar.

Cloudera AI’nin veri yaşam döngüsündeki rolü predict aşamasıyla sınırlı değildir. Feature engineering için Data Engineering ile, model eğitim verisinin hazırlanması için Data Warehouse veya lakehouse tablolarıyla, model çıktılarının operasyonel sistemlere sunulması için Operational Database veya API katmanlarıyla birlikte çalışabilir. Bu nedenle Cloudera AI, platformun en üstünde duran bağımsız bir notebook servisi değil, veri yaşam döngüsünün önceki aşamalarıyla sıkı şekilde entegre çalışan AI/ML katmanıdır.

Datahub

Bu servislerin yanında Data Hub ayrı bir yerde konumlanır. Data Hub, Cloudera Runtime ile güçlendirilmiş workload cluster’larını oluşturmak ve yönetmek için kullanılan yapıdır. Data Services daha çok belirli iş yükleri için hazır, self-service ve managed deneyim sunarken; Data Hub daha fazla cluster-level kontrol, daha fazla engine seçeneği ve migration-friendly bir model sağlar.

Data Hub özellikle CDH’den CDP Public Cloud’a geçiş senaryolarında önemlidir. Çünkü klasik Hadoop cluster mantığını tamamen terk etmeden, cloud üzerinde daha izole ve yönetilebilir workload cluster’ları oluşturmayı mümkün kılar. Spark, Hive, Impala, HBase, Kafka, NiFi ve Flink gibi bileşenler farklı Data Hub cluster template’leriyle çalıştırılabilir. Bu yönüyle Data Hub, Data Services kadar soyutlanmış bir deneyim sunmaz; fakat daha fazla teknik kontrol sağlar.

Data Hub ile Data Services arasındaki farkı doğru anlamak gerekir. Data Services, kullanıcıya belirli bir iş yükü için optimize edilmiş servis deneyimi verir. Örneğin CDE Spark job çalıştırmak, CDW SQL warehouse sunmak, Cloudera AI model geliştirme ve deployment sürecini yönetmek için tasarlanmıştır. Data Hub ise daha çok “ben belirli bir runtime bileşen setine sahip bir cluster istiyorum ve bunu daha ayrıntılı kontrol etmek istiyorum” yaklaşımına uygundur. Bu nedenle Data Hub daha esnek ama daha operasyonel; Data Services daha yönetilen ama daha standartlaştırılmıştır.

Bütün bu yaşam döngüsünün altında SDX, Control Plane ve Cloudera Runtime bulunur. SDX, metadata, schema, security ve governance katmanını temsil eder. Verinin kim tarafından, hangi yetkiyle, hangi ortamdan erişildiğini; hangi tabloların, şemaların ve veri varlıklarının hangi politikalarla yönetildiğini merkezi hale getirir. Control Plane, servislerin oluşturulması, yönetilmesi, izlenmesi ve yaşam döngüsü operasyonlarının merkezi noktasıdır. Cloudera Runtime ise Hadoop, Spark, Hive, Impala, Kafka, Flink, HBase, Ranger, Atlas, NiFi gibi open source bileşenlerin güvenli, test edilmiş ve entegre edilmiş kurumsal dağıtımıdır.

Bu üç temel katman sayesinde Cloudera servisleri birbirinden kopuk araçlar gibi çalışmaz. Data Flow ile alınan veri, Data Engineering ile hazırlanabilir; hazırlanan veri Iceberg tablolarında saklanabilir; Data Warehouse bu tabloları sorgulayabilir; Cloudera AI aynı veriyi model eğitimi için kullanabilir; model çıktıları Operational Database üzerinden uygulamalara servis edilebilir. Tüm bu akış boyunca güvenlik, metadata, lineage, audit ve governance prensipleri ortak platform mantığıyla yönetilir.

Sonuç olarak Cloudera’da verinin yaşam döngüsü, tek bir cluster veya tek bir engine etrafında değil, farklı amaçlara hizmet eden servislerin birlikte çalışmasıyla şekillenir. Data Flow veriyi platforma taşır, Data Engineering veriyi işler ve hazırlar, Data Warehouse analitik erişim sağlar, Operational Database veriyi uygulamalara düşük gecikmeyle servis eder, Cloudera AI ise veriyi tahminleme ve yapay zekâ süreçlerine taşır. Data Hub ise özellikle cloud ortamında daha fazla kontrol ve migration esnekliği isteyen workload cluster senaryoları için kullanılır.

Veri artık yalnızca HDFS üzerinde duran pasif bir varlık değildir; yaşam döngüsü boyunca akan, dönüşen, analiz edilen, servis edilen ve AI modelleriyle karar mekanizmalarına bağlanan stratejik bir kurumsal varlıktır.

Veysel YUKSEL
Latest posts by Veysel YUKSEL (see all)

Veysel YUKSEL

RDBMS ve NoSQL veri tabanı yönetimi ve Big Data teknolojileri.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir