單物件 (Single-Object) 和多物件 (Multi-Object) 操作 多物件 (Multi-Object) 操作 ACID 的原子性和隔離性能讓...
前言 1. What is Pyspark ? PySpark 顧名思義,也就是Python 的一個Spark Library,主要是利用Python語法結合S...
過了需求訪談後,在設計和開發階段也有要注意的事項。 第一坑 資料不熟悉 當組織規模一大,設計資料產品的人可能需要從其他人的手伸認識資料,這種時候就會發生很多誤解...
Request Routing partitioning 的最後一個段落想講的問題:如果我想寫入或讀取 foo 這個 key,我該連哪個節點? 我們稱這個一般化...
之前的文章我們大多都是在談系統 出錯 了怎麼辦,諸如 節點掛掉怎麼做、做副本 (replication) 時 Lag 怎麼辦 等等等等;一切就只是希望讓工程師們...
順序這件事在 Design Data Intensive Applications 這本書中重複到提到了很多次,代表了它是重要的基礎知識,2020 年寫到現在...
續 Day 21 協調服務 (Coordination Services) 像 Apache ZooKeeper 類型的專案通常會被描述為:"分散...
前幾天講了跟分散式系統有關的網路不可靠、時鐘不可靠的鬼故事,不可靠的東西這麼多,我們要如何判斷真與假呢?在分散式系統中,我們可以陳述我們對行為所做的假設(系統模...
如同前面所說,資料模型需要運用到實際環境中才會發揮價值 Initiation 延續之前輔助決策的初始條件,如果想使用資料來做自動決策,最重要的一樣是要釐清想解決...
在評估階段有幾件面向需要注意 資料產品品質 資料產品品質是需要持續監控和評估的。不同層的資料產品有不同的品質指標,基本上很難一次到位,需要持續增加觀察的指標。例...
接續 Day 10 時鐘同步和精度 (CLock Synchronization and Accuracy) 昨天講的 單調遞增時鐘 (Monotonic...
Reduce-Side Joins and Grouping 當 MapReuce Job 執行時,它會讀取所有的輸入資料,相較於資料庫來說等於 全表掃描 (f...
續 Day 20 Fault-Tolerant Consensus 共識問題通常可以公式化成:一個或多個節點可以提議,然後共識演算法從其提議中做決定。 舉個...
不可靠的網路 (Unreliable Networks) 從 2020 Day 21 - Replication 之後的文章,我們的分散式系統都是都是聚焦在 無...
剛開始學習程式的時候,對我來說最讓我感到挫折的就是環境安裝的問題。由於許多背景知識的不足,以及系統版本和程式版本非常的複雜,總是需要花上許多時間跟精力進行安裝及...
Linearizability 線性一致性 (Linearizability) 的概念就是原來有多份副本的資料庫變成只有一份,這樣就不會有往不同副本讀取資料卻得...
續 Day 28 Acknowledgments and redelivery 老樣子,消費者任何時間都有可能故障,有可能發生 訊息代理 (message...
保持同步 資料工程師修煉之路走到現在,真的沒有一個系統能同足滿足資料儲存、查詢和邏輯處理,現實世界的應用程式都是由多個不同的系統組件搭建起來;舉例來說我們會使用...
[Day 19] Consistency and Consensus (3-3) - Total Order Broadcast 續 Day 18 Tota...
Beyond MapReduce 儘管 MapReduce 在 2000 年以後很夯,但它畢竟是分散式系統中諸多程式框架中的其中一種,取決於數據量、數據結構和數...
MapReduce and Distributed Filesystems MapReduce 有點像 昨天 講的 Unix 工具,它通常不會修改到輸入檔案,除...
在對於外部的連結之後,我們再細部介紹一下 Operator 的使用,其實在 Operator 層級也可以有不同的使用方法。Operator 本身有多種種類,其作...
續 Day 12 今天的特別理論和抽象,所以懶得看就跳過吧! 系統模型和現實 (System Model and Reality) 很多演算法是被設計來解決...
在前幾天的內容當中,我們陸續介紹了 Data pipeline、Data pipeline 的種類、資料處理,資料品質等主題,相信大家對於 Data pipel...
續 Day 15 依賴線性一致性的場景 鎖和 leader 選舉 若系統是 single-leader,一個選 leader 的方式是使用鎖,所有節點都嘗試...
在上一篇當中我們常常談到資料的品質,因為在資料處理的其中一個目的就是我們要提升資料的品質。那我們要如何判斷資料的品質呢?這篇想要來聊聊資料品質,幫助大家在實作...
啊,忽然不知不覺就是第二天挑戰了,但是腦子還是一片混亂, 所以我們還是就來簡單説説作為一個資料工程師,在胡搞瞎搞馬上要入手時,第一個該開始的地方Create(至...
經過前幾天的介紹,相信大家應該都有一個基本的概念輪廓,知道如何透過 Airflow DAG 建立所需要的 Data pipeline了。今天來談談 DAG 如何...
續 Day 17 序列號排序 (Sequence Number Ordering) 使用 timestamp 是排序事件的好方法,我們曾在 2021 Day...
安裝完環境之後,想必在讀本系列文章的你,對於開發 Data pipeline 必定是躍躍欲試!如果對 Airflow 有點熟悉的朋友,這幾天可以簡單瀏覽過或是當...