Elektronik

7. BÜYÜK VERİ TEKNOLOJİLERİ

Büyük Veri
7. BÜYÜK VERİ TEKNOLOJİLERİ

7. BÜYÜK VERİ TEKNOLOJİLERİ

Birlikte Düşünelim

1.    Büyük veri teknolojileri hangi kaynakları kullanır?

2.    Yapay zeka yöntemlerinin büyük veri teknolojilerindeki yeri nedir?

3.    Teknolojik gelişimin tarihsel sürecindeki dönüm noktaları sizce nelerdir?

4.    Büyük veri teknolojilerinin bilinirlik seviyeleri hangi kriterlerle belirlenir?

5.    Büyük veri teknolojileri hangi kriterlere göre sınıflandırılır?

Başlamadan Önce

Kullanıcıların bıraktığı ekonomik, sosyal ve psikolojik dijital izlerin çok yönlü olarak analizine imkan tanıyan büyük veri, maliyetli ve uzun süreçli saha araştırmalara alternatif ve adaptif teknolojiler olarak kullanılabilmektedir. Bu teknolojiler sayesinde, çok farklı coğrafyalardan ve örneklemlerden değişik boyutlarda veri, eş zamanlı olarak elde edilebilmekte ve düşük maliyetlerde analizi sağlanmaktadır. Ayrıca büyük veri teknolojilerinin çıktıları sayesinde kullanıcıların kişisel profillerinin çıkartılabilmesi ve zaman içerisinde değişen alışkanlıklarının tespit edilmesinde önemli bir planlama aracı olarak kullanılmaktadır.

Farklı sektörlerdeki müşteri ihtiyaçlarının belirlenmesi, kurumsal kaynak ve tesis planlama, yatırım yönetimi, gelir-gider yönetimi ve ömür boyu müşteri değerinin ölçülmesi konusunda oteller, ulaşım firmaları, seyahat acentaları, hizmet işletmeleri ve diğer sektörlerdeki işletmelerin müşteri özelliklerine göre ürün ve hizmet sunumunu gerçekleştirebilmesi ve maliyet avantajı sağlaması, ilgili sektörlerin büyük veri teknolojilerinin kullanımına bağlıdır. Hizmet sağlayıcılarının, büyük verinin elde edilmesi ve depolanması konusundaki fiziki altyapı imkanlarını geliştirmeleri oldukça önem arz etmektedir. Bu noktada, büyük verinin elde edilmesi, depolanması ve analiz edilerek yorumlanabilmesi/anlamlandırılması için teknik gereksinimlerin karşılanması ve büyük verinin işletmelerin faaliyetleri için kullanılabilir hale getirilmesine yönelik yetkin personel istihdamının sağlanması da önemli hususlar arasındadır.

7.1. Büyük Veri Teknolojileri

Günümüz dünyasında pandemi ile gelen dijitalleşmenin hız kazandırdığı, 5G teknolojileri sayesinde akıllı telefonlar, otomobiller, sosyal medya siteleri, dizüstü bilgisayarlar ve endüstriyel makineler gibi cihazlara yerleştirilen sensörler sayesinde veriler hızla artmaktadır. Bu nedenle, çeşitli kaynaklardan elde edilen veriler yapılandırılmış, yarı yapılandırılmış veya yapılandırılmamış biçimde bulunabilmektedir. Geleneksel yöntemler bu veri formatlarını işlemekte yetersiz kalmaktadır. Bu nedenle, şekil 7.1’de şematize edilen veri analitiği amacıyla büyük verilerle çalışmak için yeni araç ve tekniklere ihtiyaç duyulmaktadır.

Şekil 7.1. Büyük verinin analitiği.

Bugün geliştirilen bazı teknik ve teknolojiler sayesinde çok büyük yapılandırılmış ve yapılandırılmamış veri setleri kolayca analiz edilebilmektedir.

Büyük veri teknolojileri, veri madenciliği, veri depolama, veri paylaşımı ve veri görselleştirmeyi içeren yeni nesil yazılımlardır. Verileri araştırmak, dönüştürmek ve anlamlandırmak için kullanılan araçlar ve teknikleri içeren veri teknolojisini kapsar. Yapay zeka, makine öğrenimi, derin öğrenme ve IoT gibi diğer teknolojilerle geniş ölçüde ilişkilendirilir.

Büyük veri teknolojileri operasyonel ve analitik olmak üzere ikiye ayrılabilir;

1. Operasyonel Büyük Veri Teknolojileri

Çevrimiçi işlemler, sosyal medya veya büyük veri teknolojileri tabanlı yazılımlar aracılığıyla analiz için kullanılan belirli bir firmadan her türlü veri gibi günlük olarak üretilen veri miktarını gösterir. Analitik büyük veri teknolojilerini besleyen ham veri olarak düşünülebilir.

Operasyonel büyük veri teknolojileri; yöneticilerin birçok uluslu şirketteki ayrıntılarını, Amazon, Flipkart, Walmart, vb. firmalardan alınan çevrimiçi alım satım ve satın almaları, filmleri, uçuş, demiryolları ve otobüs vb. için çevrimiçi bilet rezervasyonu ve satın almasını içerir.

2. Analitik Büyük Veri Teknolojileri

