Site icon CIO Update

Büyük veriyi ehlileştiren 7 araç

Tayland’daki sabit disk endüstrisini harap eden sellerden bu yana altı ay geçti ve nihayet terabyte başına düşen fiyatlar yeniden düşmeye başladı. Bu, verilerin yeniden istiflenmeye başlanması ve iş yerlerinde insanların bunlarla ne yapılacağını merak edecek olması anlamına geliyor. O log dosyalarında belki bir miktar anlayış vardır. Belki küçük bir istatistiki analiz bütün o seslerin altında gömülü olan altını gün yüzüne çıkartır. Belki de o dosyaların yastıkları altına gömülü yükselmemize yetecek kadar nakdi bulabiliriz.

Endüstri şimdi “büyük veri” tanımına sahip; bu birikmekte olan devasa miktarlardaki bilgiyle ne yapacağımızla ilgili. “Büyük veri” iş zekâsını değiştiriyor. “Raporlama”yı kapsıyor, “tablolara” hoş bir parlaklık katıyor, eski moda “kağıt çıktılarını” devre dışı bırakıyor. Uzun sure önce kağıt çıktıları üzerinde çalışan yöneticiler şimdi aynı eski problemi (Ne satılıyor ve neden?) çözmelerinde kendilerine yardımcı olması için büyük veri uzmanları adı verilen matematikçileri işe alıyor.

Buradaki tanımların sadece birbirinin yerini alan şeyler olarak varsaymak doğru değil. Büyük veri çok daha karmaşık bir dünya çünkü ölçek çok daha büyük. Enformasyon genellikle çok sayıda sunucuya yayılmış durumda ve verilerin derlenmesi işi bunlar arasında koordine edilmeli. Geçmişte bu iş için çoğunlukla veritabanı yazılımı görevlendiriliyordu. Tabloları derlemek için büyülü JOIN mekanizmalarını kullanıyor, ardından veriler raporlama yazılımına gönderilmeden önce sütunlar toplanıyordu. Bu sıklıkla kulağa geldiğinden daha zor. Veritabanı programcıları, patron için bir rapor hazırlamaya çalışırken veritabanlarını kilitleyen karmaşık JOIN komutları hakkında size bolca hikâye anlatabilir.

Bu oyun artık çok daha farklı. Hadoop, rack’leri ve sunucu yığınlarını organize etmek için popüler bir araç. NoSQL veritabanları da bu rack’ler üzerinde veri saklamak için popüler araçlar. Bu mekanizmalar eski tek makineden çok daha güçlü olabilir ama eski veritabanı sunucuları kadar cilalı olmaktan uzaklar. SQL karmaşık olabilse de, SQL veritabanları için JOIN sorgusunu yazmak, bilgiyi düzinelerce makineden toplayıp tek bir mantıklı cevap içerisine derlemeye göre çoğunlukla daha basit. Hadoop işleri Java’da yazıldı ve bu da yeni bir kapsamlılık seviyesi getiriyor. Büyük verilerin düzenlenmesi için olan araçlar bu dağıtık bilgiişlem gücünü çok daha kolay kullanılabilinecek şekilde paketlemeye başladı.
Büyük veri araçlarının çoğu aynı zamanda NoSQL veri depolarıyla çalışıyor. Bunlar geleneksel ilişkisel veritabanlarına nazaran daha esnek ancak esneklik Hadoop kadar geçmişten çok fazla ayrılış değil. NoSQL sorguları daha basit olabilir çünkü veritabanı tasarımı SQL’le çalışmanın güçlüğüne neden olan karmaşık sekmeli yapıyı uzaklaştırıyor. Temel kaygı, yazılımın tüm dizilerin her bir kolon için bazı verilere sahip olmama olasılığını beklemeye ihtiyaç duyması.

En büyük güçlük önemli sinema yapımlarından biri olan “Moneyball (Kazanma Sanatı)” tarafından inşa edilen beklentilerle uğraşmak olabilir. Tüm patronlar onu izledi ve oradaki mesajı özümsedi: akıllıca yapılmış bazı istatistikler küçük bütçeli bir ekibi World Series (beyzbol karşılaşmaları serisi) şampiyonuna dönüştürebilir. Oakland Athletics takımının “Moneball” döneminde World Series’i hiç kazanamaması mühim değil. Bu Michael Lewis’in yazısının büyüsü. Patronların hepsi şunu düşünüyor; “İyi bir durum yakalayabilirsem belki film versiyonunda beni oynaması için Hollywood Brad Pitt’i kiralar.”

