關於Justgogo
搜尋此網誌
文章分類
Facebook Me!
Twitter Me!
我的連結
Twitter Updates
追蹤者
wibiya widget
2010年5月13日 星期四
比較一下各種資料庫的優缺點
標題:比較一下各種資料庫的優缺點
作者:chow0615(ㄚ傑)
DBF格式資料庫(Dbase,Clipper,Visual Foxpro等)
優點:不用錢,簡單易學,只要上過資料庫處理懂一些行與列處理大概就會建立資料庫,可以處理中量資料
缺點:資料太開放,沒有安全性,檔案容易損毀.需要定時間作處理(reindex,pack)
ACCESS(MDB)格式資料庫
優點:不用錢,簡單易學,只要上過資料庫處理懂一些行與列處理大概就會建立資料庫
缺點:資料太開放,沒有安全性,處理資料量大時速度會變慢,需要定時間做資料修復及壓縮,否則資料量會膨脹
MSSQL關聯式資料庫
優點:學習適中,需要一段時間訓練包括資料庫維護,表格建立,View的運用,SQL命令的練習等工作幾乎都可以用圖形視覺化處理
缺點:需要費用,因人數不同需要費用不同
Oracle關聯式資料庫
優點:學習度:難,需要常時間訓練包括資料庫維護,表格建立,View的運用,SQL命令的練習等(較少圖形視覺化處理工作,均需要被相關指令命令)
缺點:需要費用,因人數不同需要費用不同
MySQL關聯式資料庫
優點:不用錢,學習適中,需要一段時間訓練包括資料庫維護,表格建立,View的運用,SQL命令的練習等工作幾乎都可以用圖形視覺化處理
缺點:發現重大核心問題,無法找單位立即處理
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
作者:cnliou(cnliou)
搞軟體的人和政客完全不同,前者說話通常有根據。所以,補充一下:
根據「我們10年的實際使用經驗」,而不是根據「某專家說、雜誌說、廣告招牌寫」,我們計劃繼續擁抱PostgreSQL,並強力推荐資訊界採用PostgreSQL。其理由如下:
☆ PostgreSQL非常、非常穩定
除了我自己曾經因為不當修改system tables而造成 PostgreSQL不穩定以外,我未曾在PostgreSQL的mailing list見過有任何人抱怨:「PostgreSQL毀了我的資料」。
「穩定性」這個東西的重要性為何?
我們的看法是:一旦客戶的資料因為資料庫(Database Management System,DBMS)的bug而毀損或發生不一致,那麼,負責人向老闆或客戶道歉一百次也沒用!
☆ PostgreSQL使ERP系統的資料十分牢靠
只要資料庫設計良好,PostgreSQL的constraint和transaction能力可以保證資料的一致。
「資料不一致」的意義?
簡易舉一個絕對不可以發生的例子:存摺上面打印100 元餘額,提款機卻顯示剩下10元。
☆ PostgreSQL 的擴張能力,首屈一指
我們在市面上看不到任何開放或專屬的DBMS,能夠像 PostgreSQL一樣,提供這麼多(而且還繼續在增加中)的server語言:C,embeded C,C++,Java,PL/PGSQL,
SQL,TK,PHP,perl .......
SQL,TK,PHP,perl .......
☆ PostgreSQL 非常適合做為超大型 ERP 系統的資料核心
Thin client ERP這種系統,能真正考驗出DBMS的「能」與「不能」。
要製作出thin client ERP,有一項「非有不可」的要求:DBMS必須提供trigger以及stored procedure能力。
即使不談thin client系統,任何交易(transaction)密集的系統,如果無法採用DBMS的trigger以及stored procedure能力,那麼,這個用戶只剩下2個選擇:
(1)限制使用人數在10人以內
(2)不斷地投資硬體設備--也許必須使用 mainframe。
PostgreSQL在多年前已經有此能力。
☆ PostgreSQL的效率高
雖然「速度」不能代表一切,但是下面的測試結果寫道:「PostgreSQL比某大牌的專屬DBMS快」:http://research.rem.nl/performance.html
☆ PostgreSQL的單機馬力不足?
如果預算夠,可以試試超級運算:http://www.linuxlabs.com/clusgres.html
☆ PostgreSQL和m*SQL比
有人說:「m*SQL比PostgreSQL快」。
我們不知道此論之根據為何,但是我個人猜想:「即使其數據真實反應情況,因為m*SQL沒有transaction/trigger/constraint checking,一個只能執行簡單工作的陽春系統當然快」。
就像機車,在市區它絕對比公車快。因為公車必須服務客人上下車,負擔重。
用另一個角度看,機車只能搭載2人,個人用來兜風的確很方便,但是實在不適合拿來做為大眾運輸這種對「品質」、對「安全」有最低要求的營利工具。
舉一個技術性的例子!我們使用大量的subquery。因為m*SQL沒有subquery這種在ERP系統中「非有不可」的能力,m*SQL 必須透過外掛程式語言(例如:PHP)才能完成PostgreSQL的一句SQL結果。
在這種情況下,無論再怎麼調整m*SQL、程式設計師再怎麼厲害,其耗用時間永遠是PostgreSQL的數十或百倍以上。
這樣說比較快:m*SQL用在網站這種簡單應用也許還可以,如果用來開發ERP系統,ERP供應商和客戶恐怕要雙雙受到嚴重傷害了。好消息是,沒聽過有人用m*SQL成功開發出ERP系統,所以沒有人受過這種傷害!
m*SQL在ERP這塊領域,沒有它的嗆聲空間!不值一提!
☆ PostgreSQL的服務一流
我們在PostgreSQL的mailing list提問問題,如果時間是在歐美的白天,幾乎30分鐘內可以得到回答。而回答問題的人,正是PostgreSQL的設計者。
如果確定是PostgreSQL的bug,一定會有人承諾列入修正工作清單中。
PostgreSQL的用戶如果願意付費,應該會有公司願意提供更快速的服務(可以去http://www.postgresql.org/ 找找看)。
我們不知道Ora*le 有沒有這麼好的服務。
總結:
程式設計師們,不管是計劃搞MRP或APS,或是和上下游產業發展CRM或supply chain,或是蒐集CNC工具機的線上生產數據...,他們要耽心的是自己的能力,PostgreSQL不會是他們的限制。我們相信:到現在還有很多網站「專家」仍然在努力縫補Windowz和IIS,對Linux和Apache始終採取「不聞不問」的堅決態度。
關於PostgreSQL的新聞:
1. 日本電信龍頭NTT導入PostgreSQL削減成本達30億元
2. PostgreSQL日本NTT協助取得ISO/IEC 15408安全認證
3. 財政部電子發票整合服務平台採用PostgreSQL
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
訂閱:
張貼留言 (Atom)

0 意見:
張貼留言