Büyük Veri Yolculuğu
Büyük Veri (Big Data) konusunda yazılan binlerce makale, blog yazısı, kitap ve dergi bulunmasına rağmen konunun herkes tarafından farklı anlamlandırılması ortak bir tanımlama yapılamamasına neden olmuştur. Farklı bakış açılarından ve kullanım amaçlarından ortaya çıkan tanımlardan sadece bir tanesini doğru kabul etmek ise bizleri yanıltacaktır. Bu nedenle, genel bir yaklaşımla hazırladığımız bu yazımızda Büyük Veri analitiği ve yöntemlerine yer vererek sunduğu avantajlara değindik.
Büyük veri analitiği konusunda bazı temel başlıkların çok net ortaya konarak, kaynaktan hedefe bir yolculuk olarak verinin rotası ve veri analitiğinde kullanılan teknolojilerin açıklanması gerekmektedir. Büyük veri analitiğini üç temel kategoriye ayırmak mümkündür:
- Zaman içinde biriken verinin analitiği,
- Gerçek zamanlı olarak verinin analitiği
- Gerçek zamana çok yakın bir zaman aralığında verinin analitiği.
Doğru bir kategoride ilerleyebilmek için, veri yolculuğunun rotasını çok iyi tanımlamak gerekmektedir. Veri analitiğindeki 3 temel kategoriye değinerek veri yolculuğunun rotasını aşağıda açıklıyoruz. Her bir analitik yöntem, kendine özgü farklı teknolojileri ve farklı bir veri yolculuğu rotası içermektedir. Büyük veri analitiğinde, genel fikri ortaya koymak anlamında verinin rotasını gösteren aşağıdaki görsel konunun anlaşılmasına yardımcı olacaktır.
En alt seviyesinde, kaynağında doğan veri, çeşitli araçlar ile orta seviyeye alınarak yolculuğunu devam ettirir. Görsel’in sağ tarafında bulunan NoSQL ve Hadoop, geçmiş büyük veri analitiği için kullanılan çözümleri temsil etmektedir. Bellek içi veri tabanları, gerçek zamanlıya yakın büyük veri analitiği için kullanılırken, gerçek zamanlı büyük veri analitiğinin rotası görselin sol tarafında gösterilmektedir. Nihai olarak her üç rotanın sonunda elde edilen analitik sonuçları görselleştirme teknolojileri ile son halini alır.
1. Geçmiş Büyük Verinin Analitiği (Batch Analytics)
Veri, herhangi bir NoSQL (Cassandra, MongoDB vb.) veri tabanında ya da veri setleri halinde ve dosya sistemi üzerinde depolanabilir. Depolandıktan sonra analitiği yapılmak istenen veri, durağan hale gelmiş ve yolculuğu sonlanmış geçmiş veridir ve bu duruma uygun veri analitiği teknolojileri ile analitiğinin yapılması gerekmektedir. Geçmiş verilerde; veri, yolculuğunu tamamladıktan sonra, Hadoop ortamında depolanan veriler için sonuna ekleme operasyonu dışında, üzerinde herhangi bir değişikliği kabul etmez (Append only). Geçmiş veriyi içeren tablolarınıza ya da veri setlerinize herhangi bir zamanda yeni veriler eklediğinizde, verinin analitiğini gerçekleştirecek olan algoritmanın, sonradan eklenen verileri dikkate alması amacı ile tekrar çalıştırılması gerekmektedir. Geçmiş veriyi analiz etmede çözüm olarak iki tane teknoloji mevcuttur: bunlardan biri Hadoop, diğeri ise NoSQL veri tabanı çözümüdür ve NoSQL çözümü Hadoop ile birlikte kullanılabildiği gibi tek başına da kullanılabilmektedir.
2. Gerçek Zamanlı Büyük Veri Analitiği (Real Time Analytics)
Veri, herhangi bir kaynaktan kendi yolculuğuna başladığında bir hedefe gitmek zorundadır. Bu hedef bir dosya sistemi ya da bir veri tabanı olabilir. Gerçek zamanlı büyük veri analitiği, veriyi daha sonra analitiği yapılmak üzere herhangi bir hedefte depolamadan önce, çeşitli operasyonlarla analitiğinin yapılmasıdır. Bu analitik yöntemi adından da anlaşılacağı gibi çok hızlı bir şekilde, verinin doğumuna yakın bir zamanda gerçekleşmektedir. Bu analitik tekniği; log analizi, risk ve dolandırıcılığın belirlenmesi, izinsiz sızma girişimlerinin belirlenmesi, anlık önerme sistemleri, iş zekâsı vb. konularda kullanılmaktadır. Teknoloji mimarisi bakımından, geçmiş veri analitiği teknolojilerinden farklı olmakla birlikte, verileri dağıtık bir topolojiden geçirerek analitiğini yapma konusunda benzeşmektedir. Verinin, herhangi bir yazma operasyonu gerçekleşmeden önce analitiğinin yapılması gerekmektedir. Bu yüzden çok hızlı ve dağıtık bir yapının olması zorunludur. Gerçek zamanlı büyük veri analitiği için verinin türüne göre karar verilen, açık kaynak kodlu ya da lisanslı farklı teknolojiler kullanılabilmektedir. Dünyada başlıca kullanılan gerçek zamanlı analitik araçlarını şu şekilde sıralamak mümkündür; Apache Spark yapısının bir kütüphanesi olarak gelen Spark Streaming, Apache Flink, Striim ve Storm. Ölçeklenebilirlik, yüksek işlem hacmi oranı (throughput) ve hata toleransı, söz konusu teknolojilerin genel ortak özelliklerindendir.
3. Gerçek Zamanlıya Yakın Büyük Veri Analitiği (Near Real Time Analytics)
Gerçek zamanlıya yakın büyük veri analitiği, diğer iki veri analitiği yöntemlerinden farklıdır ve verinin yolculuğunda; veri, analitik işlemi gerçekleşmeden önce bellek içi veri tabanlarına kayıt edilir. Bu sebeple bellek üzerinde çalışan ve bellek içi veri tabanları olarak adlandırılan depolama ve indeksleme mekanizmaları zorunludur. Literatürde bu mekanizmalara ana bellek veri tabanı (MMDB) ya da bellek yerleşik veri tabanı (memory resident database) isimleri de verilir. Bellek içi veri tabanları, son derece hızlı okuma ve yazma performansları sunmak ve bellekte çalışmak üzere tasarlanmıştır. Herhangi bir operasyon (okuma ya da yazma) bellek tabanlı bir operasyon ise disk tabanlı operasyonlardan çok daha hızlı gerçekleşir, çünkü bellek ve ikincil disk olarak adlandırılan hard disk, bellek yönetim piramidinde sırasıyla ikinci ve üçüncü seviyede bulunur. Söz konusu seviyeler 0 – 4 arası numaralandırılır ve belleklerin çalışma hızlarını temsil eder. İkinci seviye bellekler, üçüncü seviye belleklere göre tipine göre değişmekle birlikte 20-50 kat daha hızlıdır.
Günümüzde donanım maliyetlerinin azalması ile bellek içi veri tabanları yaygın olarak kullanılır hale gelmiştir. Bellek içi veri tabanları, NoSQL veri tabanlarında olduğu gibi dağıtık bir topolojiye sahiptirler. Topolojiye üye olan bütün cihazların belleklerini kullanarak çalışırlar. Gerçek zamanlıya yakın büyük veri analitiğinde depolama tekniğinin dışında kullanılan teknolojiler diğer yöntemlerde kullanılanlar ile aynıdır. Veri doğduğunda; kaynağından alınma işlemi, analitik için veri tabanından çekilme işlemi ve analitik sonrası görselleştirme işlemleri ortaklık arz etmektedir.
Büyük veri analitiği için, geçmiş büyük veri analitiği, gerçek zamana yakın büyük veri analitiği ve gerçek zamanlı büyük veri analitiği olmak üzere üç temel rota mevcuttur. Analitiği yapılacak olan verinin türü ve hangi amaçla kullanılacağı, verinin hangi analitik rotasını takip etmesi gerektiğini belirler. Verinizden değer yaratmak için verinizin detaylı analizi, kullanılacak teknolojilerin seçimi, teknolojilerin kurulumu ve analitik sonucu elde edilecek çıktıların sağlayacağı katkılar hakkında detaylı bilgi almak için GTech Uzman Büyük Veri Ekibine ulaşabilirsiniz.
Yazan: Tayfun Yalçınkaya
GTech Büyük Veri ve Analitik Müdürü