Bu koleksiyondaki yazılımların hiçbiri, Hadoop’taki işinizin film versiyonunun senaryosunu Brad Pitt’e okutamayacaktır. Bu ancak size ve proje üzerinde çalışan diğer insanlara bağlı. Verileri anlamak ve doğru soruyu sormak genellikle Hadoop işini hızlı bir biçimde çalışır hale getirmekten çok daha karmaşıktır. Bunu söylemek gerçekten önemli çünkü bu araçlar işin sadece bir yarısı.

Konunun vaatlerini anlamak için büyük veri araçlarından bazılarını indirdim, veri girdim ve ardından Einstein seviyesi görüşleri için cevaplara baktım. Bilgiler benim kitaplarımı satan web sitesine (wayner.org) gelen log dosyalarından geldi. Ben neyin sattığını ve bunun nedeni hakkında bir fikir sahibi olma arayışındaydım. Dolayısıyla yazılımı açtım ve sorularımı sordum.

Büyük veri araçları: Jaspersoft BI Suite
Jaspersoft paketi veritabanı kolonlarından rapor üretme konusunda açık kaynak önderlerinden. Yazılım gayet güzel gözüküyor ve birçok işletmede herkesin toplantılarda inceleyebilmesi için SQL tablolarını PDF’lere dönüştürmek üzere zaten kurulu durumda.
Firma büyük veri trenine binmiş durumda ve bu da rapor oluşturma yazılımını büyük verinin kaydedildiği yerlere bağlamak için bir yazılım katmanının eklenmesi anlamına geliyor. JasperReports Server şimdi yazılımın birçok önde gelen depolama platformundan veri çekmesine izin veriyor. Bu platformlar arasında MongoDB, Cassandra, Redis, Riak, CouchDB ve Neo4j var. Hadoop da iyi temsil ediliyor; JasperReports, HBase’in içine erişim için bir Hive bağlayıcısı sağlıyor.

Bu çalışma halen yeni başlanılmış gibi gözüküyor; dokümantasyondaki çoğu sayfa boş ve araçlar tamamen entegre edilmemiş. Örneğin, görsel sorgu tasarımcısı henüz Cassandra’nın CQL’i ile çalışmıyor. Bu türden sorguları elle yazmak durumundasınız.

Bu kaynaklardan bir kez veri aldığınızda, Jaspersoft’un sunucusu interaktif tablolara ve grafiklere dönüştürüyor. Raporlar oldukça kapsamlı interaktif araçlar olabilir; çeşitli alanların içine girmenize imkân tanıyor. İhtiyacınız olduğu takdirde daha fazla ayrıntı isteyebilirsiniz.
Bu, yazılım dünyasının iyi geliştirilmiş bir köşesi ve Jaspersoft bu yeni veri kaynaklarına sahip karmaşık raporların kullanımını kolaylaştırarak daha da geliştiriyor. Jaspersoft verilere bakmanın yeni yollarını sunmuyor; sadece yeni konumlarda saklanan verilere erişim için daha kapsamlı yollar sunuyor. Ben bunu şaşırtıcı derecede faydalı buldum. Benim verilerimin birleşimi, web sitesine kimlerin geldiğini ve buraya ne zaman geldiklerine dair temel fikri ortaya koymak için yeterliydi.

Büyük veri araçları: Pentaho Business Analytics
Pentaho, rapor üretme motoru olarak başlayan diğer bir yazılım platformu; o aynı JasperSoft gibi yeni kaynaklardan verilerin daha kolay emilmesini kolaylaştırarak büyük veri içerisine dallanıyor. Pentahool’un aracını MongoDB ve Cassandra gibi en popüler NoSQL veritabanlarının çoğuna bağlayabilirsiniz. Veritabanlarının bağlanmasının ardından bilgiler SQL veritabanlarından geliyormuş gibi kolonları görüş ve raporlar içerisine sürükleyebilirsiniz.

