MySQL和PostgreSQL兩數(shù)據(jù)庫的對決

字號:

在這篇文章中,我們選用MySQL 4.0.2-alpha與PostgreSQL 7.2進(jìn)行比較,因為MySQL 4.0.2-alpha開始支持事務(wù)的概念,因此這樣的比較對于MySQL應(yīng)該較為有利。我們這樣的比較不想僅僅成為一份性能測試報告,因為至少從我個人來看,對于一個數(shù)據(jù)庫,穩(wěn)定性和速度并不能代表一切。對于一個成熟的數(shù)據(jù)庫,穩(wěn)定性肯定會日益提供。而隨著硬件性能的飛速提高,速度也不再是什么太大的問題。  一、前言
    前一段時間,我曾經(jīng)翻譯過一篇 將你的網(wǎng)站從MySQL改為PostgreSQL ,其實當(dāng)初我更感興趣的是一個應(yīng)用程序的后臺數(shù)據(jù)庫從MySQL轉(zhuǎn)為PostgreSQL的具體操作,并沒有關(guān)心MySQL和PostgreSQL的優(yōu)劣,沒想到反應(yīng)出乎意料的大,因此我也就覺得有寫這篇文章的必要了。
    在這篇文章中,我們選用MySQL 4.0.2-alpha與PostgreSQL 7.2進(jìn)行比較,因為MySQL 4.0.2-alpha開始支持事務(wù)的概念,因此這樣的比較對于MySQL應(yīng)該較為有利。
    我們這樣的比較不想僅僅成為一份性能測試報告,因為至少從我個人來看,對于一個數(shù)據(jù)庫,穩(wěn)定性和速度并不能代表一切。對于一個成熟的數(shù)據(jù)庫,穩(wěn)定性肯定會日益提供。而隨著硬件性能的飛速提高,速度也不再是什么太大的問題。
    二、兩者的共同優(yōu)勢
    這兩個產(chǎn)品都屬于開放源碼的一員,性能和功能都在高速地提高和增強。MySQL AB的人們和PostgreSQL的開發(fā)者們都在盡可能地把各自的數(shù)據(jù)庫改得越來越好,所以對于任何商業(yè)數(shù)據(jù)庫使用其中的任何一個都不能算是錯誤的選擇。
    三、兩者不同的背景
    MySQL的背后是一個成熟的商業(yè)公司,而PostgreSQL的背后是一個龐大的志愿開發(fā)組。這使得MySQL的開發(fā)過程更為慎重,而PostgreSQL的反應(yīng)更為迅速。
    這樣的兩種背景直接導(dǎo)致了各自固有的優(yōu)點和缺點。
    四、MySQL的主要優(yōu)點
    1、首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已也宣稱速度是他們追求的主要目標(biāo)之一,基于這個原因,MySQL在以前的文檔中也曾經(jīng)說過并不準(zhǔn)備支持事務(wù)和觸發(fā)器。但是在最新的文檔中,我們看到MySQL 4.0.2-alpha已經(jīng)開始支持事務(wù),而且在MySQL的TODO中,對觸發(fā)器、約束這樣的注定會降低速度的功能也列入了日程。但是,我們?nèi)匀挥欣碛上嘈?,MySQL將有可能一直保持速度的優(yōu)勢。
    2、MySQL比PostgreSQL更流行,流行對于一個商業(yè)軟件來說,也是一個很重要的指標(biāo),流行意味著更多的用戶,意味著經(jīng)受了更多的考驗,意味著更好的商業(yè)支持、意味著更多、更完善的文檔資料。