Cloud Computing ve Data
2012 başında bulut bilişim ile veri kesişimi: Hadoop'un olgunlaşması, Amazon EMR, NoSQL dünyası (Cassandra, MongoDB), veri ambarlama tarafında HP-Vertica ve depolama ekonomisi.
2011’i geride bırakıp 2012’ye girerken, geçen yılın benim açımdan en belirgin konferans temasının ne olduğunu sorsanız, tek bir kelime ile cevap veririm: veri. “Big data” terimi 2011 boyunca beklenmedik bir hızla yaygınlaştı; analist firmalar (Gartner, IDC) raporlarını üst üste yayımladı; AWS re:Invent gibi etkinlikler henüz yokken bile Amazon’un EMR’a yatırımı sürdü. Cloud computing’in bir sonraki sıçramasının büyük ölçüde veri ekseninde olacağına dair çok az şüphe var. Bu yazıda, 2012’nin başında durumun nerede olduğuna dair bir genel görünüm sunmaya çalışacağım.
”Big Data” Aslında Ne Demek?
Terim sıkça anlamsız bir pazarlama lafına dönüşse de, arkasında somut bir gerçek var. Verinin hacmi (volume), hızı (velocity) ve çeşitliliği (variety) üç ana boyut olarak konuşuluyor. Doug Laney’nin 2001’de yazdığı meta nesnenin (3V) artık her sunumda görmemiz tesadüf değil.
Pratikte ne değişti? On yıl önce 1 TB’lık bir veri ambarı büyük bir kurumun övünç kaynağıydı; bugün orta ölçekli bir e-ticaret sitesinin tıklama log’u haftalık 1 TB üretiyor. Log dosyaları, sensör verisi, sosyal medya akışı, mobil cihazlardan gelen telemetri, bunların hepsi geleneksel ilişkisel veri tabanlarının doğal alanı dışında.
Hadoop’un Olgunlaşması
Hadoop, 2008’de Apache’de top-level proje haline geldiğinden beri belki de en hızlı olgunlaşan altyapı projesi. 2011 boyunca:
- Cloudera ticari dağıtımıyla (CDH3) öne çıktı.
- Hortonworks Yahoo’dan ayrılarak kuruldu.
- MapR alternatif bir dağıtımla sahaya indi.
- Apache Hadoop 1.0 Aralık 2011’de yayımlandı.
MapReduce ve HDFS ikilisinin oluşturduğu bu yığın, batch işleme tarafında artık olgun. Yeni proje başlatan ekiplerin ilk durağı olmaktan çıkıp, mevcut iş süreçlerine entegre edilmesi konuşulan bir araç haline geldi.
Hadoop ekosisteminin yan ürünleri de yıl boyunca olgunlaştı:
- Apache Hive, SQL benzeri sorgu dili HQL ile Hadoop üzerinde analiz.
- Apache Pig, Veri akışı tabanlı betikleme.
- Apache HBase, Google Bigtable benzeri, Hadoop üzerinde çalışan veri tabanı.
- Apache ZooKeeper, Dağıtık koordinasyon.
- Apache Sqoop, İlişkisel veri tabanları ile Hadoop arasında veri transferi.
Cloud Üzerinde Hadoop, Amazon EMR
Hadoop’un bulutla buluşması, Amazon’un Nisan 2009’da çıkardığı Elastic MapReduce (EMR) ile başladı. EMR, Hadoop kümesini saatlik kullanım modeliyle çalıştırmanızı sağlıyor: kümeyi kuruyorsunuz, işinizi yapıyorsunuz, kapatıyorsunuz. Verinizi S3’te tutuyor, hesaplamayı EMR’da yapıyorsunuz.
Bu compute ve storage’ı ayırmak yaklaşımı, Hadoop’un on-premise versiyonundaki “veriyi compute’a yakın tut” prensibinin tersine bir tasarım. Ama EC2 / S3 arası bant genişliği yüksek olduğu için iş yüklerinin büyük çoğunluğunda mantıklı çalışıyor. Tek seferlik veya nadiren çalıştırılan analitik işler için TCO açısından dramatik avantaj sağlıyor.
2011 sonunda EMR’ı kullanan firmalar arasında Netflix, Yelp ve Foursquare gibi adların açıkça konuşulması, ürünün artık deneme aşamasında olmadığını gösteriyor.
NoSQL Dünyası, 2012 İtibarıyla Manzara
NoSQL hareketi son üç yılda çok dağınıktı. 2012 başında manzara biraz olsun netleşti:
Key-Value
Amazon’un 2007’de yayımladığı Dynamo paper’ı (Werner Vogels ekibinin yazdığı), bu kategorinin teorik temelini oluşturdu. Eventual consistency, consistent hashing, vector clock kavramları artık günlük dile girdi.
Bu paper’dan türeyen ürünler:
- Riak (Basho), Dynamo modelini en sadık şekilde uygulayan ticari ürün.
- Voldemort, LinkedIn’in açık kaynak versiyonu.
- Redis, Aslında in-memory data structure server; key-value ötesinde liste, set, hash gibi yapılarıyla farklı bir yerde.
Wide-Column / Bigtable Benzeri
- Apache Cassandra, Facebook’tan çıkıp Apache’ye geçen, Şubat 2010’da top-level proje olan. DataStax tarafından ticarileştirildi. Netflix’in Cassandra’ya geçişini yıl boyunca takip ettik; production’da geniş ölçekte çalıştığının kanıtı oldu.
- Apache HBase, Hadoop ekosistemiyle entegre.
Document
- MongoDB (10gen), 2011 boyunca developer benimsemesi açısından açık ara önde. JSON tabanlı yapısı, dinamik şema yaklaşımı geliştiriciler arasında çok hızlı yayıldı. Production’da ölçeklenebilirlik konusunda hâlâ tartışmalı; ama yıldızı parlıyor.
- CouchDB, Apache projesi; replication odaklı yapısıyla farklı senaryolar için.
Graph
- Neo4j, Hâlâ niş ama önemli; sosyal ağ ve öneri sistemleri için.
Cloud sağlayıcılarının kendi yönetilen NoSQL servisleri yıl içinde gelmeye başladı. Amazon’un SimpleDB’si bir süredir var; ama esas merak konusu, Amazon’un Dynamo’yu doğrudan müşterilerine açıp açmayacağı. AWS’in re:Invent değil ama yıl sonuna doğru gerçekleştirdiği etkinliklerde bunun ipuçları vardı; bu ay içinde (Ocak 2012’de) bu yönde bir duyuru bekliyorum.
Veri Ambarlama Tarafı
İlişkisel veri ambarlama dünyası da hareketli:
- HP-Vertica, HP, Mart 2011’de Vertica’yı satın aldı. Sütun tabanlı, MPP mimarisi. Cloud uyumluluğunu sürekli artırıyor.
- EMC Greenplum, 2010’da EMC tarafından satın alınmıştı, Hadoop ile entegrasyonu büyüyor.
- IBM Netezza, IBM tarafından appliance olarak sunulan.
- Aster Data, Mart 2011’de Teradata tarafından satın alındı.
Bulut tarafında Amazon’un Redshift isminde bir veri ambarı servisi üzerinde çalıştığı söylentileri yıl boyunca dolaştı; ancak ortada henüz somut bir ürün yok. Şimdilik veri ambarlama tarafının saf cloud çözümü yetersiz; EMR’ı SQL benzeri ihtiyaçlar için Hive ile birleştiren çözümler, ad-hoc analitik için pratik kalıyor.
Depolama Ekonomisi
Verinin bu kadar bol olduğu bir dönemde, depolamayı ucuza yapabilmek belirleyici. Amazon S3’ün GB başına aylık fiyatı 14 sent civarında ve son üç yılda istikrarlı şekilde aşağı geliyor. 2011 ortasında çıkan S3 Reduced Redundancy Storage (RRS), normal S3’ten %20 daha ucuz. Glacier benzeri arşiv katmanları için de yıl içinde söylentiler vardı; uzun vadeli arşiv için S3’ün çok daha ucuz bir alternatifi gelmesi mantıklı, beklemeye değer.
Google Cloud Storage ve Microsoft Azure Storage benzer fiyatlamayla bu pazara girmiş durumda. Türkiye’den yapılan tasarımlarda asıl problem fiyat değil, çıkış bandwidth maliyeti ve gecikme: 100 GB veriyi S3’ten Türkiye’ye çekmek hâlâ ucuz değil.
Türkiye Perspektifi
Yurt içinde “big data” konuşması 2011’de başladı ama uygulamalı projeler hâlâ az. Birkaç banka POC seviyesinde Hadoop denemesi yaptı. Telekom operatörlerinin abonelik datalarını analiz etmek için çalıştığı kümeler var ama production’da değiller. E-ticaret tarafında log analizi için Amazon EMR kullanan birkaç firma tanıyorum.
Önümüzdeki sene için tahminim, bu listenin hızla büyüyeceği yönünde. Veriyi tutmanın maliyeti her ay düşüyor; Hadoop ve NoSQL araçları her ay daha olgunlaşıyor. “Şu veriyi atıp gitmek yerine analiz etsek” sorusunu sormaya başlayan kurumların sayısı görünür şekilde artıyor.
Kapanış
2012, cloud + data kesişiminin önündeki engellerin teknolojik olmaktan çıkıp organizasyonel olmaya başlayacağı bir yıl olacak. Araçlar yerinde; ekonomi yerinde; eksik olan ekip kapasitesi ve doğru sorular. Önümüzdeki bir-iki ay içinde Amazon’un veri tarafında yapacağı duyuruları yakından takip edeceğim, Dynamo’nun managed bir servise dönüşmesi sürpriz olmayacak.