Klasik sınıflandırma ve tabloların ayrılması, web sitemdeki hangi kullanıcıların ne kadar zaman harcadığını anlamamda inanılmaz derecede faydalı oldu. Sadece log dosyalarındaki IP adreslerine göre sınıflandırdığımda sıkı kullanıcıların ne yaptığı ortaya çıktı.
Pentaho aynı zamanda Hadoop kümelerinden HDFS dosyası ve HBase verisini çekmek için yazılım sunuyor. İlgi çekici araçlardan bir tanesi Kettle veya Pentaho Data Integration olarak bilinen grafiksel programlama arayüzü. Bir resim üzerine sürükle bırak yapabileceğiniz ve ardından onlara bağlanabileceğiniz bir dizi dahili modüle sahip. Pentaho, Hadoop ve diğer kaynakları kapsamlı bir biçimde buna entegre etmiş. Dolayısıyla kodunuzu yazıp küme üzerinde çalıştırmak üzere gönderebilirsiniz.

Büyük veri araçları: Karmasphere Studio ve Analyst
Büyük veri araçlarının çoğu yaşamlarına raporlama araçları olarak başlamadı. Mesela Karmasphere Studio, Eclipse’in üzerine inşa edilmiş bir dizi plug-in’den oluşuyor. Bu, Hadoop işlerini oluşturup çalıştırmayı kolaylaştıran, özelleştirilmiş bir IDE.
Bu geliştirme aracıyla bir Hadoop işini ayarlamaya başladığımda nadir görülebilecek şekilde keyif aldım. Bir Hadoop işinde birkaç aşama vardır ve Karmasphere’ın araçları yolunuz boyunca kısmi verileri görüntüleyerek her adımda sizinle birlikte yürüyor. Hata ayıklayıcılar her zaman için mekanizma işini yaparken içine bakabilmemizi mümkün kıldılar ama Karmasphere Studio bunu biraz daha iyi yapıyor. Siz iş akışını ayarladığınızda, araçlar her adımda test verisinin durumunu görüntülüyor. Geçici veriler ayrıştırıldığında, analiz edildiğinde ve azaltıldığında nasıl gözükeceğini görebiliyorsunuz.

Karmasphere aynı zamanda bir Hadoop kümesi içerisinde tüm verilerin işlenmesi sürecini basitleştirmek üzere tasarlanmış Karmasphere Analyst adlı bir araca sahip. İyi bir Hadoop işini programlamak üzere, sıkıştırılmış log dosyalarının açılması için altyordamlar gibi çok sayıda faydalı yapıtaşıyla geliyor. Ardından bunları yeniden birbirine bağlıyor ve değerlendirmek üzere bir tablo çıktısı üretmek için Hive çağrılarını parametrelendiriyor.

Büyük veri araçları: Talend Open Studio
Talend de Hadoop ile birlikte veri işleme görevlerini birbirine bağlamak için Eclipse tabanlı bir IDE sunuyor. Araçları veri entegrasyonu, veri kalitesi ve veri yönetimine yardımcı olacak biçimde tasarlanmış. Tüm altyordamlar bu görevlere göre ayarlanmış.
Talend Studio, küçük ikonları bir taslağın üzerine sürükle bırakla işlerinizi inşa etmenize imkân tanıyor. Eğer bir RSS kaynağını almak istiyorsanız, Talend’in ilgili bileşeni RSS’i gidip alacak ve gerektiğinde proxy ekleyecek. Bilgi toplama için düzinelerce bileşen bulunuyor. Daha fazlası ise “bulanık eşleştirme” gibi şeyleri gerçekleştirmek için var. Ardından sonuçları çıkartabilirsiniz.
Hangi bileşenlerin ne yaptığını öğrendikten sonra blokları bir araya getirmek görsel olarak basitleşebilir. Taslağın arkasında oluşturulan kaynak koduna bakmaya başladığımda bunu anlamak benim için daha kolaydı. Talend bunu görmenize izin veriyor ve bence bu ideal bir taviz. Görsel programlama biraz yüce bir amaç gibi gözükebilir ama neler olduğunu anlamayı mümkün kılmak için ikonların mekanizmaları hiçbir zaman yeterince ayrıntılı biçimde temsil edemediğini gördüm. Kaynak koduna ihtiyacım var.

Talend ayrıca firmanın ürünleriyle çalışmayı kolaylaştıran bir açık kaynak uzantı koleksiyonu olan TalendForge’u sürdürüyor. Araçların çoğu Talend yazılımının Salesforce.com ve SugarCRM gibi diğer önemli ürünlere bağlayan filtre ya da kütüphanelerden oluşuyor gözüküyor. Bu sistemlerden bilgiyi kendi projeleriniz içerisine çekebilirsiniz; bu entegrasyonu kolaylaştırıyor.

