1. MySQL
同屬最受歡迎的開源數(shù)據(jù)庫(kù)MySQL,同樣是被關(guān)注的焦點(diǎn)之一。然而對(duì)比PostgreSQL,小伙伴們的關(guān)注點(diǎn)顯然不同。有位虛心學(xué)習(xí)的網(wǎng)友@yumraj就這么問道:
我聽說過PostgreSQL,而且它在HN社區(qū)很受歡迎,但是我當(dāng)下使用的是RDS上的MySQL服務(wù)。鑒于我的項(xiàng)目還處于初期階段,所以數(shù)據(jù)量不是很大,那么遷移到PostgreSQL會(huì)不會(huì)很有意義。
對(duì)于虛心求學(xué)的同學(xué),在任何地方都很受歡迎,他很快就得到了許多資深數(shù)據(jù)庫(kù)用戶的回應(yīng),@adrianh,上文我們有提過的Django建立者之一,說道:
PostgreSQL是真正關(guān)心你的數(shù)據(jù)。在你輸入一個(gè)錯(cuò)誤的時(shí)間數(shù)據(jù)“2013-10-32”,MySQL將默默的把它更改為“0000-00-00”,而PostgreSQL則會(huì)彈出一個(gè)錯(cuò)誤。如果你的一個(gè)事務(wù)發(fā)生錯(cuò)誤,MySQL仍然讓你完成事務(wù)里的后續(xù)操作,PostgreSQL則會(huì)無(wú)效這個(gè)事務(wù),并強(qiáng)制你重新再來。如果你想給一個(gè)表格插入新的一列,而這一列有著上千萬(wàn)行,MySQL可能會(huì)讓你等待許久,而PostgreSQL只需要1秒。當(dāng)然,你可以讓MySQL更加可用,但是PostgreSQL確實(shí)更加的可靠及快速。(ps:自2001年,我就同時(shí)使用了這兩個(gè)數(shù)據(jù)庫(kù))
對(duì)比@adrianh下面兩位網(wǎng)友的說法顯然更深度了一點(diǎn),@jeffdavis:
我認(rèn)為PostgreSQL兩個(gè)最大的優(yōu)勢(shì)就是可靠性和靈活性。可靠性——更好的語(yǔ)言,更加接近于SQL,在工程質(zhì)量上更是得到眾多證明;靈活性——提供了大量的API和特性,非常有益于用戶的按需修改。
@gdulli11則做了更為具體的優(yōu)勢(shì)解決
更健壯——更少的崩潰,更少的臟數(shù)據(jù)
更多的特性——JSON數(shù)據(jù)類型、局部索引、函數(shù)/表達(dá)式索引、CTE等等