🌘 進階 JSON — 過度反應
➤ 如何優化 JSON 傳輸以提升應用程式效能
https://overreacted.io/progressive-json/
本文探討了傳統 JSON 傳輸方式的效能瓶頸,並提出了一種名為「Progressive JSON」的解決方案。傳統 JSON 必須等到所有資料都傳輸完成才能解析,而 Progressive JSON 透過廣度優先的方式串流傳輸資料,允許客戶端在接收到部分資料時就開始處理,從而提高應用程式的反應速度和使用者體驗。這種方法使用 Promise 來表示尚未載入的部分,讓客戶端可以逐步處理資料,即使部分資料尚未準備好。
+ 這篇文章讓我意識到傳統 JSON 的瓶頸,Progressive JSON 的概念很有意思,感覺可以應用在需要即時更新的應用程式中。
+ 雖然 Progressive JSON 看起來很棒,但實現起來的複雜度可能很高,需要仔細考慮 Promise 的管理和錯誤處理。
#網路技術 #JSON #資料串流 #效能優化
Progressive JSON — overreacted

Why streaming isn't enough.

🌘 「串流 vs. 批次處理」的二分法是錯誤的,而且令人困惑
➤ 重新思考資料處理方式:從二分法到互補性
https://www.morling.dev/blog/streaming-vs-batch-wrong-dichotomy/
Gunnar Morling 在部落格文章中指出,將資料處理方式劃分為「串流」或「批次處理」是一種誤導,因為許多串流系統實際上也會使用批次處理來提升效能。他認為更重要的區別在於「拉取」與「推送」機制,並強調串流處理的優勢在於它能提供即時且完整的資料視圖,儘管它可能增加複雜性。作者鼓勵讀者親自嘗試串流處理,並認為其優勢一旦體驗過便難以割捨。最後,他指出拉取與推送並非互斥,而是可以互補的兩種方式。
+ 這篇文章讓我意識到我一直以來對串流處理的理解可能不夠深入,需要重新評估我的資料架構設計。
+ 作者的觀點很有意思,我同意數據的新鮮度對於某些應用場景來說至關重要,值得嘗試串流處理。
#軟體工程 #資料串流 #批次處理 #技術趨勢
"Streaming vs. Batch" Is a Wrong Dichotomy, and I Think It's Confusing

Often times, "Stream vs. Batch" is discussed as if it’s one or the other, but to me this does not make that much sense really.

🌘 效率高的資料流串流至Parquet檔案
➤ 高效串流至Parquet檔案的二次寫入解決方案
https://estuary.dev/memory-efficient-streaming-parquet/
Apache Parquet作為一種列式儲存檔案格式,由於其高效的資料壓縮和編碼方案,已成為資料儲存的標準。然而,在記憶體受限的環境中,如何有效地串流資料至Parquet檔案面臨重大挑戰。Estuary Flow通過開發一種二次寫入的解決方案,成功克服了這些挑戰,該方法利用「轉置」技術將資料從列導向轉為欄導向的結構,並在磁碟上使用臨時檔案來實現記憶體高效的資料串流。
+ 看來這種二次寫入的方法真的能夠有效地解決記憶體限制的問題,不過在實際應用中,效能是否能夠滿足大規模數據的需求呢?
+ 對於需要處理大量數據的企業來說,這樣的技術剛好解決了實時資料處理中的瓶頸,非常值得關注和應用。
#資料串流 #Parquet檔案 #效能優化
Memory Efficient Data Streaming To Parquet Files

How to efficiently stream data into Parquet files.