2007-01-13

在 MySQL 和 PostgreSQL 間如何抉擇?

今天看到了一篇文章「MySQL vs. PostgreSQL」,
講述如何在不同的場合在 MySQL 和 PostgreSQL 之間作出正確的選擇。
實際上,對這兩個開源產品不熟悉的人,通過這篇文章,
也知道了 MySQL 和 PostgreSQL 的不同應用範圍。

1、什麼情況下選擇MySQL
首要考慮是數據庫應用的場合,如果是基於WEB的應用程序,
或對數據庫性能要求較低的應用,MySQL 以它的快速和易於 web 部署將成為首選
然而,如果你的應用程序需要依賴存儲過程和外鍵引用實現,那麼還是選擇 PostgreSQL 吧。

需要說明的是,MySQL 不是完全兼容 ANSI SQL 標準的產品
PostgreSQL 更加接近 ANSI SQL 標準,MySQL更加接近ODBC標準。
(對於需要移植到其他數據庫平台的產品來說,符合ANSI SQL標準的產品可能更好些。)

總結一下,選擇 MySQL 比選擇 PostgreSQL 好的理由:
a、MySQL相對PostgreSQL運算更快 (在 2007年已經被 PostgreSQL 8.2 版後超越)
b、數據庫設計更加簡單
c、你可以更加方便創建web站點
d、MySQL的複製技術已經完全測試通過(在 2007年已經被 PostgreSQL 8.2 版後超越)
e、你無需對MySQL數據庫做清空處理(在 2007年已經被 PostgreSQL 8.2 版後超越)

2、什麼情況下選擇PostgreSQL
很少有web開發者選擇PostgreSQL,
因為他們覺得PostgreSQL的一些附加特色功能降低了數據庫性能。
但這些特色功能正是其優於MysQL的地方所在。
比如,外鍵、觸發器、視圖。他們的存在可以在應用程序中隱藏數據庫設計的複雜程度,
從而避免了創建一些龐雜的SQL命令。
比如,很多PostgreSQL 的用戶都喜歡PostgreSQL的函數功能,而在MySQL裡面,
你可能需要用嵌套的對重、復合、複雜SQL語句來實現的功能,
PostgreSQL的 一個小小的函數就解決問題了。
同時,PostgreSQL符合ANSI SQL規範。

總結一下選擇PostgreSQL的理由:
a、可進行複雜數據庫的設計
b、可以在 Oracle、Sybase、MSSQL 之間遷移
c、複雜業務規則的設計建立
d、服務器可以進行腳本編程(Tcl、Perl、Python等)
e、支持事務
f、支持存儲過程
g、支持幾何數據類型(坐標、多邊形等)
h、使用了R樹

閱讀參考
http://builder.com.com/article.jhtml?id=u00820010815cnt01.htm
http://builder.com.com/article.jhtml?id=u00320020523dol01.htm

沒有留言:

PostgreSQL & Google-Analytics Running...

::Planet PostgreSQL::

PostgreSQL Information Page

PostgreSQL日記(日本 石井達夫先生Blog)

PostgreSQL News

黑喵的家 - 資料庫相關

Google 網上論壇
PostgreSQL 8 DBA 專業指南中文版
書籍內容討論與更多下載區(造訪此群組)
目錄下載: PostgreSQL_8 _DBA_Index_zh_TW.pdf (更新:2007-05-18)

全球訪客分佈圖(Google)

全球訪客分佈圖(Google)