22 Jan 2013

Nedir bu Hadoop ?




Herkesin dilinde bir “Hadoop” var ama nedir bu Hadoop ?
Apache-Hadoop güvenilir, ölçeklenebilir bir dağıtık hesaplama (distributed computing) ortamı yaratabilmek amacıyla ortaya çıkmış, açık kaynak kodlu bir yazılım geliştirme projesinden başka bir şey değil.

Bu projeye katkı verenler arasında Yahoo, Microsoft, Cloudera, facebook, linkedin, twitter, IBM gibi büyük yazılım şirketleri de bulunuyor.
Hadoop, basit programlama modeli kullanarak, kümelenmiş (cluster) bilgisayarlar arasında, büyük hacimli verilerin dağıtık olarak işlenmesini sağlayan bir yazılım kütüphanesi olarak ortaya çıktı. Tasarımı gereği, tekil bir sunucuda da, her birinin kendi CPU ve hafıza birimi bulunan binlerce sunucuyu barındıran bir küme (cluster) üzerinde de çalışabilir, büyüyebilir. Hadoop’un tasarımındaki önemli bir fark, bu yazılım geliştirme teknolojisinin, “High-Availability (HA)” ihtiyaçları için arka planda kullanılabilecek pahalı donanım çözümlerine ihtiyaç duyması yerine, kesintiyi uygulama seviyesinde farkedip, çözümleme üstüne tasarlanmasıdır. Hadoop, arka plandaki kümelenmiş bilgisayarların üstüne kurguladığı uygulama seviyesindeki HA çözümüyle farklı, ucuz bir alternatif olmayı hedefliyor.

Hadoop Projesi 4 modülden oluşuyor.
• Hadoop Common: Bütün Hadoop modüllerini destekleyen ortak modüller.

• Hadoop Hadoop Distributed File System (HDFS™): Büyük miktardaki veriye yüksek iş/zaman oranı (throughput) ile erişim sağlayan Dağıtık Dosya Yönetim Sistemidir. Birçok makinedeki dosya sistemlerini birbiriyle bağlayarak tek bir dosya sistemi gibi gözükmesini sağlar. HDFS, düğüm noktalarının (node’ların) her zaman %100 çalışamayacağını, kesintiler olabileceğini baştan kabul eder. Bu yüzden veri güvenliğini, verinin birden fazla düğüm noktasına kopyalayarak sağlar.

• Hadoop YARN: İş zamanlayıcı (job scheduler) ve kaynak yönetimini yapan bir dizi kütüphane.

• Hadoop MapReduce: YARN temelli, büyük miktarda veriyi parallel olarak işlemeye yarayan bir sistem. Gelen iş yükünü tanıyarak, arka plandaki bilgisayar düğüm noktalarına bu iş yükünü tahsis eden imkanlar sunar.

Hadoop kullanmaya başladığınızda, kesinlikle karşılaşacağınız Hadoop temelli bazı projeler de var. Bunlardan en popüler olan bazıları şöyle:
• Cassandra: Ölçeklenebilir, çok-nodlu, kümelenmiş veritabanı.

• Chukwa: Dağıtık ve Büyük Sistemleri yönetmek için veri toplama sistemi.

• Hive: Veri Özetleme ve “ad hoc” sorgu yazma ortamı sağlayan bir veri ambarı mimarisi.

• Pig: Parallel İşlem Tasarımı yapmak için hazırlanmış, veri akışlarını ve çalıştırma planlaması yapılabilecek bir dil.

Hadoop projesi ne getiriyor?
Hadoop, özellikle büyük hacimli verinin işlenmesinde, ekonomik değerleri ve dinamikleri kökten değiştirebilir. Çeşitli ihtiyaçlar için sistem mimarisi tasarlarken, ölçeklenebilirlik, süreklilik, hatadan kurtarma, paralel işlem yetenekleri, fiyat/performans, esnek tasarım gibi parametreler kullanıyoruz. Hadoop aşağıdaki 4 temel özelliği ile bu parametrelerin hepsinin aynı anda gerçekleşmesini sağlayabilir.

• Ölçeklenebilir: İhtiyaç duyulduğunda, verinin kendisini,  formatını, yerini değiştirmeden, çalışan işlerin ve uygulamaların nasıl yazıldığını dikkate almadan yeni düğüm noktası eklenebilir.

