Designing Data-Intensive Applications 書本 - Modes of Dataflow 筆記
今天來做 Modes of Dataflow 的筆記,重點圍繞著何謂 forward and backward compatibility,並且運用在 database,REST,RPC,Message-Passing 如何去克服向上相容及向下相容。
今天來做 Modes of Dataflow 的筆記,重點圍繞著何謂 forward and backward compatibility,並且運用在 database,REST,RPC,Message-Passing 如何去克服向上相容及向下相容。
今天要來介紹的是 Copy Operation in Postgres 的用法,此外也比較與 Insert,Batch Insert 之間的速度比較。之所以想講這個是因為最近在工作上有需要大量 insert record 的需求,那因為是使用 Postgres 的關係,所以開始研究 Copy 的使用方式,並且深入探討了一下 Copy 使用 simple query 及 extended query protocol 請求方式的差別。這邊會透過 wireshark 來看封包分析一下~
再寫 Golang 的時候常常會需要封裝 struct 的操作,而通常會針對該 struct 做一個 New func 的操作,為的就是方便 inject 相對應的 dependency 進去。那麼就會碰到需要有 option 的時候,所謂 option 的時候,是指說有些欄位的設定是可以給 client 自由設定的,此外如果 client 沒有設定,會有所謂的預設值。那麼這樣的設計在 Golang 要怎麼去實作已經不同方式的優缺點在哪,來看一下吧。
上次講了 LSM tree and SSTable 的概念,今天來記錄一下何謂 Column-Oriented Storage。
Singleton 的設計模式相信大家都耳熟能詳,我想說做個筆記記錄一下在 Golang 要如何實作。
Database 最值得學習的不外乎是 index 的設計,為什麼呢?因為有了 index 才可以加速查詢,但是內部的 index engine 是怎麼做到的?如果我們可以了解細節的差異的話,我們在設計要怎麼放 index 在什麼欄位,我覺得會更有感覺。
今天這篇文章會介紹 Postgres 內部的 index engine 是怎麼運作,不僅僅單純的 index scan,事實上 Postgres 會因應不同的情況採取不同的 scan 策略。
今天要來介紹的是 Designing Data-Intensive Applications Chapter 03 的筆記,主題是:Storage and Retrieval,這篇文章涵蓋的內容是圍繞著 index structure 的設計,最後介紹到 B-Tree 與 LSM-Tree 兩者的優缺點及應用場景。
強者我同事,最近在公司分享 zero-downtime migration 的細節,避免以後我們上了 migration 使得 Production Postgres 被 lock 住,這樣會讓我們的整個服務,會無法使用。
聽完我覺得這些細節寫成筆記記錄下來比較好,避免自己犯了相同的錯誤。因為公司用的資料庫是 Postgres,所以文章內的例子都是用 Postgres 來示範的~
今天來介紹最近公司讀書會要一起共讀的書本:Designing Data-Intensive Applications,一樣,會把每一章所做的筆記寫成 blog 出來。今天的重點主要是介紹何謂 Reliable,Scalable and Maintainable,這三個元素應該是設計每個系統都需要考量到的三件事情,一起來看看吧。
距離我上次寫文章,已經好幾個月了,最近終於忙完學校的事情,從八月開始算是要邁入社會新鮮人了,當然也希望我的寫 blog 的習慣可以一直持續下去。
今天這篇是開啟將一些我在看的實體書或是電子書的筆記記錄起來,所以之後應該會連續發好幾篇同一本書的筆記,為避免篇幅過長,我會將書本中的每一個章節都分別寫筆記記起來,會在 blog 寫出來的都是我覺得比較需要記起來的。
今天要提的是這本書:Concurrency in Go
個人認為這本書還不錯,它提供了很多寫 Concurrency 有哪一些 pattern 可以使用,之後應該也會將這些 concurrency pattern 放在我的 golib 上,這個 repo 是包含我平常寫專案常用的套件封裝,個人覺得還滿實用的,歡迎大家可以給個 star 並且發個 PR 提供更多好用的工具。
今天的主題是第一章的筆記:An Introduction to Concurrency