2010年4月18日 星期日

為什麼要用PostgreSQL ?

這是一個最直接的問題, 為什麼我(你) 要用PostgreSQL ?

當我自己問我自己這個問題的時候, 我的答案大概如下

1. 我不想重覆又重覆地浪費自己的生命.
身為一個資訊時代的技術人員,我需要一個穩定的平台。我不想跟隨IBM, Oracle, MS的步調每兩年就來次大昇級,原本花了不少時間掌握的技能,需要再次重新學習。有時候還會來個全面大昇級,學過的全都不能用了。

2. 我需要可以商業化的資料庫核心
當我要販售我開發的系統時,我希望我使用的資料庫可以一併出貨給我的客人,客人不需要再向IBM, Oracle, MS等資料庫廠商付一筆授權費。而這授權費通常不怎麼便宜。PostgreSQL採用BSD的版權,我和客人不需要付授權費。

3. 我需要一個強大的資料庫引擎
當我開發我的程式時,我需要交易Transaction, 觸發Trigger等強力的機制,支援我的程式。沒有這些功能,可以想見,我的開發工作會難上不少。

4.我需要一個取得容易,價格低廉的資料庫引擎
最好網路可以下載,價格又很低廉。這樣我可以很容易取得。PostgreSQL可以在網路上下載到,免費,這真是太好了。

為了以上的這些因素,我決定使用PostgreSQL做為我開發系統的核心,但是我也有如下的疑慮。

1. 萬一資料庫掛掉了,誰來救我?
天有不測風雲,誰也不能保證系統一定沒問題,就算我初一十五都有拜乖乖,如果硬體出問題,或是資料庫軟體出狀況,資料庫掛掉時,誰能幫我?

後來我轉念一想,之前服務的公司,花了那麼多授權費,結果出狀況時,沒有一家派技術人員出來,還叫我去看授權的條文,每一家都不負責幫我把資料救回來,還是要靠自己用備份的資料做回復,讓我大嘆,那麼多的錢都花到狗身上去了,這些錢留下來,我都可以再建一部備份主機了。

反正都是自己要解決,我還是備份自動化,平常做做災難回復演練還比較有用。

2. PostgreSQL那裡可以找到學習的資料?
雖然我的英文不怎樣?但是看看技術文件是夠用了,市面上也有幾本中文的書,有問題上郵件列表發問題,也是可以得到解答。

對於一些免費的資料庫核心,像是IBM, Oracle, MS釋出的免費版本資料庫,我其實也不會刻意不用,但是我還是以PostgreSQL做為開發的主要測試對象,如果客人有要求,我才會去做移植的測試,畢竟付錢的是老大,客人願意付錢,我怎麼都可以配合的。

如果你像我一樣,是IT的從業人員,或者你是在學的學生,教學的老師,或者你是要賺錢的老板,我都建議您考慮PostgreSQL。

沒有留言:

張貼留言