Büyük veri araçları: Skytree Server
Araçların tümü, kodu görsel mekanizmalarla birleştirmeyi kolaylaştırmak için tasarlanmış değil. Skytree daha karmaşık öğrenme algoritmalarının çoğunu yerine getiren bir paket sunuyor. Tüm yapacağınız şey bir komut satırında doğru komutu vermek.
Skytree parlak bir GUI yerine daha çok iç tarafa odaklanıyor. Skytree Server, firmanın açıklamalarına göre diğer paketlerden 10,000 kat daha hızlı çalışan bir dizi klasik otomatik öğrenme algoritmalarını çalıştırmak üzere optimize edilmiş. O, matematik olarak benzer nesnelerin kümeleri için verilerinizi araştırabilir ve ardından bunu problem, fırsat ya da her ikisi olabilecek gözlemleri belirlemek için ters çevirebilir. Algoritmalar insanlara nazaran daha kesin olabilir ve onlar sıradan olmayan girişler için bol miktarda veriyi araştırabilir. Bu dolandırıcılık için veya kesintisiz olarak harcama yapacak olan belirli bir müşteri için, yapılabilir.

Yazılımın ücretsiz sürümü özel sürümdeki aynı algoritmaları sunuyor ama veri setleri 100,000 diziyle sınırlı. Yazılımın iyi bir seçim olup olmayacağını belirlemek için bu yeterli olabilir.

Büyük veri araçları: Tableau Desktop ve Server
Tableau Desktop verilerinize yeni yollardan bakmanızı kolaylaştıran, ardından bunları parçalayıp farklı bir şekilde bakmanızı sağlayan bir görselleştirme aracı. Hatta verileri farklı verilerle karşılaştırıp farklı bir ışık altında inceleyebilirsiniz. Bu araç veriler için tüm kolonları vermek, sonrasında birlikte gelen düzinelerce grafik şablonlarından biri içerisine toplamadan önce karıştırmanıza müsaade etmek üzere optimize edilmiş.

Tableau Software, birkaç sürüm önce Hadoop’u benimsemeye başladı ve şimdi Hadoop’a “herhangi bir veri bağlantısındaki gibi” davranabilirsiniz. Tableau sorguları yapılandırmak için Hive’a dayanıyor. Aracın interaktif olmasını sağlamak için mümkün olduğunca çok veriyi ön bellek içerisine alıyor. Diğer raporlama araçlarının çoğu raporları offline olarak üretme geleneği üzerine inşa edilmişken, Tableau interaktif bir mekanizma istiyor. Bu sayede verilerinizi tekrar tekrar analiz edebilirsiniz. Verilerin önbelleğe alınması bir Hadoop kümesinin gecikmesine bir nebze yardımcı oluyor.

Yazılım gayet iyi gözüküyor ve estetik olarak da tatmin edici. Ben çoğu kez başka bir grafik görmek için veriyi yeniden kestim; pasta grafiğinden çubuk grafiğe veya bir diğerine geçiş yapmak pek fazla yeni bir şey öğretmemiş olsa da. Yazılım ekibinde hiç şüphesiz sanatsal yeteneklere sahip bir dizi insan yer alıyor.

Büyük veri araçları: Splunk
Splunk, diğer seçeneklerden biraz farklı. Bu tam olarak rapor üretme aracı veya AI rutinleri koleksiyonu değil; her ne kadar bunların çoğunu yol boyunca gerçekleştiriyor olsa da. Splunk bir kitap ya da bir metin bloğuymuş gibi verilerinizin bir indeksini oluşturuyor. Evet veritabanları da indisler oluşturuyor ama Splunk’ın yaklaşımı metin tabanlı arama süreçlerine çok daha yakın.
Bu indeksleme şaşırtıcı şekilde esnek. Splunk, benim özel uygulamama ayarlı olarak geliyor, log dosyalarından anlam çıkartıyor ve bunları en başından aldı. Splunk aynı zamanda farklı çözüm paketleriyle de satılıyor. Bunlardan birisi Microsoft Exchange sunucusunu görüntüleme bir diğeri de Web saldırılarının tespiti için. İndeks bunların içindeki ve çeşitli diğer sunucu tarafı senaryolardaki verilerle ilişki kurmaya yardımcı oluyor.

