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

字號(hào):

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