Akış verileri nedir?
Akış verileri, düşük gecikmeli işleme hedefiyle sürekli, artımlı bir şekilde yüksek hacimde yayınlanan verilerdir. Kuruluşlar, boyutları birkaç bayttan birkaç megabayta (MB) kadar değişen mesaj, kayıt veya verileri genellikle eş zamanlı olarak yayınlayan binlerce veri kaynağına sahiptir. Akış verileri, şirketlerin gerçek zamanlı analiz yapmak ve işletmelerinin pek çok özelliği hakkında görünürlük elde etmek için kullandığı konum, olay ve sensör verilerini içerir. Örneğin şirketler, sosyal medya yayınlarındaki tıklama akışını ve müşteri gönderilerini sürekli olarak analiz ederek ve ardından gerektiğinde anında yanıt vererek, markaları ve ürünleri ile ilgili kamu duyarlılığını izleyebilir.
Akış verilerinin özellikleri nelerdir?
Bir veri akışını tanımlayan aşağıdaki gibi belirli özellikler vardır.
Kronolojik olarak önemli
Bir veri akışındaki unsurlarda zaman damgaları yer alır. Veri akışının kendisi zamana duyarlı olabilir ve belirli bir zaman aralığından sonra önemi azalır. Örneğin uygulamanız, kullanıcısının mevcut konumuna dayalı olarak restoran önerilerinde bulunabilir. Kullanıcıların coğrafi konum verilerine gerçek zamanlı olarak yanıt vermeniz gerekir, aksi takdirde veriler önemini kaybeder.
Sürekli akar
Bir veri akışının başı veya sonu yoktur. Gereken süre boyunca sürekli olarak veri toplar. Örneğin sunucu faaliyeti günlükleri, sunucu çalıştığı süre boyunca toplanır.
Benzersiz
Bir veri akışının tekrar aktarılması, zamana duyarlı olması nedeniyle zorlayıcıdır. Bu nedenle, doğru gerçek zamanlı veri işleme son derece önemlidir. Ne yazık ki, çoğu akış veri kaynağında yeniden aktarım hükümleri sınırlıdır.
Heterojen
Bazı kaynaklar; dizi, sayı, tarih ve ikili türleri içeren veri türleri ile JSON, Avro ve virgülle ayrılmış değerler (CSV) gibi yapılandırılmış biçimlerde olan birden çok biçimde verinin akışını sağlayabilir. Akış işleme sistemlerinizin bu tür veri varyasyonlarıyla başa çıkabilecek özelliklere sahip olması gerekir.
Kusurlu
Kaynaktaki geçici hatalar, yayınlanan verilerde hasarlı veya eksik unsurlar olmasına neden olabilir. Akışın sürekli olması nedeniyle, veri tutarlılığını garanti etmek zor olabilir. Akış işleme ve analiz sistemleri genellikle, bu hataları azaltmak veya en aza indirmek için veri doğrulama mantığı içerir.
Akış verileri neden önemlidir?
Geleneksel veri işleme sistemleri, merkezî bir veri ambarındaki verileri yakalar ve gruplar hâlinde veya toplu olarak işler. Bu sistemler, verileri analizden önce almak ve yapılandırmak üzere oluşturulmuştur. Bununla birlikte, son yıllarda kurumsal verilerin yapısı ve temeldeki veri işleme sistemleri önemli ölçüde değişmiştir.
Sonsuz veri hacmi
Akış kaynaklarından üretilen veri hacimleri çok büyük olabilir ve bu da gerçek zamanlı analiz için akış verilerinin bütünlüğünü (doğrulama), yapısını (gelişim) veya hızını (aktarım hızı ve gecikme) düzenlemeyi zorlaştırır.
Gelişmiş veri işleme sistemleri
Aynı zamanda bulut altyapısı, bilgi işlem kaynaklarının ölçeğinde ve kullanımında esneklik sağlamıştır. Tam olarak ihtiyaç duyduklarınızı kullanır ve yalnızca kullandığınız kadar ödersiniz. Akış verilerini depolamadan önce ve sonra gerçek zamanlı filtreleme veya toplama seçeneklerine sahip olursunuz. Akış verisi mimarisi, akış verilerini gerektiği gibi tüketmek, zenginleştirmek, analiz etmek ve kalıcı olarak depolamak için bulut teknolojilerini kullanır.
Akış verilerine ilişkin kullanım örnekleri nelerdir?
Akış işleme sistemleri, yeni ve dinamik verilerin sürekli olarak üretildiği çoğu senaryoda kullanışlıdır. Sektör segmentlerinin ve büyük veri kullanım durumlarının çoğuna uygundur.
Şirketler genelde sistem günlüklerini toplama gibi basit uygulamalar ve minimum-maksimum hesaplamalarını yuvarlama gibi temel işlemler ile başlar. Bu uygulamalar ardından daha sofistike ve neredeyse gerçek zamanlı işleme süreçleri haline gelir.
Akış verilerine ilişkin daha fazla örneği aşağıda bulabilirsiniz.
Veri analizi
Uygulamalar, veri akışlarını işleyerek raporlar oluşturur ve temel ölçümler belirli eşikleri aştığında alarm oluşturma gibi yanıt amaçlı eylemler gerçekleştirir. Daha karmaşık akış işleme uygulamaları, iş ve müşteri etkinliği verilerine makine öğrenimi algoritmaları uygulayarak daha derin öngörüler elde eder.
IoT uygulamaları
Nesnelerin İnterneti (IoT) cihazları, akış verilerine ilişkin bir başka kullanım örneğidir. Araçlardaki, endüstriyel ekipmanlardaki ve tarım makinelerindeki sensörler bir akış uygulamasına veri gönderir. Uygulama; performansı izler, olası hasarları önceden tespit eder ve ekipmanın kullanım dışı kalmasını önlemek için otomatik olarak yedek parça siparişi verir.
Finansal analizler
Finansal kuruluşlar, borsadaki gerçek zamanlı değişiklikleri izlemek, risk altındaki değeri hesaplamak ve hisse senedi fiyat hareketlerine dayalı olarak portföyleri otomatik olarak yeniden dengelemek için akış verilerini kullanır. Bir diğer finansal kullanım örneği, akış işlem verilerine karşı gerçek zamanlı çıkarım kullanarak kredi kartı işlemlerindeki dolandırıcılıkları algılamaktır.
Gerçek zamanlı öneriler
Gayrimenkul uygulamaları, tüketicilerin mobil cihazlarındaki coğrafi konum verilerini izler ve ziyaret edilecek mülklere ilişkin gerçek zamanlı öneriler sunar. Benzer şekilde reklam, gıda, perakende ve tüketici uygulamaları da müşterilere daha fazla değer sunmak için gerçek zamanlı önerileri entegre edebilir.
Hizmet garantileri
Uygulama ve ekipmanlardaki hizmet düzeylerini izlemek ve sürdürmek için veri akışı işlemeyi uygulayabilirsiniz. Örneğin bir güneş enerjisi şirketi, müşterileri için enerji üretimini belirli bir seviyede tutmak zorundadır, aksi halde ceza ödemek zorunda kalacaktır. Şirket, sahadaki tüm panelleri izleyen ve hizmeti gerçek zamanlı olarak planlayan bir veri akışı uygulamasını devreye sokar. Böylece, her bir panelin düşük verim sürelerini ve ilgili ceza ödemelerini en aza indireblir.
Medya ve oyun
Medya yayıncıları, çevrimiçi varlıklarından milyarlarca tıklama akışı kaydı yayınlar, verileri toplar ve kullanıcı demografik bilgileriyle zenginleştirir ve içerik yerleşimini optimize eder. Bu, yayıncıların hedef kitlelerine daha iyi, daha alakalı deneyimler sunmasına yardımcı olur. Benzer şekilde, çevrimiçi oyun şirketleri de oyuncu-oyun etkileşimlerini analiz etmek ve oyuncuların ilgisini çekecek dinamik deneyimler sunmak için olay akışı işlemeden yararlanır.
Risk denetimi
Canlı yayın ve sosyal medya platformları, kullanıcıların para yükleme, iade alma ve ödül gibi finansal faaliyetleri üzerindeki risk denetimi için kullanıcı davranışı verilerini gerçek zamanlı olarak yakalar. Bu platformlar, risk stratejilerini esnek şekilde ayarlamak için gerçek zamanlı panoları görüntüler.
Toplu veriler ve akış verileri arasındaki fark nedir?
Toplu işleme, bilgisayarların yüksek hacimli, tekrarlayan veri işlerini periyodik olarak tamamlamak için kullandıkları yöntemdir. Toplu işlemeyi kullanarak farklı veri kümeleri üzerinde rastgele sorgular hesaplayabilirsiniz. Bu seçenek genellikle kapsadığı tüm verilerden sayısal sonuçlar çıkarır ve büyük veri kümelerinde derin analiz yapılmasına olanak tanır. Amazon EMR gibi MapReduce tabanlı sistemler, toplu iş destekleyen platformlara örnek verilebilir.
Buna karşın akış işlemesi, sıralı verilerin eklenmesini ve ölçümlerin, raporların ve istatistik özetlerinin gelen her veri kaydına göre artımlı olarak güncellenmesini gerektirir. Bu seçenek daha çok gerçek zamanlı analiz ve yanıt işlevlerine uygundur.
Toplu işleme | Akış işlemesi |
|||
Veri kapsamı |
Veri kümesindeki verilerin tümünü veya çoğunu sorgulama veya işleme. | Çalışma aralığı içindeki verileri veya yalnızca en güncel veri kaydını sorgulama veya işleme. |
||
Veri boyutu |
Büyük veri kümeleri. |
Tek kayıtlar veya birkaç kayıttan oluşan mikro toplu işler. |
||
Performans |
|
Saniye veya milisaniye gecikme süresi içerir. |
||
Analiz |
Karmaşık analitik. | Basit yanıt işlevleri, toplamalar ve sürekli ölçümler. |
Çoğu kuruluş, iki yaklaşımın bir arada kullanıldığı bir karma model oluşturarak bir gerçek zamanlı, bir de toplu iş katmanı kullanmaktadır. Örneğin, gerçek zamanlı öngörüler elde etmek için verileri önce Amazon Kinesis gibi bir akış verisi platformunda işleyebilirsiniz. Ardından Amazon Basit Depolama Hizmeti (Amazon S3) gibi bir depoda kalıcı hale getirebilirsiniz. Veriler burada çeşitli toplu işleme kullanım örnekleri için dönüştürülebilir ve yüklenebilir.
Amazon Redshift Akış Alımı, kullanıcıların verileri Amazon S3'te hazırlamak zorunda kalmadan doğrudan Amazon Kinesis Veri Akışları'ndan almasına olanak tanır. Hizmet, Apache Kafka İçin Amazon Yönetilen Akış'taki (Amazon MSK) verileri de Amazon Redshift'e alabilir.
Akış verilerini nasıl işleyebilirsiniz?
Akış verisi mimarisi, iki ana bileşen türü içerir.
Akış üreticileri
Akış üreticileri, veri toplayan uygulama ve IoT sistemlerindeki yazılım bileşenleridir. Kayıtları; bir akış adı, veri değeri ve sıra numarası içeren akış işleyicisine aktarır. İşleyici, veri kayıtlarını akış adına göre geçici belleğe alır veya geçici olarak gruplandırır. Her bir kaydın benzersiz konumunu izlemek ve verileri kronolojik olarak işlemek için sıra numarasını kullanır.
Akış tüketicileri
Akış tüketicileri, işleyicide geçici belleğe alınmış veri akışlarını işleyen ve analiz eden yazılım bileşenleridir. Her tüketici; korelasyon, toplama, filtreleme, örnekleme veya makine öğrenimi gibi analiz özelliklerine sahiptir. Her bir akış, birden fazla tüketiciye sahip olabilir ve her tüketici, çok sayıda akışı işleyebilir. Tüketiciler ayrıca, değişen verileri işleyiciye geri göndererek diğer tüketiciler için yeni akışlar oluşturabilir.
Mimari uygulama
Akış verisi mimarisini uygulamak için depolama ve işleme katmanlarına ihtiyaç duyarsınız. Büyük veri akışlarında hızlı, uygun maliyetli ve tekrarlanabilir okuma ve yazma işlemlerinin gerçekleştirilebilmesi için depolama katmanının, kayıt sıralama ve kuvvetli tutarlılık özelliklerini desteklemesi gerekir. İşleme katmanı; depolama katmanındaki verilerin kullanılması, bu verilerle hesaplamalar yapılması ve ardından depolama katmanının ihtiyaç duyulmayan verileri silmesi konusunda bilgilendirilmesinden sorumludur.
Akış verileriyle çalışmanın zorlukları nelerdir?
Akış verisi mimarisi, verilerin yapısı ve hacmi gereği özel hususlar gerektirir.
Erişilebilirlik
Akış verisi uygulamaları; tutarlılık, düşük gecikme ve yüksek erişilebilirlik gerektirir. Tüketiciler, işlemek üzere akıştan sürekli olarak yeni veriler alır. Üreticiden kaynaklanan gecikmeler sistemi yavaşlatabilir ve hatalara neden olabilir.
Ölçeklenebilirlik
Ham veri akışları hızla ve beklenmedik bir şekilde artabilir. Örneğin, sosyal medya gönderileri büyük bir spor etkinliği sırasında ani bir artış gösterir. Dolayısıyla sistemin, yoğun yükler sırasında bile uygun veri sıralamasına, erişilebilirliğe ve tutarlılığa öncelik vermesi gerekir.
Dayanıklılık
Verilerin zamana duyarlı olması nedeniyle, akış işleme sistemi hataya dayanıklı olmak zorundadır. Aksi takdirde, bir kesinti veya arıza durumunda veriler sonsuza dek kaybedilir.
AWS, akış verisi gereksinimlerinizi nasıl destekleyebilir?
AWS, akış verileriyle çalışmak için çeşitli seçenekler sunar.
Amazon Kinesis
Kinesis, AWS'de akış verilerine yönelik bir platformdur. Akış verilerini yüklemeyi ve analiz etmeyi kolaylaştıran ve aynı zamanda özel ihtiyaçlar için özel akış verisi uygulamaları oluşturmanıza olanak tanıyan güçlü hizmetler sunar.
Kinesis üç hizmet sunar: Amazon Kinesis Data Firehose, Amazon Kinesis Veri Akışları ve Apache Kafka İçin Amazon Yönetilen Akış (Amazon MSK).
Kinesis Data Firehose
Kinesis Data Firehose, akış verilerini yakalayabilir ve otomatik olarak Amazon Basit Depolama Hizmeti (Amazon S3) ve Amazon Redshift'e yükleyebilir. Bu, halihazırda kullanmakta olduğunuz mevcut iş zekası araçları ve panolarıyla gerçek zamanlı analizler yapmanıza olanak tanır.
Kinesis Veri Akışları
Kinesis Veri Akışları, saat başına yüz binlerce kaynaktan terabaytlarca (TB) veri alabilir ve depolayabilir. Amazon Kinesis Client Library (KCL), Apache Storm ve Apache Spark Streaming gibi istediğiniz akış işleme çerçevesini kullanmanızı sağlar.
Amazon MSK
Amazon MSK, Apache Kafka kullanarak akış verileri işleyen uygulamalar oluşturmanızı ve çalıştırmanızı kolaylaştıran, tam olarak yönetilen bir hizmettir. Apache Kafka, gerçek zamanlı akış verisi işlem hatları ve uygulamaları oluşturmaya yönelik açık kaynaklı bir platformdur.
Amazon Redshift
Amazon Redshift Akış Alımı, kullanıcıların gerçek zamanlı analiz için akış verilerini birden fazla Kinesis veri akışından veri ambarlarına almasına olanak tanır. Bilindik SQL'i kullanarak zengin analizler gerçekleştirebilir ve ELT işlem hatlarını kolayca oluşturabilir ve yönetebilirsiniz. Bu ayrıca, saniyeler içinde öngörüler elde etmek için büyük hacimli akış verilerini düşük gecikme süresi ve yüksek verimle işlemenize de imkan sunar.
Amazon EC2'deki diğer akış çözümleri
Amazon Esnek İşlem Bulutu (Amazon EC2) ve Amazon EMR'ye istediğiniz akış verisi platformunu yükleyebilir, kendi akış depolama ve işleme katmanlarınızı oluşturabilirsiniz. Sonuç olarak, altyapı tedarikindeki sorunları önleyebilir, ayrıca çeşitli akış depolama ve işleme çerçevelerine erişim elde edebilirsiniz. Veri depolama katmanı seçenekleri arasında Amazon MSK ve Apache Flume yer alır. Akış işleme katmanı seçenekleri arasında Apache Spark Streaming ve Apache Storm yer alır.
Hemen ücretsiz bir AWS hesabı oluşturarak AWS'de akış verilerini kullanmaya başlayın.