Operasyonel büyük veri ile kıyasla biraz karmaşık olan analitik büyük veri teknolojileri gelişmiş bir büyük veri versiyondur. İş kararları için çok önemli olan büyük verilerin gerçek araştırması ve anlamlandırılması bu bölümün altındadır. Bu alanda ele alınan bazı örnekler, stok pazarlama, hava tahmini, zaman serisi analizi ve tıbbi sağlık kayıtlarıdır.

7.2. Büyük Veri Teknolojileri Bilinirlik Seviyeleri

TDWI Big Data Maturity Model temelinde Türkçe olarak tasarlanan ve 5 farklı kategoride anket soruları sayesinde değerlendirilerek belirlenmektedir. Bu kategoriler aşağıda sunulmuştur [1].

1. Kurumsal olarak büyük verinin bilinirliği: Kurumsal olarak büyük verinin bilinirliğinin ölçümünde ankette cevabı aranan sorular şöyledir: Başarılı bir büyük veri analitiği programı hangi ölçüde kurumsal strateji, kültür, liderlik ve bütçe olarak destekleniyor? Büyük veriler için bir analitik kültür mevcut mu? Büyük veri teknolojileri şirket tarafından takip ediliyor mu? Büyük veri analitiği teknolojileri şirket tarafından keşfedilmeye başlandı mı? Veri paylaşımı ve iş birliği şirket kültürünün önemli bir parçası mı?

2. Alt yapı seviyesi: Alt yapı seviyesi ölçümünde aşağıdaki soruların cevapları aranmaktadır: Büyük veri girişimini destekleyen mimari ne kadar gelişmiş ve tutarlı durumdadır? Var olan alt yapı şirketin tüm bölümlerini ve potansiyel kullanıcılarını ne ölçüde desteklemektedir? Büyük veri yönetimi yaklaşımı ne kadar etkin kullanılıyor? Hangi teknolojik donanım ve yazılımlar kullanılmakta ve var olan ortamla nasıl bütünleşmiş durumdadır?

3. Veri Yönetimi: Veri yönetimi kısmında: Şirketin meta veri için bölüm seviyesinde tanımlanmış ve kapsamlı bir veri yönetimi stratejisi var mı? Varsa bilgisayar kümesinde birden çok iş yükünü aynı anda yapabiliyor mu? Şirkette tanımlanmış bir veri yaşam döngüsü yönetimi ve baştan sona veri kullanımı sürecini tanımlayan çerçeve doküman mevcut mu?

4. Analitik çözümlerin bilinirliği: Analitik çözümlerin bilinirliği bölümü: Büyük veriler için kullanılan verilerin çeşitliliği, hacmi ve hızı ne kadardır? Şirket büyük verilerini analiz etmek için hangi yöntemleri kullanıyor? Büyük veri teknolojilerini yaygınlaştırmak isteyen üst düzey yönetici mevcut mu? Büyük veri konusunda deneyimli çalışanlar var mı?

5. Yönetim stratejilerinin bilinirliği: Yönetim stratejilerinin bilinirliği kısmı: Şirketin büyük veri yönetimi için stratejilerini takım halinde uyguluyor mu? Şirkette veri yönetimi ve entegrasyonunu denetlemek için kurulmuş bir yönlendirme kurulu var mı?

Bir organizasyonların büyük veri teknolojileri olgunluğu, ilgili tüm iç ve dış veri kaynaklarını bütünleştirme, yönetme ve etki alanına alma gibi yeteneklerindeki dönüşüm kabiliyeti olarak tanımlanmaktadır. Esasen, yenilikçi bir ekosistem oluşturma ve güçlü etkisi olan bir dönüşüme imkân tanıma olasılığı ile ilgilidir. Başka bir deyişle, büyük veri alanındaki olgunluk sadece devasa veriyi işleyebilecek gerekli donanımı satın alıp yerleştirmekten ibaret değildir. Ya da şirket markasının değerini ve müşteriler üzerindeki etkilerini sosyal medya paylaşımlarından analiz etmek değildir. Olgunluk, teknolojiler, veri yönetimi ve analitiği ve şirket bileşenlerini kapsayan dinamik bir ekosistem yaratmak ile ilgilidir [1-2].

7.3. Dünyada En Popüler Büyük Veri Teknolojileri

Günümüzde kurum ve kurumların bünyesinde elde edilen büyük veri setlerini saklamak, işlemek, yönetmek, analiz etmek ve anlamlandırmak için kullanılan teknolojilerin sayısı sürekli artmaktadır. Şekil 7.2’de büyük veri teknolojileri ekosistemi verilmiştir.

Şekil 7.2. Büyük veri ekosistemi.

Büyük veri teknolojileri her türlü yapıdaki veriyi işleme, ihtiyaca göre genişleme, verileri yedekleme, erişilebilir olmasını sağlama ve açık kaynaklı projeler olma gibi özelliklere sahiptir. Tablo 1’de verildiği üzere büyük veri teknolojileri, platform türüne göre lokal ve bulut olmak üzere iki sınıfa ayrılmaktadır.

Tablo 1. Platform türüne göre büyük veri teknolojilerinin sınıflandırılması.

Tablo 2’de verildiği üzere büyük veri teknolojileri veritabanı türüne göre SQL, NoSQL ve In-Memory olarak üç sınıfa ayrılmaktadır.

Tablo 2. Veritabanı türüne göre büyük veri teknolojilerinin sınıflandırılması.

