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ı
şöyleStream processing has been studied for over twenty years, and several advanced stream processing systems have been developed.
Neden Herkese Stream Processing Yapmıyor
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 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
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