iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
AI & Data

「知其然,更知其所以然:什麼是 Real-time (Streaming) Pipeline?從造輪子到 Flink 與 RisingWave」 系列

這次 30 天技術寫作挑戰,我選擇聚焦 Real-time (Streaming) Pipeline。系列將從「知其然,更知其所以然」的角度出發,先動手寫一個簡單的 streaming framework,帶大家理解事件驅動、狀態管理與窗口計算等核心概念,再進一步探索業界主流的 Flink 與 RisingWave。希望透過「先造小輪子,再開大卡車」的方式,讓大家不只看懂技術,還能真正體會它為什麼重要。三十天不一定能成就一部史詩,但一定能收穫一套完整的 Streaming 心法。

鐵人鍊成 | 共 30 篇文章 | 13 人訂閱 訂閱系列文 RSS系列文
DAY 11

【知其然,更知其所以然】Day 11: 走向 Kappa 架構

還記得上次我們說到:「乾脆把所有邏輯都搬到 Streaming,不就更快?」 從 Lambda 到 Kappa 的轉念 Lambda 架構的雙軌制問題 在 La...

2025-08-31 ‧ 由 wudihero2 分享
DAY 12

【知其然,更知其所以然】Day 12: 讓流處理擁有「記憶」- 狀態運算的秘密

想像一下你在經營一家咖啡店,門口架著一個攝影機,源源不斷拍下每個顧客的身影。這些影像就是事件流(Stream) - 一張又一張,無限播放。 但問題是,如果你想知...

2025-09-01 ‧ 由 wudihero2 分享
DAY 13

【知其然,更知其所以然】Day13:流與流的邂逅 - Streaming Join 的藝術

還記得我們在 Day12 說過的「狀態運算」嗎?以及之前實作的「Database Lookup Join」嗎? 今天我們要更進一步,探討真正的流處理思維:Str...

2025-09-02 ‧ 由 wudihero2 分享
DAY 14

【知其然,更知其所以然】Day14:Streaming GroupBy

上一篇我們征服了「流與流的邂逅」- Streaming Join。今天讓我們探討另一個流處理的核心操作:Streaming GroupBy。 如果說 JOIN...

2025-09-03 ‧ 由 wudihero2 分享
DAY 15

【知其然,更知其所以然】Day15:GroupBy 的進化 - 多種聚合器

昨天我們實現了基礎的流式 GroupBy Count,今天將進一步擴展聚合功能。我們將實現完整的聚合操作(sum、avg、max、min)。 重要提醒本文所有程...

2025-09-04 ‧ 由 wudihero2 分享
DAY 16

【知其然,更知其所以然】Day16: 固定時間窗口讓聚合更實用

昨天我們打造了強大的 SQL 風格多聚合系統,但有個重要問題:所有聚合都是「全局的」,從程式開始到現在的累積統計。在真實業務中,我們更關心「最近的」、「定期的」...

2025-09-05 ‧ 由 wudihero2 分享
DAY 17

【知其然,更知其所以然】Day17:狀態的生死之謎 - 持久化

經過前面的努力,我們打造了功能豐富的流式處理系統:過濾、聚合、窗口、join 樣樣不缺。但現在面臨一個殘酷的現實:程序一重啟,所有狀態灰飛煙滅! 今天我們要理解...

2025-09-06 ‧ 由 wudihero2 分享
DAY 18

【知其然,更知其所以然】Day18:從 DataFrame 到支援 SQL 語法

「老闆,我只會寫 SQL,這個流式處理太複雜了...」看著螢幕上的程式碼,眉頭深鎖。 剛從資料分析師轉為後端工程師,對 SELECT COUNT(*) FROM...

2025-09-07 ‧ 由 wudihero2 分享
DAY 19

【知其然,更知其所以然】Day19:現實的考量 - 擁抱開源生態

經過 18 天的努力,我們從零開始打造了一個功能相當完整的流式處理框架 SimpleStream: 基礎功能:Filter、GroupBy高級特性:時間窗口、狀...

2025-09-08 ‧ 由 wudihero2 分享
DAY 20

【知其然,更知其所以然】Day20:Flink 的崛起 - True Streaming Processing

真正的流式處理是什麼? 經過 19 天的探索,我們從零開始構建了 SimpleStream,深入理解了流式處理的核心概念。現在該是時候向業界標準學習,看看什麼是...

2025-09-09 ‧ 由 wudihero2 分享