- Katılım
- 20 Ocak 2024
- Mesajlar
- 325
- Tepkime puanı
- 1
- Puanları
- 18
Dijital verinin boyutu katlanarak artarken, tek bir bilgisayarın işlemci veya bellek kapasitesi bu yükü taşımaya yetmemeye başladı. İşte bu noktada Dağıtık Veri İşleme (Distributed Data Processing) devreye giriyor. Bu sistem, devasa bir iş yükünü küçük parçalara bölerek onlarca, hatta binlerce bilgisayardan oluşan bir ağda (cluster) aynı anda işlemeyi temel alır.
1. Dağıtık İşlemenin Temel Mimarisi
Dağıtık sistemlerin çalışma prensibi genellikle bir "Yönetici" ve ona bağlı "İşçiler" mantığına dayanır.- Master (Yönetici) Düğüm: İşin nasıl bölüneceğine karar verir, görevleri dağıtır ve hangi işçinin hangi parçayı işlediğini takip eder.
- Worker (İşçi) Düğümler: Kendilerine atanan veri parçaları üzerinde hesaplamaları yapar ve sonuçları yöneticiye iletir.
- Küme (Cluster): Bu bilgisayarların oluşturduğu ağın tamamıdır.
2. Böl ve Yönet: Veri Parçalama (Partitioning)
Dağıtık sistemlerin verimli çalışması için veri, düğümler arasında dengeli bir şekilde paylaştırılmalıdır. Buna Partitioning (Bölümleme) denir.- Yatay Bölümleme: Bir tablonun satırlarını farklı makinelere dağıtmak.
- Dengeleme (Load Balancing): Bir makinenin çok çalışıp diğerinin boşta kalmasını önlemek için verinin eşit dağıtılması kritik önem taşır. Eğer veri dengesiz dağılırsa, en yavaş makine tüm sistemin hızını belirler (Straggler etkisi).
3. MapReduce Modeli
Dağıtık veri işlemenin modern tarihindeki en önemli kavramlardan biri Google tarafından popülerleştirilen MapReduce modelidir. Bu model iki aşamadan oluşur:- Map (Haritalama): Büyük veri setini parçalara ayırır ve her bir parçayı bağımsız olarak işleyerek anahtar-değer (key-value) çiftleri oluşturur.
- Reduce (İndirgeme): Aynı anahtara sahip olan sonuçları bir araya getirir ve nihai sonucu üretir.
4. Temel Teknolojiler ve Araçlar
Dağıtık veri işleme denince akla gelen iki dev isim vardır:Apache Hadoop
Hadoop, veriyi dağıtık olarak depolamak (HDFS) ve işlemek (MapReduce) için tasarlanmış ilk yaygın framework'tür. Veriyi sabit disklere yazarak çalıştığı için çok büyük verilerde güvenlidir ancak diske okuma-yazma yaptığı için nispeten yavaştır.Apache Spark
Spark, Hadoop'un yavaşlığını aşmak için In-Memory (Bellek İçi) işlemeyi kullanır. Veriyi disk yerine RAM üzerinde tutarak MapReduce'tan 100 kata kadar daha hızlı sonuç verebilir. Modern veri biliminde en çok tercih edilen araçtır.5. Dağıtık Sistemlerin Karşılaştığı Zorluklar
Dağıtık sistemler güçlüdür ancak yönetilmesi zordur. Karşılaşılan temel problemler şunlardır:- Veri Transfer Maliyeti (Network I/O): Verinin ağ üzerindeki makineler arasında taşınması zaman alır. En iyi dağıtık algoritma, veriyi en az taşıyan algoritmadır.
- Hata Toleransı (Fault Tolerance): Bir kümede 1000 bilgisayar varsa, birinin bozulma ihtimali çok yüksektir. Sistem, bir makine çöktüğünde işi otomatik olarak başka bir makineye devredebilmelidir.
- Veri Tutarlılığı: Aynı verinin farklı makinelerdeki kopyalarının güncel ve aynı olması (CAP Teoremi çerçevesinde) büyük bir mühendislik zorluğudur.