İşinizi Kolaylaştıracak, Popüler Veri Toplama Araçları Nelerdir?

Trendify Analytics
TrendifyAnalytics
Published in
6 min readFeb 15, 2022

Büyük veri, hem yapılandırılmış hem de yapılandırılmamış büyük boyutlu ve yönetilmesi zor veri hacimlerini tanımlayan bir terimdir. Büyük verilerden yapılan analizler ile kararları iyileştiren ve stratejik iş hamleleri yapmak için güven veren içgörüler elde edilebilir. Büyük veriden içgörü elde edeceğimiz bir analiz için bir dizi araç ve teknik gereklidir.

Büyük Veri Araçlarını;

  • Veri Alma Araçları,
  • Veri Depolama Araçları,
  • Veri İşleme Araçları ve
  • Veri Görselleştirme araçları altında 4 başlıkta inceleyeceğiz.

Jeff Duntemann’ın dediği gibi; “İyi bir araç, çalışma şeklinizi geliştirir. Harika bir araç, düşünme şeklinizi geliştirir.”

Gelin birlikte düşünme şeklinizi geliştirebilecek büyük veri araçlarına bakalım.

Veri Alma Araçları

Veri alma işlemi, verilerin bir veya daha fazla kaynaktan depolanabileceği ve daha fazla analiz edilebileceği bir hedefe taşındığı bir süreçtir. Veriler farklı biçimlerde olabilir ve RDBMS, diğer veritabanları türleri, S3 klasörleri, CSV’ler veya akışlar dahil olmak üzere çeşitli kaynaklardan gelebilir. Veriler farklı biçimlerde geliyorsa diğer biçimlerde gelen verilerle birlikte analiz etmenizi sağlayacak şekilde temizlenip dönüştürülmesi gerekir. Bu aşamada kullanabileceğiniz, en popüler Büyük Veri Alma Araçlarını aşağıda sizler için anlattık.

1-Apache NiFi ( Açık Kaynak)

Apache NiFi, veri alımını daha hızlı gerçekleştirmek için bir entegrasyon ve otomasyon aracıdır. Sistemler arasındaki veri akışını otomatikleştirmek için oluşturulan, veri yönlendirme ve dönüştürmeyi destekleyen, verilerin dağıtılması ve işlenmesi için oluşturulan açık bir kaynaklı bir araçtır.

Avantajları:

  • Apache NiFi; tasarım, geri bildirim, izleme ve kontrol arasında kusursuz bir deneyim sağlayan web tabanlı kullanıcı arabirimidir. Akışın başından sonuna kadar verilerin izlenmesine yardımcı olan bir veri kaynağı modülü sunar.
  • Çok yapılandırılabilir bir araçtır. Kullanıcılara daha iyi teslimat, yüksek verim, geri tepme, dinamik önceliklendirme ile yardımcı olur.
  • Ayrıca SSH, HTTPS, SSL ve daha birçok protokollerin güvenliğinin sağlanmasına da yardımcı olur.
  • SFTP kullanımıyla uzak makinelerden veri alınmasını sağlayarak veri kökenini garanti eder.
  • Kullanıcı ve süreç grubu düzeyinde ve diğer modüllerde güvenlik politikaları sunar.
  • Apache NiFi’nin kullanıcı arayüzü HTTPS üzerinde de çalışabildiğinden, NiFi ile kullanıcılar arasındaki güvenli etkileşimi sağlar.
  • Neredeyse 188 işlemciyi destekleyebilir ve bununla kullanıcı, farklı veri sistemlerinde kullanılabilecek eklentiler oluşturabilir ve özelleştirebilir.

Dezavantajları:

  • Birincil düğüm anahtarı durumunda durum kalıcılığı sorunları vardır. Bu, işlemcilerin kaynak sağlama sistemlerinden veri getiremediği sorunlara neden olabilir.
  • Bir kullanıcı değişiklik yaptığında ve düğümün NiFi ile bağlantısı kesildiğinde, .xml akışı geçersiz hale gelebilir. Düğüm daha sonra kullanıcı veya yönetici tarafından manuel olarak bağlanmalıdır.

2-Spark Streaming (Açık Kaynak)

Spark Streaming, veri mühendislerinin Kafka, Flume ve Amazon Kinesis gibi bir çok çeşitli kaynaktan gelen gerçek zamanlı verileri işlemesine olanak tanıyan, temel Spark API’sının bir uzantısıdır. Burada işlenen veriler, dosya sistemlerine, veritabanlarına ve canlı gösterge tablolarına aktarılabilir. (Veri işleme ile ilgili blog yazımızda Spark ile ilgili detaylı bilgi verilecektir.)