Tablo 3’te verildiği üzere büyük veri teknolojileri fonksiyonellik açısından veri işleme, veri ambarı, veri toplama & transfer, arama, sorgu dili, istatistik & makine öğrenmesi, iş zekası, görselleştirme ve sosyal medya analizi olmak üzere farklı sınıflara ayrılabilmektedir.

Tablo 3. Fonksiyonellik açısından büyük veri teknolojilerinin sınıflandırılması.

Büyük verilerin analizinde kullanılabilecek açık kaynak kodlu programların başında Hadoop, Apache Spark, MongoDB, MapReduce, Orange ve Weka gibi teknolojiler gelmekle birlikte bir sürü teknoloji bu bilim alanının gelişmesine katkı sağlamaktadır. Bu teknolojilerden bazıları şöyledir:

1. Büyük Tablo:

Büyük Tablo, Google Dosya Sistemi (Google File System-(GFS)) üzerine kurulmuş tescilli dağıtık veritabanı sistemidir. Büyük Tablo’nun temel amacı, web sayfalarının daha hızlı ve başarılı bir şekilde bulunması, depolanması ve güncellenmesidir.

Google Dosya Sistemi (GFS), Google tarafından geliştirilen tescilli dağıtık dosya sistemi olup; Hadoop geliştirilirken GFS den esinlenmiştir. GFS’nin amacı, büyük dosyaları depolamak ve bunlara erişimi sağlamaktır. Buradaki büyük dosyalar, sabit sürücüye depolanamayan dosyalardır [3].

2. Bulut Bilişim

Bulut bilişim, genellikle dağıtılmış bir sistem olarak yapılandırılmış yüksek ölçeklenebilir bilgi işlem kaynakların bir ağ üzerinden bir hizmet olarak temin edildiği bir işlem paradigmasıdır. Bulut ortamı, büyük verilerin hem temel altyapısında hem de analitik altyapısında kolaylaştırıcı olarak ortaya çıkmıştır. Bulut hem genel hem de özel bulut ayarlarında büyük veri analizi için bir dizi seçenek sunmaktadır. Altyapı tarafında, Bulut, çok büyük veri setlerini yönetmek ve bunlara erişmek için seçenekler sunarken aynı zamanda güçlü altyapı unsurlarını nispeten daha düşük maliyetle desteklemektedir.

Bugün bulut bilişim sayesinde hard disklerde depolanan veriler internet ortamında sanal sunucularda saklanılabilmektedir. Bulut Bilişim, daha hızlı veri transferi, kıt Bilgi Teknolojisi (BT) kaynaklarının daha etkin kullanılması ve daha hızlı yenilik (inovasyon) kabiliyetine izin vermektedir. İnovasyon düşük maliyetli sanal ortamların dinamik kullanımı ile etkin olup bu talep üzerine şirketleşme (birleşme) olabilmektedir. Özellikle büyük şirketler için iş gücü tasarrufu büyük önem arz etmektedir. Bugün sosyal ağlarda yüklenen video, müzik ve fotoğraf gibi birçok veri o sitelerin bulutlarında depolanmaktadır. Bulut depolama hizmetlerine örnek olarak Dropbox, Google Drive, SkyDrive, iCloud, Yandex. Disk, Turkcell Akıllı Bulut, TTNET Bulut ve Ubuntu One verilebilir [4].

Şekil 7.3. Bulut bilişimin veri etkileşimi.

Bulut bilişim temel kaynaktaki yazılım ve bilgilerin paylaşımı sağlar. Ayrıca mevcut bilişim hizmetinin bilgisayarlar ve diğer aygıtlardan internet üzerinden kullanılmasını sağlar. Şekil 7.3’te görüldüğü üzere, işletme maliyetini düşürmesine ek olarak bulut teknolojileri radikal iş buluşları, yeni iş modelleri ve bilişimi kullanan herkes için kullanışlılığı, gözle görülür verimliliği sağlamak için temel haline gelmiştir.

“Bulut” sözcüğü dosyaların bulunduğu yeri belirtir. Bulut bilişimde bu sözcük bilginin işlenme ve saklanma alanı anlamında kullanılmaktadır.

Bulut özellikle büyük verilerin analizinde çok büyük kolaylıklar sağlamaktadır. Bulut; sanal, uyarlanabilir, esnek ve güçlü yapısı sayesinde büyük verilerin değişen çevreye uygun hâle gelmesini sağlamaktadır. Bulut mimarileri, çok büyük veri kümelerinin işlenmesi için ideal olan sanal makine dizilerinden oluşmakta ve bu işlemler sayısız paralel süreçlere bölünebileceği ölçüde gerçekleştirilir. “Küme işlem” adı verilen bu paralel işlem mimarilerinde işlem düğümleri olan sunucular raflarda (racks) depolanmaktadır [5]. Bu da genellikle doğrudan analiz için kullanılabilecek Hadoop kümelerinin geliştirilmesine yol açmıştır.

4. Veri Ambarı

Veri ambarı, verileri raporlamak için optimize edilmiş özelleştirilmiş veritabanıdır. Bu veritabanı genellikle yapılandırılmış büyük miktardaki veriyi depolamak için kullanır. Veriler Şekil 7.4’te yer alan dış kaynaklar ve operasyonel veri depolarındaki ETL (extract, transform, and load- çek, dönüştür, yükle) araçları kullanılarak yüklenir ve sonuçlar genellikle veri küpü içerisinde yer alan iş zekâsı araçları kullanılarak üretilmektedir.

