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