• Hesaplı Çözüm: Yüksek hacimli verinin, fazla CPU gücü ile işlenmesini gerektiren parallel çözüm ihtiyaçlarını, daha ucuz veya hesaplı bilgisayar altyapısı ile gerçekleşitirlmesini sağlar. Sonuç olarak her TB Saklama alanı için maaliyetler düştüğünden, kurumun bütün verisini fiyat endişesini daha ikinci plana iterek modellemesini sağlar.

• Esneklik: Hadoop’un şemasız, yapısal olan veya olmayan bütün veri tiplerini, her kaynaktan işleyebilen bir mimarisi var. Farklı kaynaklardan gelen, farklı veri tipleri birbirleriyle birleştirilip, özetlenebilir ve işlenebilir.

Hatadan Kurtarma: Düğüm noktalarından biri ulaşılamaz olduğunda, sistem, gelen yükü diğer düğüm noktalarına paylaştırarak kesintisiz hizmete devam eder.

Hadoop size uygun mu?
Dünyadaki verilerin %80’i yapısal değil. Öyle ki, birçok kurum bu veriyi kendi avantajına dönüştürecek şekilde kullanma becerisi ve yatırım esnekliğinden de uzak. Bir an için hayal edin: Kurumun ürettiği veya kendisine dışardan gelen, istisnasız olarak her verinin gerektiğinde saklanabildiği, işlenebildiği, kurumun var olan diğer karar destek sistemleri ile entegre olabilen, ölçeklenebilir, hesaplı, esnek bir mimari kurguluyorsanız, Hadoop temelli çözümleri düşünmenin zamanı gelmiş demektir.

Hadoop’un çalışması “Yığın İşlem – Batch Processing” üzerine kurulu. Veri Ambarları ile bir Hadoop sistemi arasındaki en temel farklardan biri performans olacaktır. Dikkat edilirse, yukarıdaki değerlendirme parametreleri içinde perfromans bulunmuyor. Çünkü, Veri Ambarı sistemlerini karakterize eden erişim ve cevap süresi paternlerine baktığımızda, Hadoop temelli sistemlerde aynı beklenti içinde olmamız şimdilik doğru olmaz. Hadoop “Batch Processing” yapan bir çerçeve mimari sağlamaktadır ve cevap süresi olarak şimdilik veri ambarları ile aynı beklentide olmamak daha doğru olacaktır.
Örneğin; Bir Hadoop Sistemi, mevcut Veri Ambarı sisteminin arşivleme altyapısı için kullanılabilir. Müşteri Profillerini saklayan ve değerlendiren, iyi cevap süresi vermek üzere kurgulanmış ve yatırımı yapılmış bir veri ambarı sistemi, son iki yıllık bilgiyi saklarken, daha eski veriler bir Hadoop sistemine aktarılarak 20 yıllık bilgiler de burada saklanabilir ve gerektiğinde erişilebilir. Burada dikkat edilmesi gerekenlerden birisi de, SQL tabanlı olan Veri Ambarı sistemine erişen uygulamaların, aynı arayüzlerle Hadoop sistemine erişebilmeleridir; SQL ve NoSQL dünyasının bir arada çalışabilme gerekliliği vardır. Her iki mimari farklı hizmetler ve beklentiler için tasarlanmıştır, birbirinin yerini almak için değil, birbirini tamamlamak için kullanılmalıdır.

Hadoop’u kendiniz indirip kurup, kullanmaya başlayacağınız gibi, Hadoop Projesini destekleyen Microsoft, IBM gibi büyük oyuncuların kurumsal çözümleri ile de kullanmaya başlayabilirsiniz.
Hadoop, mevcut sistemlerinizin bir alternatifi değildir. Geleneksel veritabanı motorları ve yeni veri işleme motorları (Hadoop vb.) bir kurumun sol ve sağ kolları gibidir. Kuruma uyarlanacak BIG Data çözümünün, mevcut sistemle entegre olması, ayrık şekilde çalışmıyor olması en önemli önşartlardan birisi olmalıdır.

Yakında her eve bir “fil” girecek diyor Hadoop’u geliştirenler.
Hep beraber göreceğiz ve gerçek olup olmadığı da çok uzakta bir tarih değil!...

BT Haber