Avantajları:

  • Spark, gelişmiş işleme kitaplıkları ile yerel entegrasyona sahiptir.
  • Akış verilerinin statik veri kümeleri ve etkileşimli sorgularla birleştirilmesine olanak sağlar.
  • Spark, Hive ve Pig dahil olmak üzere Hadoop ekosistemindeki diğer araçlarla birlikte çalışabilir.
  • Makine Öğrenimi Algoritmaları desteğine sahiptir.
  • Spark, hem toplu hem de gerçek zamanlı veri işlemeyi destekler.
  • Yüksek verime sahiptir, alt gecikmenin gerekli olmadığı birçok kullanım durumu için iyidir.
  • Spark kullanan büyük bir topluluk olduğundan sürekli gelişmekte olan bir araç olarakta nitelendirebiliriz.

Dezavantajları:

  • Spark, düşük gecikme gereksinimleri için çok uygun değildir.
  • Ayarlanması gereken çok fazla parametre var, hepsini doğru yapmak zor olabilir.

3-Apache Kafka (Açık Kaynak)

Apache Kafka, 2011 yılında LinkedIn tarafından oluşturulan açık kaynaklı ve sistemlere yüksek verim sağlayan dağıtılmış bir olay işleme veya akış platformudur. Günde trilyonlarca olayı idare edecek kadar verimlidir.

Apache Kafka, oldukça ölçeklenebilir ve aynı zamanda büyük ölçekte hata toleransı sağlayan bir akış platformudur. Akış süreci, mesajlaşma sistemlerine benzer şekilde kayıt akışlarının yayınlanmasını ve bunlara abone olunmasını, bu kayıtların dayanıklı bir şekilde saklanmasını ve ardından bu kayıtların işlenmesini içerir. Bu kayıtlar, konu adı verilen gruplarda saklanır.

Avantajları:

  • Apache Kafka, 10 milisaniyeye kadar düşük gecikme değeri sunar.
  • Düşük gecikme süresi nedeniyle Kafka, daha fazla sayıda yüksek hacimli ve yüksek hızlı iletiyi işleyebilir. Kafka bir saniyede binlerce mesajı destekleyebilir.
  • Dayanıklılığı arttırmak için verilerin veya mesajların bir disk üzerinden kümede daha fazla kalmasını sağlayan çoğaltma özelliğini sunar.
  • Apache Kafka, onu ölçeklenebilir kılan dağıtılmış bir mimari içerir. Bölümlendirme ve çoğaltma, dağıtılmış sistem altındaki iki yetenektir.
  • Gerçek zamanlı veri hattını işleyebilir.

Dezavantajları:

  • Apache Kafka, yönetim araçlarının yanı sıra eksiksiz bir izleme seti içermez. Bu nedenle, yeni girişimler veya girişimler Kafka ile çalışmaktan çekinebilirler
  • Mesajları tüketiciye iletmek için sistem çağrılarını kullanır. Mesajın ayarlanması gerektiğinde, Kafka’nın performansı önemli ölçüde azalır, fakat mesajın değişmesi gerekmiyorsa iyi çalışır.
  • Bazı kullanım durumları için noktadan noktaya kuyruklar, istek/yanıt vb. gibi belirli mesaj paradigmaları bulunmuyor.

4-Amazon Kinesis (Ticari)

Kinesis, yayınla-abone ol ilkesine dayalı bir etkinlik akış platformudur. Amazon Web Services tarafından yönetilen bir hizmet olarak sunulur. Kinesis, Kinesis Data Streams, Kinesis Data Firehose, Kinesis Video Streams ve Kinesis Data Analytics olmak üzere dört farklı hizmet için kullanılan genel bir terimdir. Her hizmet belirli bir amaca hizmet ederken, diğer hizmetler için bir temel sağladığı için bu yazımızda yalnızca Kinesis Veri Akışlarını dikkate alacağız.

Kinesis, veri kayıtlarını parçalar halinde düzenler. Kafka gibi Kinesis de kullanıcılarına olayları üretmek ve bir parçada tüketmek için API’ler sağlar. Bu API’ler, birden çok programlama dilinde mevcuttur ve AWS üzerindeki yazılım geliştirme kitleri ile entegredir.

Avantajları:

  • Kinesis, bir şeyleri yakalama konusunda oldukça iyi bir yola sahiptir.
  • İhtiyaç duyacağınız her şey barındırılıyor ve oldukça basit bir platform.
  • Bir şeyleri yayınlayıp okuyabileceğiniz bir API olması ve depolama şeklinden dolayı yüksek kullanılabilirlik ve dayanıklılığa sahiptir.
  • Sistem yönetiminin çoğunu geliştiriciler değil AWS yönetir.
  • Veriler, dayanıklılık ve esneklik sağlayan Kinesis veri akışlarına aktarılır.
  • Bir kaydın akışa yerleştirildiği zaman ile geri alınabileceği zaman arasındaki gecikme genellikle 1 saniyeden azdır.
  • Çoklu Kinesis Veri Akışları uygulamaları, bir akıştan veri tüketebilir, böylece arşivleme ve işleme gibi birden çok eylem aynı anda ve bağımsız olarak gerçekleşebilir.

