好文分享 - 5 年以上經驗的 Tech lead 是怎麼搞砸他的面試的?
覺得我們的內容實用嗎? MyApollo 電子報讀者募集中!歡迎訂閱電子報!
今天介紹的文章標題有點聳動,不過內容卻很實用。
撇除標題提及的 Tech lead 不談,以下文章真正介紹的是做 database sharding (資料分片)之前你還有哪些選擇,並切記永遠要把 database sharding 視為最後一個不得已的選項。
最主要的原因在於做資料分片之後,系統架構、程式邏輯會變得相當複雜,例如新增一台資料庫之後,分片要怎麼重做?要怎麼從各個分片 join 資料?要怎麼從多個資料庫進行資料匯總(aggregration)等等,處理這些衍伸問題遠遠不如單純拉高資料庫硬體規格、做資料表分割(partition)、封存(archive)歷史資料等作法來的單純,因此萬不得已千萬別進行資料分片。
該文章所談到的作法不僅相當實際,也是面試時如果有被問到資料庫效能調校經常會問到的問題,相當值得一讀!
A 5 years+ tech lead said they shard a database to scale but then he failed to answer this question