Splunk, metin dizelerini ve aramaları indeksten alıyor. Önemli makalelerin URL’lerini veya IP adreslerini girebilirsiniz. Splunk bunları buluyor veri içerisinde bulduğu zaman etiketlerine göre oluşturulan bir zaman çizelgesi içerisinde paketliyor. Diğer tüm alanlara ilgili veri takımının içine daha derinlemesine girmek için tıklayabilirsiniz. Her ne kadar bu basit bir süreç olsa da, eğer veri kaynaklarınız içinden doğru tipteki iğneyi arıyorsanız oldukça güçlü bir özellik. Eğer doğru metin dizesini biliyorsanız, Splunk bunu izlemenize yardımcı olacak. Log dosyaları onun için harika bir uygulama.

Halihazırda özel beta aşamasında olan Shep adlı yeni bir Splunk aracı Hadoop ile Splunk arasında çift yönlü entegrasyon vaat ediyor. Bu araç sizin sistemler arasında veri alışverişi yapmanıza ve Hadoop’tan Splunk verilerini sorgulamanıza izin veriyor.
Büyük veriden daha büyük

Bu ürünler arasında ağır ağır ilerledikten sonra, “büyük veri”nin tek bir moda sözcükten çok daha büyük olduğu netleşti. Karmaşık matematiksel operasyonlara kalkışanlarla, çoğunlukla tablolar inşa eden ürünleri bir araya getirmek gerçekten adilane olmaz. Genel veritabanlarıyla çalışan daha basit araçlarla birden fazla makineye yayılan daha büyük yığınları yönetmeye çalışan Hadoop gibi yapıları karşılaştırmak da doğru olmaz.
İşleri daha da zorlaştırırsak, hedefler hareket halinde. Bunlardan bazıları umut verip henüz yazılımlarını paylaşmayan yeni firmalar. Gizemli Platfora üzerine tıklayıp güncel kalabileceğiniz bir butona sahip. Bir diğer startup firma olan Continuity ise, “Gizliliğimiz devam ediyor, başlarımız aşağıda, yoğun bir biçimde kod yazıyoruz,” diyor. Hiç şüphesiz onlar bu alana giren son oyuncular olmayacak.

Yeni algoritmaların hız ve kapsamlılığına rağmen, ben eski klasik raporların en iyisi olduğunu düşünüyorum. Pentaho ve Jaspersoft araçları sadece en çok girişlerden hoş listeler oluşturuyor ama bu tam benim ihtiyacımdı. Log dosyamda en üstte yer alan domain’leri bilmek yeterliydi.
Diğer algoritmalar fikirsel olarak ilginç, ama onlarla tutarlılığı sağlamak daha güç. Onlar kümeleri etiketleyebilir veya bulanık eşleştirme yapabilirler ama benim veri takımımın kendisini bu analizlere yanaşmadı gözüküyor. Benim verilerim için başarılı olan herhangi bir uygulamayı çözemedim.

Diğerleri muhtemelen farklı gözüküyor. Kümeleme algoritmaları ağırlıklı olarak online mağazalardan benzer ürünleri bulmada insanlara yardımcı olma gibi çeşitli uygulamalarda kullanılıyor. Diğerleri potansiyel tehditleri belirlemek için aykırı tespit algoritmalarını kullanıyor. Bunların hepsi araştırmayı üstleniyor ama yazılım güçlüklerin en küçüğü.

Belki benim vizyonumdaki eksiklik eski sınıflandırılabilir raporları tutmama neden oldu. Zamanla daha fazlasını yapmak için gelişmiş algoritmaları nasıl kullanabileceğimi anlayabilirim. Çoğu firmanın ürünlerinin yanında danışmanlık vermesinin nedeni bu olabilir. Onlar yazılım ve matematiği bilen mühendislerinden birini size kiralayacak ve dolayısıyla siz verileri didiklerken bir rehbere sahip olacaksınız. Bu tüm işletmeler için iyi bir seçenek çünkü ihtiyaç ve talepler sıklıkla nispeten soyut kalıyor.

Yakın zamanlardaki büyük veri konulu O’Reilly Strata konferansında, en önemli panellerden birinde ölçülecek bir konuyla ilgili olarak bir uzman kiralamanın mı yoksa kiralamamanın mı iyi olduğu tartışıldı. Seçim yapabileceğimden emin değilim ama bana göre veriler hakkında derinlemesine düşünebilecek bir kişiyi kiralamak önemli. Bu iş bir yazılımı satın alıp bir düğmeye basmak kadar kolay değil.

Exit mobile version