Şekil 7.4. Veri ambarı ve Veri Deposu

5. Data Mart

Bir veri ambarı, bir kuruluşun tüm verileri için merkezi bir depodur. Bununla birlikte, bir data mart’ın amacı, insan kaynakları yönetimi gibi organizasyon içindeki belirli bir kullanıcı grubunun belirli taleplerini karşılamaktır. Genel olarak, bir kuruluşun data martları kuruluşun veri ambarının alt kümeleridir [6].

6. Dağıtık Sistem

Dağıtık sistem, birden fazla bilgisayar, bir ağ üzerinden iletişim kurarak, ortak bir hesaplama problemini çözmek için kullanılır. Problem paralel çalışan bir ya da daha fazla bilgisayar tarafından çözülmekte ve bu bilgisayarların her biri birden fazla görevi gerçekleştirmektedir. Dağıtık sistemlerin avantajları düşük bir maliyetle yüksek performans, yüksek güvenilirlik ve daha fazla ölçeklenebilirliği içermesidir.

Şekil 7.5. Dağıtık sistemler.

Dinamo, Amazon tarafından geliştirilen tescilli dağıtık veri depolama sistemidir. Amazon DynamoDB, herhangi bir ölçekte tutarlı, tek basamaklı milisaniyelik gecikmelere ihtiyaç duyan uygulamalar için hızlı ve esnek bir NoSQL veritabanı hizmetidir. Dinamo esnek veri modeli ve güvenilir performansı sayesinde mobil, web, oyun, reklam teknolojisi, Nesnelerin İnterneti ve gerçek zamanlı veri işleme türü de dâhil olmak üzere diğer birçok uygulama için mükemmel bir uyum sağlar.

7. Hadoop Bileşenleri ve Mimarisi

Hadoop, bir makineden başlayarak, yüzlerce makine üzerine dağılabilen büyük veri kümelerini işlemek için kullanılan, Java ile geliştirilmiş (ücretsiz) yazılım çatısıdır. Bu uygulamalarda genellikle Web üzerinde kullanılabilen ve çoğunlukla kullanılan açık uygulama programlama ara yüzleri aracılığıyla açık veri kaynaklarından erişilen veriler kullanılır (Şekil 7.6).

Şekil 7.6. Hahoop ile büyük veri işleme.

Hadoop, Google’ın Eşleİndirge ve Google File System’inden esinlenerek geliştirilmiştir. Başlangıçta Yahoo geliştirmiş ve şu an Apache Yazılım Vakfı (Apache Software Foundation) bu sistemi bir proje olarak yönetmektedir. Apache Hadoop yazılım kütüphanesi, basit programlama modelleri kullanarak büyük veri kümelerinin bilgisayar kümeleri arasında dağıtılmasını sağlayan bir çerçevedir. Tekli sunuculardan binlerce makineye ölçeklenmek üzere tasarlanmış olup her biri yerel hesaplama ve depolama imkânı sunmaktadır. Yüksek erişilebilirlik sağlamak için donanıma güvenmek yerine, kütüphane kendisi, başarısızlıkları uygulama katmanında algılamak ve ele almak üzere tasarlanmıştır; bu nedenle, her biri başarısızlıklara eğilimli olabilen bir bilgisayar kümesinin üstünde yüksek oranda mevcut bir hizmet sunmaktadır. Apache Hadoop, anlamlı bilgiler elde etmek için analitikten yararlanmak için büyük miktarda veri kullanıldığında, büyük verileri işlemek için bir çözümdür. Apache Hadoop mimarisi, çeşitli hadoop bileşenleri ve karmaşık iş problemlerini çözmek için muazzam yetenekleri olan farklı teknolojilerin birleşmesinden oluşur.

Hadoop ekosistemindeki tüm bileşenler açık bir şekilde belirginleştirilmiştir. Hadoop mimarisinin bütünsel yapısını Hadoop Ekosistemi’ndeki; Hadoop Ortak (Hadoop Common), Hadoop YARN (Yet Another Resource Negotiator), Hadoop Dağıtılmış Dosya Sistemi (Hadoop Distributed File System-(HDFS)) ve Eşleİndirge (MapReduce) elemanları oluşturmaktadır. Bu ana bileşenlerin altında ise başka araçlar bulunmaktadır. Hadoop Ortak, tüm Java kitaplıkları, yardımcı programlar, OS (Operating System) seviyesinde soyutlama, gerekli Java dosyalarını ve Hadoop’u çalıştırmak için komut dosyası sağlarken; Hadoop YARN, iş planlaması ve küme kaynak yönetimini yapan bir çerçevedir. Hadoop mimarisindeki HDFS, uygulama verisine yüksek verimlilikte erişim sağlar ve Hadoop Eşleİndirge, büyük veri kümelerinin YARN tabanlı paralel işlenmesini sağlar.

