「懶惰是進步的原動力」 科技的進步降低了許多事情的門檻,例如過去要會換牌檔才能開車,現在基本上就自排;過去要會打字才能用電腦傳訊息,現在除了打字還可以語音傳圖片...
續 Day 28 Acknowledgments and redelivery 老樣子,消費者任何時間都有可能故障,有可能發生 訊息代理 (message...
模型當然也有純理論的介紹方法,但實務上是很難單談模型的,今天這篇會介紹過去常用、也滿泛用的不需要使用機器模型的分析手法以及對應的商業需求。 人口描述 (http...
Transmitting Event Streams 最後一個章節是 串流處理 (stream processing),Day 23 ~ Day 27 講的 批...
介紹一下一般開發 ETL 的流程。每隻 ETL 都可以看作是獨立的程式,有獨立的開發流程。但是不同的 ETL 程式又可以使用類似的系統或架構來幫助開發和管理。...
Beyond MapReduce 儘管 MapReduce 在 2000 年以後很夯,但它畢竟是分散式系統中諸多程式框架中的其中一種,取決於數據量、數據結構和數...
前面說了那麼多理論,最後幾天來寫一下開發實務吧!今天要介紹的是怎麼收集 App 使用者行為資料。 Initiate 追蹤事件是需要成本的,這些成本包括開發、蒐集...
[Day 26] Batch Processing (3-2) - MapReduce Map-Side Joins 續 Day 25 Map-Side J...
在評估階段有幾件面向需要注意 資料產品品質 資料產品品質是需要持續監控和評估的。不同層的資料產品有不同的品質指標,基本上很難一次到位,需要持續增加觀察的指標。例...
Reduce-Side Joins and Grouping 當 MapReuce Job 執行時,它會讀取所有的輸入資料,相較於資料庫來說等於 全表掃描 (f...
上線之後才是開始。 第一坑 開發和部署環境不一致 如果一開始開發和部署沒有「喬好」環境的話,那上線的過程可是會吃一番苦頭。例如搞不清楚環境有哪些套件,只好正式環...
MapReduce and Distributed Filesystems MapReduce 有點像 昨天 講的 Unix 工具,它通常不會修改到輸入檔案,除...
過了需求訪談後,在設計和開發階段也有要注意的事項。 第一坑 資料不熟悉 當組織規模一大,設計資料產品的人可能需要從其他人的手伸認識資料,這種時候就會發生很多誤解...
Batch Processing 從去年開始寫 本系列文 開始到現在,我們著墨的都是現代系統的樣子,你發送 request 或送一個查詢,然後系統回給你 res...
最後幾天來回顧一下在過去開發資料產品時常見的坑與應對方式,不管是專案還是產品,首先當然要面對的難題就是需求訪談。 第一坑 完全沒有畫面 資料產品在需求訪談階段通...
續 Day 21 協調服務 (Coordination Services) 像 Apache ZooKeeper 類型的專案通常會被描述為:"分散...
今天來細看 DataOps 的原則,盡量會搭配過去實作的經驗一起做說明。 1. 持續地滿足客戶需求 我們最優先的任務是透過及早並持續地交付有價值的分析洞察來滿足...
續 Day 20 Fault-Tolerant Consensus 共識問題通常可以公式化成:一個或多個節點可以提議,然後共識演算法從其提議中做決定。 舉個...
分散式 transaction 和共識 (Distributed Transactions and Consensus) 共識是分散式計算中重要的基礎問題,目標...
資料可以是資產、也可以是負債。 當組織積累了太多無用、甚至錯誤的資料時,資料不但不能提供價值,反而需要花更多力氣與時間去儲存、除錯、整理它,變成了負債。 為了讓...
前面花了不少篇幅在討論資料產品的開發,接下來將花一些篇幅討論資料產品的治理方式。 在做資料產品治理時,有一個很重要的觀念「將資料當作資產」。如果前面介紹過的,資...
[Day 19] Consistency and Consensus (3-3) - Total Order Broadcast 續 Day 18 Tota...
如同前面所說,資料模型需要運用到實際環境中才會發揮價值 Initiation 延續之前輔助決策的初始條件,如果想使用資料來做自動決策,最重要的一樣是要釐清想解決...
續 Day 17 序列號排序 (Sequence Number Ordering) 使用 timestamp 是排序事件的好方法,我們曾在 2021 Day...
如同前面所說,資料模型需要運用到實際環境中才會發揮價值 Initiation 延續之前模型的初始條件,如果想使用資料來輔助決策,最重要的就是要釐清想解決的問題是...
順序這件事在 Design Data Intensive Applications 這本書中重複到提到了很多次,代表了它是重要的基礎知識,2020 年寫到現在...
續 Day 15 依賴線性一致性的場景 鎖和 leader 選舉 若系統是 single-leader,一個選 leader 的方式是使用鎖,所有節點都嘗試...
昨天提到了怎麼開發預測模型,但模型絕對不是開發完就好,後續還有非常多的事情得做。 Deployment 模型在部署時真的非常麻煩。 Build 出來的模型往往...
儘管都是模型,但預測模型目的在於預測未來,所以開發方式也會和描述型模型有所差異。 Initiation 起始階段要確認的事情跟之前差不多。 商業意圖是否明確:商...
Linearizability 線性一致性 (Linearizability) 的概念就是原來有多份副本的資料庫變成只有一份,這樣就不會有往不同副本讀取資料卻得...