2024年4月17日 星期三

Disk Array 基本常識

這是小時候剛接專案時甚麼都不懂,學校教的又不夠用,四處求師蒐集到的資料,在此分享給大家。

硬碟的成本低到一個不像話已經很久了,在講求效率的時代(老闆嚴厲地逼你復原進度),你還用磁帶慢慢倒嗎?

你的機器插了一大堆硬碟在肚子裡,每次維修廠商跟你說:安啦~這個有作 Raid N 隨便壞幾顆都沒關係,過兩個禮拜我再過去幫你處理就好,你也傻傻的等嗎?

引言
"磁碟陣列",或是 "硬碟陣列",或是 "磁盤陣列",在今天相信已經不再是那麼令人感到陌生了,因為在這幾年來網路以及伺服器之成長迅速,相隨的對資料之安全性也更加重視和要求。

固然,每日的磁帶或其他媒體方式的備份仍然重要,但對於硬碟故障後的恢復間隔,也希望在可接受範圍內,得到最大的縮短,此時最好的方案則非磁碟陣列莫屬,因為磁碟陣列的優點除了具有單一大容量的好處,另外提供了硬碟容錯功能,易於管理的優點。

我們由美國 Disk Trend 公司的資料上得到,磁碟陣列產值從 1993年的28億美元到1996年的107億美元,同時更預估每年將以12% 左右成長率在世界各地裝設,這肯定了它的重要性及必要性。

源由
1987年,有一群研究者在美國 University of California - Berkeley 發表了一篇文章:A Case for Redundant Arrays of Inexpensive Disks",而 IBM 是此一專案研究的主要協助者,這篇文章介紹了一個新的 "頭字語" - R A I D,同時並定義了五種 RAID 代號 - RAID level。

這篇文章的主要論題,是針對當時的硬碟科技在容量及速度上無法追上CPU 及記憶體的發展的現象,而提出多種改善方法,因為長期來看這種腳步的差距,會造成硬碟無法即時供應對資料的急迫需要,所以,它利用了各式技巧,將許多較小容量的硬碟以 RAID 技術,規劃為一座大的硬碟機,同時,在實際儲存資料時透過這項技術,將資料切割成多區段並分別 同時存放 於各個硬碟機上,在實際讀取資料時,也是同時自此多顆硬碟機讀出資料,由此可見,這項技術 RAID著實提高了大型硬碟的效率。

值得一提,它的觀念也提供了一套思考及開發的方向:資料容錯,藉由 "同位檢核" Parity 的概念及方法,能在該群陣列硬碟中任一顆硬碟故障時仍能讀出資料,並可於資料重建時,將原故障硬碟內之應有資料,經計算後置回替代的新硬碟中,使回復成原貌。

這篇文章也指出了許多在各不同代號型式的 RAID,其開發上的問題,大多相關於強調 "速度" 及 "成本" 上的改善,這和今日的陣列供應商所多強調的 "可靠性" Reliability 及 "資料可供應性" Data Availability似乎有些不同,當然這也是因為時代背景的差異,不過,這也使得各磁碟陣列供應商,各自有較大的發揮空間,針對容錯性、成本、及效率,有不同的處理方式及結果。

例如: 在主要系統供應商方面,如 IBM、HP、Hitachi (HDS)、Sun、... 等,都有其自己的磁碟陣列產品,以應用於其本公司各級大/中/小型系統,並擴及連接至其他廠牌系統的產品,而在專業磁碟陣列供應商中,如 EMC、LSI、Adaptec、IPL, ... 等、也各自有適用於各級系統的陣列產品,而這些主要磁碟陣列供應商的產品,則佔了陣列產品超過 80% 的總銷售值 (2001年的資料)。

2024年4月15日 星期一

進入兒童程式設計領域必讀的資訊!

為什麼要整理這篇文章,就如同我之前分享《小惡魔定期定額的基金投資策略心得筆記》的想法一樣,很多人變老手之後就不知道怎麼教新人,那是因為他們忘記懵懂無知的時候,需要的是什麼!

小惡魔我現在也是剛開始踏入這個行業,雖然說啟蒙這個想法已經超過有半年,但這將近一年的時間來,算是這兩個月才是正式的開啟這項事業,所以趁現在火熱的時候,把自己這段時間以來覺得初期重要必讀的資訊彙整起來,做為以後新人訓練第一篇要滾瓜爛熟的入門資訊。

在開始前要先潑個冷水,先讀一下這篇文章《一個程式師媽媽的嘆息-兒童程式教育之我見》,先知道為什麼會有相關行業的人有不同的意見,問題是什麼?

Q01、探討從這篇文章裡,你的解讀是什麼?

P.S. 所有的Q都先想好寫下後,再繼續往後讀,特別是別往最下面去看,因為我也記錄了我的想法在這裡,避免你先入為主,務必先自己思考再參考別人的想法。





Q01、《一個程式師媽媽的嘆息-兒童程式教育之我見》從這篇文章裡,你的解讀是什麼?

我認為這個「程式師」的媽媽在這個行業裡的專業和熱忱不夠,看到「你們用什麼語言寫機器人程式啊?」而孩子上完課的回答是:用英語啊!

我確實也很傻眼,但是反而是讓我更想改變這個亂搞的產業,一切應該讓真正懂程式設計的「工程師」和「專案經理」、「產品經理」專業的來,別搞臭這門產業,更別毒害我們的下一代!

再來是,凡事都不能以偏概全,否則會錯失許多機會,我當然同意每個人的發展是有很多面向可以選擇的,但我不會因為有人錯用了科技工具,而把科技列為毒瘤。另外,要學習一項核心能力當然也可以用很多方法,不一定要是程式設計。程式設計只是選項之一,我們都應該以啟發孩子興趣的方式為主,而不是以大人喜歡的方式引誘。

最後從結語來看。

「未蒙其利、先受其害」。兒童在使用3C、電腦時,若沒有家長在旁督導(老師都不見得顧得到),他們很快會受這虛擬世界吸引,商人餵他們什麼都直接買帳,完全沒有過濾也不需要思考。我們本來希望能培養邏輯觀念強、會思考的未來人類,結果很可能是提早毀了他們的身心。

在前面這段,我完全同意得不能再多了,不過在這段話之後,我只能說這個媽媽肯定不是很懂自己「程式師」的能力,我們「軟體工程師」的能力絕對可以改變這世界,而我們真正具有找到問題解決方法的能力,如果只是因為自己沒能力使用「程式」的專業能力去教自己的小孩,而又找不到真正有水準有良心的教育單位,就這樣決定讓自己的小孩留在原始世代,實在太可惜了!