Dezavantajları:

  • Kinesis’in sağladığı tüm avantajlar için, onunla çalışırken büyük bir zorlukla karşılaşacaksınız: gözlemlenebilirlik! Bunun nedeni, birçok AWS bileşeninde olduğu gibi çok karmaşık bir sistem oluşturabilmenizdir. Örneğin, Amazon Redshift, Amazon S3 veya Amazon DynamoDB gibi çeşitli AWS veri depolama sistemlerine bağlanan Kinesis akışınız için üretici ve tüketici olarak hareket etmek üzere Lambda işlevlerini kullanabilirsiniz. Bunu yönetmek çok zor olabilir çünkü izleme hataları ve bağımlılıklar sunucusuz çağrıların tümü tarafından maskelenebilir.

5-Azure Data Factory (Ticari)

Azure Data Factory (ADF), şirket içi veya herhangi bir bulut sağlayıcısı için veri taşıma çözümlerinizi tasarlamanıza yardımcı olur. Azure ekosistemini kullanarak Azure Data Factory’yi yönetirken Kurumsal veri hareketlerini ve dönüşümlerini gerçekleştirmenize olanak tanıyan sunucusuz bir platformdur.

ADF’nin bir araç olarak evrimi son birkaç yılda oldukça hayran edici oldu diyebiliriz. Ürün Ekibi yalnızca birkaç yıl içerisinde yüksek kaliteli bir düzenleme ve veri taşıma aracı sunmayı başarmıştır. ADF, Kurumsal veri analitiği veri hareketlerini gerçekleştirebilir aynı zamanda büyük veya küçük hacimli verilerle ilgilenebilir.

Avantajları:

  • Microsoft, ADF içinde her ay yeni özellikler yayınlamakta ve aynı şekilde, önceki özellikler için aylık güncellemeler yapmaktadır.
  • Dokümantasyon, son birkaç yılda büyük ölçüde iyileşmiştir. Microsoft dokümanları ve topluluk tarafından sağlanan ek bilgiler aracılığıyla birçok kaynak mevcuttur.
  • Her ne kadar gereksinimlerinize göre değişiklik gösterecek bir etken olsa da, en iyi uygulamaları uyguluyorsanız ve Azure Data Factory’nin tüm ayrıntılarını biliyorsanız, uygun maliyetli bir çözüm elde edersiniz. Ayrıca, ek bir aylık veya yıllık lisans veya ön ödeme için herhangi bir gereklilik yoktur. Sadece kullandığınız kadar ödersiniz.
  • Azure Monitör Uyarıları ve Log Analytics ile tam entegredir, ekstra uyarı çerçeveleri oluşturmaya gerek yoktur.
  • Etkinliklerin paralel olarak yürütülmesi ADF’nin temel özelliklerinden birisidir. Dolayısıyla, aynı anda birçok veri varlığı için aktarım yapmaya çalışıyorsanız, büyük çerçeveler oluşturmadan bunu kolayca başarabilirsiniz.

Dezavantajları:

  • Platformu yönetmek için rol sayısıyla ilgili sınırlamaların eksikliği.
  • Gelişmiş yapılandırma ve geliştirme seçeneklerinin olmaması. Bu sınırlamalar sonucu gelişmiş ve karmaşık senaryolarda bazı problemler ortaya çıkabilir.
  • Karmaşık fiyatlandırma modeli. ADF, devam eden bir maliyeti planlamak ve bir bütçe ayırmak için Azure’deki en zor hizmetlerden biridir.

Sonuç

Yukarıda, en çok tercih edilen ve Trendify’ın bakış açısından en önemli araçlardan ve bu araçların artılarından ve eksilerinden bahsettik. Gereksinimlerinize göre bu araçlardan birisi ile veri alma, veri aktarma gibi işlerinizi gerçekleştirebilirsiniz.

İster açık kaynaklı bir araç ile daha düşük maliyet ile çalışabilir ya da ticari bir araç ile bakım ve kontrol yüklerinden kurtulabilirsiniz. Bu araçlara ek olarak yukarıda bahsetmediğimiz fakat kullanabileceğiniz büyük veri araçlarından bazıları ise şu şekildedir: Apache Flume , Apache Sqoop, Apache Flink, RabbitMQ gibi açık kaynaklı veya GCP Pub/Sub , Azure Event Hubs, IBM MQ gibi ticari araçları da tercih edebilirsiniz.

Daha fazla bilgi için Trendify çözümlerimizi keşfedebilir ve bizimle işletişime geçebilirsiniz.

Yazar: Berkay Çiloğlu

Yayınlanma Tarihi: 15.02.2022

--

--