HDFS, Google Dosya Sistemi’ne dayanmakta ve güvenilir, hataya dayanıklı küçük bilgisayar makinelerinin büyük kümeleri (binlerce bilgisayar) çalıştırılacak şekilde tasarlanmış bir dağıtılmış dosya sistemidir. Apache Hadoop için varsayılan büyük veri depolama katmanı HDFS’dir. Kullanıcılar, büyük veri kümelerini HDFS’ye dökebilecekleri için HDFS, Apache Hadoop bileşenlerinin “Gizli Sosu” olarak adlandırılır ve veriler analiz için burada hazır hâle getirilir. HDFS bileşeni, güvenilir ve hızlı veri erişimi için farklı kümeler arasında dağıtılacak veri bloğunun birkaç kopyasını oluşturur.

Eşleİndirge (Map-Reduce), Google tarafından oluşturulan ve HDFS içerisindeki gerçek verilerin verimli bir şekilde işlenmesini sağlayan Java tabanlı bir sistemdir. Eşleİndirge, büyük bir veri işleme işini küçük görevlere bölerek yapar. Eşleİndirge, sonuçları bulmak için veriyi küçültmeden önce büyük veri kümelerini paralel olarak analiz eder. Hadoop ekosisteminde, Hadoop Eşleİndirge, YARN mimarisine dayanan bir çerçevedir. YARN tabanlı Hadoop mimarisi, büyük veri kümelerinin paralel işlenmesini destekler ve Eşleİndirge, arıza ve hata yönetimini göz önüne alarak, binlerce düğümde kolayca uygulamalar yazmada bir çerçeve sağlar.

YARN olarak bilinen Hadoop 2.0, günümüzde dağıtılan büyük verilerin işlenmesi ve yönetilmesi için yaygın olarak kullanılmakta olan, Ekim 2013’te piyasaya sürülen en son teknolojidir. Hadoop YARN, Hadoop veritabanı ve HBase ile birlikte Hadoop Ekosistemi ile bağlantılı tüm teknolojilere fayda sağlayacak performans geliştirmeleri sağlamak üzere Hadoop 1.0’a bir yeniliktir. Hadoop YARN, Hadoop distribitörleri tarafından gönderilen Hadoop 2.x dağıtımlarıyla birlikte gelir. YARN, Hadoop Eşleİndirge’yi Hadoop Sistemlerinde kullanmak zorunda kalmayan iş planlaması ve kaynak yönetimi görevlerini yerine getirir. Hadoop YARN, Hadoop 1.0’ın özgün özelliklerinden farklı olarak geliştirilmiş bir mimariye sahiptir. Bu sayede sistemler yeni seviyelere kadar ölçeklenebilir ve Hadoop HDFS’deki çeşitli bileşenlere sorumluluklar açıkça atanabilmektedir [7].

8. Spark

Spark; hız, kullanım kolaylığı ve sofistike analitik üzerine kurulmuş açık kaynaklı bir büyük veri işleme çerçevesidir. Başlangıçta 2009 yılında UC Berkeley’nin AMPLab’da geliştirilmiş ve 2010 yılında açık kaynaklı bir Apache projesi olarak hazırlanmıştır. Apache Spark, piyasaya sürülmesinden bu yana geniş çaplı endüstrilerdeki işletmeler tarafından hızla benimsenmiştir. Netflix, Yahoo ve eBay gibi internet santralleri, toplu olarak 8000’den fazla düğüm kümeleri üzerinde birden fazla petabayt veri işleyen Spark’ı büyük çapta kullanıma açmıştır. Spark 250’den fazla şirketin 1000’in üzerinde katkıda bulunanların, büyük veri alanındaki en büyük açık kaynak topluluğu hâline gelmiştir.

Spark, hızlı hesaplama için tasarlanmış yıldırım hızlı küme bilgi işlem teknolojisidir. Spark, Hadoop ve Storm gibi diğer büyük verilere ve Eşleİndirge teknolojilerine kıyasla birçok avantaja sahiptir. Her şeyden önce Spark, doğada çok çeşitli veri setleri (metin verileri, grafik verileri vb.) ve veri kaynağına ulaşıp kullanmayı sağlar [8]. Spark’ın temel özelliği, bir uygulamanın işlem hızını arttıran bellek içi küme işlemidir. Spark, toplu iş uygulamaları, yinelemeli algoritmalar, etkileşimli sorgular ve akış gibi çok çeşitli iş yüklerini kapsayacak şekilde tasarlanmıştır. Spark tüm bu iş yükünü ilgili bir sistemde desteklemenin yanı sıra, ayrı araçları muhaza ederek yönetim yükünü de azaltmaktadır. Spark aşağıdaki özelliklere sahiptir [9].

1) Hız: Spark Hadoop kümesinde bir uygulamayı çalıştırmaya yardımcı olmaktadır. Spark, Hadoop kümelerindeki uygulamaları bellekte 100 kat daha hızlı ve disk üzerinde çalışırken bile 10 kat daha hızlı çalıştırmayı sağlar. Bu sayede, diske okuma/yazma işlemlerinin sayısı azalmaktadır [10].

2) Birden çok dili destekler: Spark; Java, Scala veya Python’da hızlı bir şekilde uygulamalar yazmayı sağlamaktadır. Spark 80’den fazla üst düzey operatörden oluşan dâhili bir küme ile birlikte gelir. Bu nedenle Spark, kabuk (shell) içindeki verileri sorgulamak için etkileşimli olarak kullanılabilir.

