10 Aralık 2015 Perşembe

Big Data Hakkında

Big data diskte çok yer kaplayan, klasik yöntemlerle işlenemeyen veri anlamına gelir. İnternetin gelişmesi ve sosyal medya devrimi ile bilgi yoğunluğu artmış ve en küçük bilgi bile önemli hale gelmiştir.İnternette her bir tıklamadan tutun da finansal, istatiksel, medikal veriler hepsi birleşerek dev veriyi oluşturuyor.

Facebook, Twitter her gün yaklaşık 10 TB veri saklıyor. Peki bu büyük veriler nerede saklanıyor ? Bu büyük verileri klasik yöntemlerle saklamak için  milyon dolarlık donanım üzerinde çalışan yüzbinlerce dolarlık veritabanı sistemine sahip olunması gerektiği söyleniyor. Bu sisteme sahip olunsa bile birbiri ile ilişkili olan kelimelerin analizi yapılmak istenirse bunu SQL sorguları ile yapabilmek pek mümkün değilidir. Sorgu işlemi çok uzun süreceği için elde edilen sonuç güncelliğini yitirecektir.Büyük veri işlemek için büyük veri çözümlerine ihtiyaç vardır.Bu noktada NoSQL ortaya çıkmıştır.

 NoSQL,  SQL değil anlamına gelse de aslında sadece SQL değil demektir. Hepimizin kullandığı ilişkisel veritanlarında mantık önce tabloları oluşturmak, her tabloya ait sütun bilgileri girmek , sonrasında bilgileri satır satır girmektir. Fakat burada şu sıkıntı çıkmaktadır; tanımı olmayan alana bilgi kaydetmek. Bu sıkıntıdan kurtulmak için tablo yeniden ele alınıp yeni sütunlar eklenir.Tüm tabloları etkileyen durumlar ortaya çıkacağı gibi tüm sistemi tekrardan ele almak çok maliyetlidir. NoSQL ise tablo ve sütun kavramı yoktur. Döküman tabanlı sistemdir. Yeni bir alana ihtiyaç olduğunda kaydı direk eklemek yeterlidir. Bu sistem bizim yerimize alanı oluşturup değerini kaydeder. Maaliyetin az olmasının sebebi de JSON ve XML formatına benzer yapıda verinin saklanmasıdır. NoSQL SQL den daha iyidir gibi bir kavram söz konusu değildir. İkisininde yerinde, ihtiyaca göre kullanılması gerekmektedir.

 Google klasik yöntemleri kullanmamış  ihtiyacı olan teknolojiyi kendi geliştirmiştir. Milyonlarca veriyi Google File System (GFS) üzerinde tutar, veri tabanı olarak Big Table kullanır, dev veriyi işlemek için de MapReduce kullanır. GFS geniş ölçekli ,  dağıtık loglanabilir,  kontrol altında tutulabilen bir dosya sistemidir. MapReduce dağıtık mimari sistemidir. Map aşamasında veriler ana düğümden ufak parçalara ayrılarak işçi düğümlere dağıtılır. İşci düğümler işi tamamladıkça ana düğüme iletir. Reduce aşamasında da tamamlanan işler birleştirilerek istenilen analiz sonucu elde edilir. BigTable ise küçük tabletlere bölünmüş büyük mantıksal bir tablodur. Tek bir bilgisayarda işlenecek veri çok sayıda ufak ve daha ucuz bilgisayarlar tarafından işlenebilmektedir. Satır seviyesinde işlemler gerçekleştirilir. İlişkisel veri tabanlarında olduğu gibi tüm tablolara erişip join işlemi gibi maliyetli bir işlem yerine satır index mantığı ile disk erişimi azaltılıp bir erişimde site ile ilgili tüm bilgilere ulaşılabilir.

Facebook, Twitter, Linkedin gibi firmalar dev veri için geliştirdikleri projeleri açık kaynak olarak paylaşmaktadırlar. Bunlar Casandra,  Hadoop,  MongoDB,  Redis gibi projelerdir.

Ben bunlardan MongoDB ile ilgili bilgilerimi aktardığım yazılarımla, sizlerle olacağım .

Hiç yorum yok:

Yorum Gönder