30 Mayıs 2023 Salı

Stream Processing Nedir ?

Giriş
Stream Processing deyince insanların ilk aklına gelen şey low-latency işler yani stock trading, fraud detection, ad monetization gibi şeyler

Stream Processing Yeni Bir Şey Mi?
Stream processing yeni bir şey değil. Açıklaması şöyle
Stream processing has been studied for over twenty years, and several advanced stream processing systems have been developed.
Neden Herkese Stream Processing Yapmıyor
Bazı sebepler şöyle
1. “We Don’t Need Fresh Results”
2. Stream Processing is Too Costly”
3. “Stream Processing is Challenging to Learn”
4. “Stream Processing Systems Are Tough to Maintain”
“Stream Processing is Challenging to Learn” maddesi için artık karmaşık Java kodları yazmak gerekmiyor. Stream Processing için SQL  arayüzleri geliştirilmiş bunlar kullanılıyor

“Stream Processing Systems Are Tough to Maintain” maddesi için şöyle denilebilir. Artık 
Dynamic Scaling ve Fault Recovery yöntemleri var. Her şey daha kolay. Ancak gerçekte bence Stream Processing sistemin idama ettirilmesi gerçekten sıkıntılı bir şey

Veriyi Taşımak İçin Stream Processing Kullanmak
Stream Processing ürünleri, A noktasından B'ye veri taşımak için kullanılabilir. Ancak esas kullanım amacı bu değil

Stream Processing Yapısı
Açıklaması şöyle
A stream processing application is a DAG (Direct Acyclic Graph), where each node is a processing step. You write a DAG by writing individual processing functions that perform operations when data flow passes through them. These functions can be stateless operations like transformations or filtering or stateful operations like aggregations that remember the result of the previous execution. Stateful stream processing is used to derive insights from streaming data.

Stream Processing Aşamaları
İki aşamadan oluşur

Olması İstenen
Ingest -> Enrich -> Transform -> Predict -> Act

1. Stream ingestion (ETL)
Stream ingestion ve Stream ETL eş anlamlı kullanılıyor. Klasik anlamdan bir kaynaktan okunan veririnin işlenerek, dönüştürülerek bir başka yere yazılması

2. Streaming analytics
En yeni ve taze bilginin sunulması şeklinde düşünülebilir. Süre son 30 dakika, 1 saat veya  7 gün olabilir.

Stream Processing vs Streaming Database
En büyük fark verinin nasıl saklandığı. Streaming Database yazısına taşıdım

Stream Processing vs Real Time OLAP
Stream Processing soruları şöyle
Monitor accounts that make over 100 transactions within a 10-minute period
Monitor the money spent by users in each city within a 1-hour period
Real Time OLAP  soruları şöyle
Calculate the sales volume of bottled water in the past 1 dayalo
Calculate the number of users in each city in the past 6 hours
Stream Processing ve Data Ping Pong
Şeklen şöyle
Data ping pong verinin gereksiz yere ait olduğu broker'dan dışarı çıkması işlenmesi ve tekrar broker'a geri gelmesi demek. Bunun yerine In-broker data transformations kullanılabilir. Bu iş için WebAssemby - Wasm kullanılabilir








Hiç yorum yok:

Yorum Gönder