3) Gelişmiş Analitik: Spark sadece ‘Eşle’ ve ‘İndirge’yi desteklemekle kalmaz. Aynı zamanda SQL sorguları, akış verileri, makine öğrenme ve grafik algoritmalarını da desteklemektedir. Spark geliştiricileri, bu özellikleri tek başlarına kullanabilir veya tek bir veri hattı kullanım örneğinde çalıştırmak için birleştirebilirler.

9. Storm

Storm (Gerçek Zamanlı Akış İşlemci, Şekil 7.7), büyük verilerin gerçek zamanlı akışını işlemek için tasarlanmış teknolojilerdir. Apache Storm Hadoop ile gerçek zamanlı olarak verileri işleme imkânı sağlayan dağıtılmış, hataya dayanıklı ve açık kaynaklı bir sistemdir. Akış işlemcisi; finansal hizmetlerdeki algoritmik işlem (alım satım), RFID (Radyo Frekanslı Tanımlama) durum işleme uygulamaları, dolandırıcılık tespiti, süreç izleme ve telekomünikasyondaki konuma dayalı hizmetler gibi uygulamalar sağlar.

Şekil 7.7. Storm işlemleri.

10. Metaveri

Metaveri, veri dosyalarının içeriğini ve bağlamını (kaynağını) tanımlayan verilerdir. Örneğin dijital fotoğraf makinesi ile çekilen fotoğraflarda, fotoğraf dosyası içerisine kaydedilen; fotoğrafın çekildiği tarih, fotoğrafın yatay ve düşey piksel boyut, fotoğrafın yatay-düşey çözünürlüğü, fotoğrafın odak uzaklığı, fotoğraf makinesinin markası ve modeli ile fotoğrafın çekildiği yerin GPS koordinatları gibi bilgiler birer metaveridir. Veri kaynaklarındaki verilerin büyük veri teknolojileri ile ilişkilendirilmesi ve metadatanın yönetimi Şekil 7.8’de verilmiştir.

Şekil 7.8. Metadata yönetim araçları.

11. NoSQL

NoSQL, ilişkisel veritabanı yönetim sistemlerine (RDBMS) bir alternatif olarak ortaya çıkmıştır. NoSQL, internetteki artan veriyi depolayabilmek ve hızlı veri akışına sahip sistemlerin ihtiyaçlarını karşılamak için yatay ölçeklemeye başvuran sistemlerdir. Bu özellik her gün terabaytlarca veriyi işleyen Facebook, Google ve Amazon gibi büyük firmaların NoSQL veri tabanlarını tercih etmelerinde etkin rol oynamıştır. Bunlar aynı anda birden fazla sunucu ile birlikte çalışabilmekte ve çok büyük ve karmaşık veriler üzerinde işlemler yapabilmektedir. Bu yönüyle bu veri tabanları veri seli ile mücadele de kuruluşlar için önemli bir araç olarak ortaya çıkmıştır. NoSQL veri tabanları SQL dilini kullanmadıkları için bunlara “Not Only SQL” adı verilmiştir. NoSQL veritabanı yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış bütün verileri çok hızlı bir şekilde özümseyebilmekte ve yüksek performanslı sorgulama kapasitesi sunabilmektedir (Şekil 7.9). NoSQL veri tabanlarına örnek olarak; Cassandra, HBase, Oracle NoSQL, MongoDB, memsql, Neo4j ve nuodb gibi araçlar verilebilir. Bu veri tabanlarının her birinin kendine özgü mimarileri bulunmaktadır93. Örneğin Cassandra yatay ölçeklenebilme özelliği sayesinde kümeye (cluster) yeni sunucular eklenmesine olanak sağlayarak kapasitenin artmasına izin verir. Ayrıca Cassandra doğrusala yakın ölçeklendirme sayesinde yüksek performansın artmasını sağlar.

Şekil 7.9. NoSQL’in yetenekleri.

12. BigQuery

BigQuery Mayıs 2012 de Google tarafından geliştirilmiş, büyük veri kümelerinin etkileşimli analizini sağlayan bir web hizmetidir. BigQuery servisi Google’ın altyapısını kullanarak büyük veri setlerinin hızlı bir şekilde analiz edilmesini sağlar. BigQuery, iç içe geçmiş verileri depolamak için kolona yönelik bir düzen kullanan dağıtılmış ve ölçeklenebilir bir sorgu sistemi olan Dremel üzerinde kurulmuştur [11]. BigQuery’nin tercih edilmesindeki en büyük etken Dremel’i kullanmasıdır. Google tarafından gerçekleştirilen Dremel altyapısı Eşleİndirge altyapısına göre üç avantaja sahiptir.

Birincisi, Dremel kolon bazlı veri modelini kullandığı için satır bazlı veri modelini kullanan Eşleİndirge’ye göre daha hızlı çalışmaktadır. Bundan dolayı Dremel, büyük veri setleri üzerindeki analitik işlemlerde çok hızlıdır.

İkinci olarak, kolon bazlı veri modelinde isim verileri kolon bazında tutulduğu için tekrar eden veri sayesinde sıkıştırma durumunda satır bazlı veri modeline göre Dremel daha avantajlıdır. Kolon bazlı veri modellerinin dezavantajı ise az veri ile sorgulama yapıldığında veriye birden fazla okuma ile ulaşılacağından sorgu performansında bir düşüş olur. Sonuç olarak kolon bazlı veri modelinin büyük veri setlerini okurken tüm kolonlar yerine belirli kolonlardaki veriye erişilmesinin tercih edilmesi performansın artmasını sağlamaktadır.

