用 unix 哲學 (unix philosophy) 看待資料庫這回事



簡述:使用 Kafka 作為傳遞資料的水管(pipe)
文章中先引述了,工程師們使用很久的 unix 工具以及法則來說明背後的強大之處,例如:awk, sort, grep,uniq ,都希望只做一件事情,不讓事情太過龐大,並且使用 command 來做例子,awk | sort > file,見文中圖片,這是他的組合性,工具本身不知道資料哪裡來,也不管資料往哪裡走,處理完也不會產生其他問題,只要每個工具只做一件事情,而且使用 |(pipe) 來接在一起,就可以組合出強大的功用。
這樣的概念與這一兩年風潮流行的 pure function 不是相同嗎?
1. 不產生 side effect
2. 每次輸入相同,會得到相同輸出
配合其組合性就變成其他的 operator ,這也是 Rx 家族在說的事情,希望至此你已經懂這邊的 philosophy 了。
=====
回到主題,用這件事情來看待資料庫時呢?可以明顯發現到資料庫本身做了許許多多的事情,備份/搜尋/預測/分析等等事情,philosophy 已經在那邊了,技術到這邊了,我們常使用的資料庫怎麼還沒變化呢,文章開始分析資料庫問題所在,並且指出現有的工具早已存在,缺的是那個 pipe ,而目前最接近的工具就是 Apache Kafka 。

推薦影片:https://www.youtube.com/watch?v=Gqdr0DiNh5g

留言

這個網誌中的熱門文章

『如何說出好故事|故事架構介紹|輕鬆做出大師級故事架構』

Raspberry pi 樹莓派系列 :安裝瀏覽器

『目標管理|SMART原則|最有效的目標管理原則』