這次 30 天技術寫作挑戰,我選擇聚焦 Real-time (Streaming) Pipeline。系列將從「知其然,更知其所以然」的角度出發,先動手寫一個簡單的 streaming framework,帶大家理解事件驅動、狀態管理與窗口計算等核心概念,再進一步探索業界主流的 Flink 與 RisingWave。希望透過「先造小輪子,再開大卡車」的方式,讓大家不只看懂技術,還能真正體會它為什麼重要。三十天不一定能成就一部史詩,但一定能收穫一套完整的 Streaming 心法。
還記得上次我們說到:「乾脆把所有邏輯都搬到 Streaming,不就更快?」 從 Lambda 到 Kappa 的轉念 Lambda 架構的雙軌制問題 在 La...
想像一下你在經營一家咖啡店,門口架著一個攝影機,源源不斷拍下每個顧客的身影。這些影像就是事件流(Stream) - 一張又一張,無限播放。 但問題是,如果你想知...
還記得我們在 Day12 說過的「狀態運算」嗎?以及之前實作的「Database Lookup Join」嗎? 今天我們要更進一步,探討真正的流處理思維:Str...
上一篇我們征服了「流與流的邂逅」- Streaming Join。今天讓我們探討另一個流處理的核心操作:Streaming GroupBy。 如果說 JOIN...
昨天我們實現了基礎的流式 GroupBy Count,今天將進一步擴展聚合功能。我們將實現完整的聚合操作(sum、avg、max、min)。 重要提醒本文所有程...
昨天我們打造了強大的 SQL 風格多聚合系統,但有個重要問題:所有聚合都是「全局的」,從程式開始到現在的累積統計。在真實業務中,我們更關心「最近的」、「定期的」...
經過前面的努力,我們打造了功能豐富的流式處理系統:過濾、聚合、窗口、join 樣樣不缺。但現在面臨一個殘酷的現實:程序一重啟,所有狀態灰飛煙滅! 今天我們要理解...
「老闆,我只會寫 SQL,這個流式處理太複雜了...」看著螢幕上的程式碼,眉頭深鎖。 剛從資料分析師轉為後端工程師,對 SELECT COUNT(*) FROM...
經過 18 天的努力,我們從零開始打造了一個功能相當完整的流式處理框架 SimpleStream: 基礎功能:Filter、GroupBy高級特性:時間窗口、狀...
真正的流式處理是什麼? 經過 19 天的探索,我們從零開始構建了 SimpleStream,深入理解了流式處理的核心概念。現在該是時候向業界標準學習,看看什麼是...