Üçüncü olarak, ölçeklenebilirlik açısından; Dremel Google’a göre büyük ölçekli sistemler ile test edilmiş tek yöntemdir. Dremel, BigQuery servisleri ile büyük veri analizleri Google sunucuları üzerinden yapıldığı için ayrıca bir veri merkezi kurulmasına gerek olmadığı için herhangi bir sermaye ayırmaya gerek duyulmaz [12].

13. Büyük Veri Bilimi’nde Python ve R Dilinin Önemi

Python, genel amaçlı bir web programlama dili olarak popülerken, özellikle istatistiksel hesaplama için geliştirilen R, veri görselleştirme için mükemmel özellikleriyle popülerdir. Python ve R dili, veri bilimin de istatistiksel hesaplamalar için kullanılan temel araçların başında gelmektedir. Veri bilimciler arasında R veya Phyton’dan hangisinin daha iyi olduğu konusunda tartışmalar hala sürmektedir. Ancak her iki programlama dili de birbirlerinin tamamlayıcı nitelikte anahtar özelliklerine sahiptirler.

Veri bilimi; istatistik hesaplama, tahmin modelleri oluşturma, verilere erişme ve manipüle etme, açıklayıcı modeller oluşturma, veri görselleştirmeleri yapma, modelleri üretim sistemlerine entegre etme ve verilere ilişkin çok daha fazlası gibi birkaç birbiriyle ilişkili ancak farklı faaliyetlerden oluşmaktadır. Python programlama, veri bilimcilerine, tüm bu işlemleri veri üzerinde gerçekleştirmelerine yardımcı olan bir dizi kütüphane sağlamaktadır.

Python, sözdizimi basitliği ve farklı ekosistemlerde çalışabilmesinden dolayı geniş bir popülerlik kazanmıştır. Bu nedenle Python veri bilimi için genel amaçlı çok paradigmalı programlama dilidir. Python programlama, programlayıcıların veriyle oynamalarına yardımcı olabilir; ihtiyaç duydukları her şeyi veri ile çözme, veri sürtüşme, web sitesi silme, web uygulaması oluşturma, veri mühendisliği ve daha pek çok şey yapabilmektedir. Python dili, programcıların bakımı kolay, büyük ölçekli sağlam kod yazmalarını kolaylaştırır.

R dilinden farklı olarak, Python dilinde dâhili paketler bulunmamakla birlikte, veri bilimcilerinin yararlı istatistiksel ve makine öğrenme görevlerini yerine getirmek için kullanabilecekleri Scikit, Numpy, Pandas, Scipy ve Seaborn gibi kütüphaneleri desteklemektedir. Python programlama, sözde koda benzer ve İngilizce dili gibi mantıklıdır. Python da kodda kullanılan ifadeler ve karakterler matematiksel olabilir, ancak mantık koddan kolaylıkla anlaşılabilmektedir.

R programlama dili, S. adlı bir programlama dilinin bir dalı olup, R, S’nin açık kaynaklı bir uygulamasıdır. R, S-plus’dan büyük ölçüde yalnızca komut satırı biçiminde farklıdır. R, Yeni Zelanda Auckland Üniversitesi’nde profesör olan Ross Ihaka ve Robert Gentleman tarafından geliştirilmiştir. Bu profesörlerin adlarının ilk harflerinden dolayı programa R ismi verilmiştir. Programın geliştirilmesindeki temel amaç, öğrencilerin veri analizi yapıp, grafik çizebilecekleri ücretsiz bir yazılım geliştirmektir. R, öncelikle istatistikçiler tarafından benimsenmiş ve günümüzde istatistiksel hesaplama için kullanılan bir programdır.

R Dili, Linux, Windows ve Mac’te bulunan istatistiksel hesaplama ve grafik için açık kaynak programlama dili ve ortamıdır. R dili, geliştiricilerin, veri ve kodların çapraz platform dağıtımını ve testini sağlayarak işlevselliği yeni boyutlara taşımasını sağlayan yenilikçi bir paket sistemine sahiptir. R paketleri; R fonksiyonları, veriler ve kodlardan oluşmaktadır. Paketlerin bilgisayarda saklandığı dizine library denir. R dili, 27 Aralık 2016 itibariyle Veri Bilimi ve analizi için 10.000’e yakın ücretsiz paketi desteklemektedir.

Milyonlarca veri bilimcisi ve istatistikçi, istatistiksel hesaplama ve niceliksel pazarlamayla ilgili büyük sorunları ortadan kaldırmak için R programlamayı kullanıyor. Günümüzde R dilini kullanan şirketler ve kullandıkları alanlar şöyledir: LinkedIn, Twitter, Bank of America, Facebook, Yhoo, Amazon, Airbnb, Google, Microsoft, Ford and Drug Administration, Ford Motor Company, Llyod ve Uber gibi finans ve işletme analiz odaklı kuruluşlar için önemli bir araç hâline gelmiştir. Bu şirketlerden bazısının R’yi kullandıkları alanlar şöyledir: Google reklam kampanyalarında yatırım gelirlerini hesaplamada, ekonomik etkinlik tahmininde, TV reklamlarının etkinlik analizinde, Facebook statü güncellemelerinde, sosyal network grafiklerinde, Microsoft istatistiksel analiz için, Bank of America raporlamada, Ford Company veri temelli karar vermede, Llyod’s sigortalamada ve Uber istatistiksel analiz için kullanmaktadır [13].

Bölüm Özeti

Büyük verinin günümüzde bu kadar önemli ve üzerinde durulan bir konu haline gelmesinin temel nedeni; süper devletlerin, gelişmiş toplulukların, kamu kurum ve kuruluşların ve özel sektörün yaptıkları işler ve verdikleri hizmetler yanında, sosyal medya, internet ve benzeri teknolojilerin kullanımı ile yaygınlaşan uygulamaların sunucularında oluşan ve günümüze kadar değerlendirilmeyen verilerin öneminin anlaşılmasıdır. Belirtilen bu organizasyonlar büyük verinin işlenmesi ve anlamlandırılması ile kendileri için büyük fayda sağlayabilecek çıkarımlarım üretebileceklerinin farkına varmışlardır. Bunun sonucunda günümüzde bu sektöre çok büyük yatırımlar yapmaktadırlar. Bu sonuç büyük veri kavramının popülerliğinin artmasına, araştırmacıların ilgi odağı haline gelmesine vesile olmuştur. Büyük veri ile birlikte yalnızca teknoloji alanında değil, insan davranış ve düşünme analizinde, algılama biçimlerimizde, yeni araştırma yöntemlerimizde, daha pek çok farklı alanda büyük değişiklikler yaşanmaktadır.

Yeni teknolojilerin üretimi veya kullanımı konusunda başta özel sektör olmak üzere kurumlar ve kuruluşlar ile bireylerin de bu değişimlerin dışında kalamayacağı sonucuna varılmıştır. Özellikle araştırma kurumları büyük verinin etkin kullanımı konusunda öncü olmalı, üniversitelerin ve bilimle ilgili diğer kurum ve kuruluşların büyük veri ile ilgili teknoloji ve uygulama geliştirilmesine destek vermeleri gerekmektedir. Büyük veriyi kendi meslekleri doğrultunda değerlendirmek isteyenler için, gerekli eğitimi almaları konusunda gerekli ortam sağlanmalı, bu konuya eğitim programlarında yer verilmelidir. Büyük veri konusunda yurt dışı çalışmalar örnek alınıp incelenmeli, benzeri modeller yurtiçinde özellikle üniversiteler öncülüğünde gerçekleştirilmelidir. Şüphesiz bu konu birtakım yatırımları gerektirmektedir. Bu durumda malî destek devlet kurum ve kuruluşları tarafından sağlanabilir.

Kaynakça

[1] Halper, F., & Krishnan, K. TDWI big data maturity model guide interpreting your assessment score. TDWI Benchmark Guide, 2013.

[2] Ayvaz, S. & Salman, Y.B. Türkiye’de Firmaların Büyük Veri Teknolojileri Bilinirliği ve Kullanımı Analizi. Avrupa Bilim ve Teknoloji Dergisi, (18), 728-737, 2020.

[3] Ghemawat S, Gobıoff H,  Leung S.T. “The Google File System”, 19th ACM Symposium on Operating Systems Principles, Lake George, NY, October 2003.

[4] Demir T., “Bulut Bilişim (Cloud Computing) Nedir?”, 2016, http://www.timurdemir.com.tr/bulutbilisim-cloud-computing-nedir, (07.01.2016).

[5] Gürsakal N, “Büyük Veri”, Genişletilmiş 2. Baskı, Dora, Bursa, ISBN:978 605-4798-803, syf. 157, 2014.

[6] Rouse M. “Data mart (datamart)”, May 2014. (Son Erişim: 12.12.2017)

URL: http://searchsqlserver.techtarget.com/definition/data-mart

[7]  DeZyre, “Hadoop 2.0 (YARN) Framework – The Gateway to Easier Programming for Hadoop Users”, 25 November 2014, https://www.dezyre.com/article/hadoop-2-0-yarn-framework-the-gateway-to-easierprogramming-for-hadoop-users/84, (10.02.2017).

[8] Apache Spark – Tutorial, “Apache Spark – Introduction”, 2016, https://www.tutorialspoint.com/apache_spark/apache_spark_introduction.htm, (01.02.2016).

[9] Penchikala Srini, “Big Data Processing with Apache Spark – Part 1: Introduction”, Jan 30, 2015, https://www.infoq.com/articles/apache-spark-introduction, (22.10.2017).

[10] Databricks, “What is Apache Spark™?”, 2016, https://databricks.com/spark/about/, (01.02.2016).

[11] Melnik S, Gubarev A, Long J.J,  Geoffrey R, Shivakumar S, Tolton M, Vassilakis T. “Dremel: Interactive Analysis of Web-Scale Datasets”, Proceedings of the VLDB Endowment, Vol. 3, No. 1, Singapore, 2010.

[12] Derinöz C., “Google BigQuery Servisi İle Büyük Veri İşlemleri Ve Sorgu Sonuçlarının BIME İş Zekası Ürünü İle Görselleştirilip Android Tabanlı Mobil Cihazlar Üzerinden İzlenmesi”, Data & Analytics, Nisan 22, 2014.

[13] Çelik S. “Büyük Veri ve İstatistikteki Uygulamaları”, Ph.D. thesis, Social Science Institution, Econometrics, University of Uludağ, 2018.

Comments