Büyük Veri Teknolojilerine Giriş
İçerik:
- Kavramlar
- “V”ler
- Makine Öğrenmesi, Veri Bilimi ve Analitik
- Platformlar ve Mimari
- Veri Alma, Paralel İşleme, Dağıtılmış Depolama, Kümeleme Yönetimi
- Teknolojiler (HDFS, MapReduce, Elastisearch, Kafka, MongoDB)
- Kullanım Alanları (IoT, E-ticaret, Sağlık, Eğitim, Finans, İş zekası, IT… )
Öncelikle birkaç veri kavramı ile başlayalım:
Veri Tipleri
Yapılandırılmış Veri
Katı bir formatı olan veriye denir. Genelde bir şema olarak düşünülür. Bu tipteki veri geleneksel bir veritabanı gibi satır ve sütunlardan oluşur. Önceden belirlenen alanlar olduğundan kolayca haritalanabilir. Tüm verinin %10'unu temsil eder.
Yarı-Yapılandırılmış Veri
Geleneksel bir veritabanı gibi olmayan ancak belirli bir düzeyde organize edilmiş olan veriye denir. Biraz işleme ile bu veri geleneksel bir veritabanında saklanabilir. CSV, YAML, JSON formatları bu veri tipine örnektir. NoSQL veritabanlarının çoğu yarı-yapılandırılmış kabul edilir. (özellikle JSON kullananlar) Tüm verinin sadece %10'unu temsil eder.
Yapılandırılmamış Veri
Bir veritabanına rahatça uyum sağlayamayan veri tipine denir. Veriyi satır ve sütunlara koyabileceğiniz mantıksal bir şema ya da formatı yoktur. Yapılandırılmamış veri text, resim, video, e-posta, doküman, ses dosyası vb. gibi herhangi bir şey olabilir. Hatta veri parçaları, bazı içsel düzene sahip olsa dahi yapılandırılmamış olarak düşünülür. Tüm verinin %80'ini oluştururlar.
Büyük Verinin “V” leri
Temel olarak üçle başlar bazı kaynaklar 7 bazıları 10 ve üzerine çıkarmaktadırlar. Temel üçü:
Volume, Velocity, Variety’dir.
Volume: Verinin miktarıdır.
Velocity: Verinin ne kadar çabuk üretildiğidir.
Variety: Verinin ne kadar çeşitli olduğudur.
Diğerleri:
Veracity, Variability, Visualization, Value’dir.
Veracity: Veri kaynağının güvenilirliğidir.
Variability: Veri değerlerinin ne kadar tutarlı olduğudur.
Visualization: Verinin ne kadar kolay görselleştirilebileceğidir.
Value: Veriden ne kadar değer türetilebileceğidir.
Büyük Verinin Araçları
Makine Öğrenmesi
Makine öğrenmesi; veriyi analiz etmek, ondan öğrenmek ve veri hakkında sonuçlar çıkarmak için algoritmalar kullanan yapay zekanın bir koludur.
Örnek bazı kullanım alanları:
- Bir e-postanın spam olup olmadığına karar vermek.
- Makaleleri; teknoloji, spor ya da politika gibi sınıflandırmak.
- Bir yazının negatif ya da pozitif olup olmadığına karar vermek.
- Yüz tanıma.
- Anomali belirleme.
- Dolandırıcılık tespiti ve önleme.
- Başarı oranı ölçümleri.
- Kazanç tahminleri.
- Kredi skoru vb. gibi.
Veri Analitiği
Veri setlerini, çeşitli sorulara yanıt almak için modelleme ve analiz etme sürecine denir. Çerçevesinde istatistik, bilgisayar bilimi ve yapay zeka (makine öğrenmesi, derin öğrenme vb.) gibi konuları barındırır. Hedefi bilinmeyenlere çözüm sağlamak ve belirli soruları cevaplamaktır.
Veri Bilimi
Büyük veri setlerinden anlam çıkarmada uzmanlaşan multi disipliner bir alandır. Bunu gerçekleştirmeye çalışırken; bilimsel metod, ileri matematik, bilgisayar bilimi, yapay zeka (makine öğrenmesi, derin öğrenme) ve veri analizi gibi konuları kullanır. Hedefleri; olayları anlamak, bilinmeyenleri ortaya çıkarmak, doğru soruları belirlemek, veriyi analiz etmek için daha iyi yollar bulmak olarak tanımlanabilir.
Büyük Veri için Platformlar ve Mimari
Veri Alma (Data Ingestion)
Son Kullanıcı Cihazlar:
- IoT (Nesnelerin İnterneti) Cihazları
- Telefonlar
- Bilgisayarlar
- Satış noktası kaydı
Sunucular:
- Web Sunucu Erişim Logları
- Uygulama Sunucu Logları
- Sistem Logları
- Sistem Kaynak Metrikleri
Bulut:
- Bulut Sunucu Logları
- Bulut Ağ Metrikleri
- Bulut Kaynak Uygulamaları
- Bulut Uygulama Verisi
Ağ Cihazları:
- Güvenlik Duvarları
- Kablosuz Router’lar
- IPS ve IDS
- Router ve Switch’ler
Uygulamalar:
- Loglar
- Durum Bilgisi
- Kullanım Metrikleri
- Kaynak Metrikleri
Depolama Sistemleri:
- Loglar
- Durum Bilgisi
- Kullanım ve Kapasite Metrikleri
Hesaplama/İşleme (Computing) Çeşitleri
Paralel Hesaplama (Computing)
Geleneksel modelde bir sorgu yapıldığında sorgu geleneksel bir veri tabanında yapılır. Paralel hesaplamada ise sorgu master node’a yapılır ve master node’dan tüm veri node’larına yayılır.
Monolitik Depolama
Monolitik depolamada aktif ve pasif Node’lar bulunur.
Dağıtılmış Depolama
Dağıtılmış depolamada ise node’ların hepsi aktiftir ve veri node’lara parçalar halinde dağıtılır.
Kümeleme Yönetimi (Cluster Management)
Amaç:
- Veri yığınlarını oluşturma ve ya silme.
- Kümedeki her node’u izleme.
- Yığınlar için yer ayırmaya karar verme.
- Replika parçaları tespit etmek ve node hatalarında kümeyi tekrar dengelemek.
- Uygun node’lar için arama taleplerini yönlendirmek.
- Arama yanıtlarını birleştirmek.
Bazı önemli noktalar:
- Tipik şekilde veriyi içeren node’lardan daha küçüklerdir.
- Herhangi bir dağıtılmış sistemde en önemli node’dur.
- Fazlalık (Redundency) çok önemlidir.
- Düşük gecikme ile en iyi performansı verir.
Büyük Veri Teknolojileri
HDFS (Hadoop Distributed File System)
- Özel donanımlarda çalışan dağıtılmış bir dosya sistemidir.
- Yüksek oranda hataya dayanıklıdır. (Fault Tolerant)
- Çok büyük veri setleri için tasarlanmıştır.
- Yatay olarak yüksek seviyede ölçeklenebilirdir.
- Apache açık kaynak projesidir.
Kullanım alanları:
- Yapılandırılmış ve ya yapılandırılmamış büyük miktardaki veriyi depolamak.
- MapReduce gibi veri analizi araçları için depolama çerçevesi sunmak.
MapReduce
Bir veri setini, özetlemeden önce (sayma ya da ortalamasını alma gibi) filtreleyerek ve sıralayarak haritalayan işleme tekniğidir. Java kullanarak programlara yazılır. HDFS’nin üzerinde çalışır ve operasyonları yatay olarak yüksek seviyede ölçeklenebilirdir.
Kullanım alanları: Dağıtılmış bir dosya sisteminde veri analizi yapmak. Çok büyük veri setlerinde sıralama, arama, graph analizi, istatistiksel analiz, makine öğrenmesi.
Spark
- Genel amaçlı küme işleme çerçevesidir.
- Apache açık kaynak projesidir.
- Performansı öne alan bir mühendislik çalışmasıdır.
- Hafızada (In-memory) veri işleme kabiliyetine sahiptir.
- API’leri kolay kullanılabilir.
- HDFS, Elastisearch, Kafka, MongoDB ve birçoğu ile birlikte çalışabilir.
Kullanım alanları: Çok hızlı veri analitiği, makine öğrenmesi, graph analizi, aralıksız veri iletimi. (data streaming)
Elastisearch
Dağıtılmış arama ve analitik motorudur. Hata toleransı ve yatay ölçeklemesi mevcuttur. Çok hızlı olması için tasarlanmıştır.
Kullanım alanları: Hızlı arama, NoSQL Veritabanı, Makine öğrenmesi, Veri Analitiği, Loglama.
Kafka
Dağıtılmış aralıksız veri iletimi (data streaming) platformu. Bir mesaj kuyruğu (queue) gibi kayıt ve yayınlama (Publish/Subscribe) özelliği mevcuttur. (Multi-tenant) Replikasyon ile birlikte veri iletimi depolaması. Gerçek zamanlı aralıksız veri iletimi.
Kullanım alanları: Veri yolu (pipeline) ara tamponu (buffer), Çoklu kayıt olma imkanı ile veri yolu dağıtıcısı. Gerçek zamanlı aralıksız veri iletimi uygulamaları inşa etme. Mesaj kuyruğu.
MongoDB
Dağıtılmış doküman bazlı NoSQL Veritabanı platformu. veriyi JSON dokümanı gibi depolar. Dağıtılmış sistemiyle veri replikasyon olanağı sağlar. Yatay olarak ölçeklenebilir.
Kullanım alanı: NoSQL Veritabanı.
Büyük Veri Kullanım Alanları
IoT (Nesnelerin İnterneti):
- Araç Sensörleri
- Hava Durumu Sensörleri
- Deprem Sensörleri
- Toprak Sensörleri
- RFID Çipleri
Akıllı Cihazlar:
- Termostatlar
- Kameralar
- Televizyonlar
- Ev Otomasyonu Cihazları
E-Ticaret
Tavsiye Motoru: Satın aldığınız ürün ile diğer müşterilerin satın aldığı ürünler arasında ilişkisel bir çizelge (graph) oluşturur.
Alışveriş Örüntülerini Tahmin Etme: Tarihsel veriyi kullanarak neyin hangi zaman aralığında ve hangi lokasyonda en iyi satacağını tahmin etmek.
Ürün Arama: Modern ürün arama, daha fazla arama kriterini, daha büyük ürün kütüphaneleri içinde arayacak şekilde büyümüştür.
Ürün Envanteri: İşinizin sunduğu her ürünü takip etme olanağı. Hangi veri ambarında bulunduğu, ne kadar bulunduğu, ne kadarına ihtiyaç duyduğunuz vb. gibi.
Sağlık Hizmetleri
Elektronik Sağlık Kayıtları: Her hastanın demografik, medikal geçmiş, alerji, test sonuçları vb. gibi kaydı.
İstihdam: Çok çalışan olması sağlık maliyetlerini arttır ancak az olması zayıf hasta bakımı anlamına gelir.
Medikal Cihazlar: Bir hastanede kullanılan ya da giyilebilen bir cihaz. Medikal cihazlar yüksek değerde veri oluştururlar.
Medikal Tedavi: Sağlık kaydı verisini ve analizini kullanarak hastalıkları tedavi etmek için optimal yollar bulabiliriz.
Eğitim
Kariyer Planlaması: İlgi ve yeterliliklere göre optimal kariyer planını bulabiliriz.
Öğrenci Başarısı: Akademik performansta farklı gelişim gösteren riskli öğrencileri tespit edebilirz.
Kopya Tespiti: İntihal, basılı yayınlar ve internet sayesinde kolayca tespit edilebilir.
Finans
Dolandırıcılık Tespiti: Harcama alışkanlıklarını takip ederek algoritmalar normal olmayan şüpheli harcamaları tespit edebilir.
Ticaret: İstistiksel modelleri ve ileri algoritmaları kullanarak bilgisayarlar bir insandan daha hızlı ve tutarlı biçimde alım-satım yapabilir.
Kredi Skoru: Kredi kuruluşları, finansal geçmiş ve davranışlara bakarak bir kişiye borç verme riskini hesaplayabilir.
Sigorta: Poliçe hazırlayanlar, riski ölçmek ve primleri daha tutarlı şekilde belirlemek için veriyi kullanılabilir.
İş Zekası
Pazarlama: Müşteri davranışı ve satışları analiz ederek iş sahipleri pazarlama kampanyalarının etkililiğini ölçebilirler.
Maliyet Azaltma: Şirket giderlerinin analizini yapmak maliyeti azaltmaya yardımcı olabilir.
Yüksek Değerli Hedefler: Verimliliği ya da satışları arttırmak için şirkete en az maliyet ve ya riskle olacak şekilde yeni yollar bulunabilir.
İş Soruları: Kritik iş kararlarını desteklemek için kullanılabilir.
Bilişim Teknolojisi
Operasyonel Analitik: Log ve metriklerin toplanması ile kullanışsız gözüken büyük miktardaki veriyi değerli bir kaynağa dönüştürebilir.
İzleme: Sistem ve servislerdeki anormal davranışları bulmak için makine öğrenmesi kullanılabilir.
Kaynaklar: