自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PSQL VS MySQL 如何選擇開源數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)
PSQL和MySQL都是比較常用的開源數(shù)據(jù)庫(kù),PSQL和MySQL也都有很多的支持者,二者誰(shuí)是更勝一籌,在選擇開源數(shù)據(jù)庫(kù)時(shí)該做出怎樣的選擇,本篇文章將為您解答這些疑問。

導(dǎo)讀:一談到PostgreSQLMySQL的比較,總會(huì)讓雙方支持陣營(yíng)騷動(dòng)和興奮,它們都是技術(shù)過硬,安裝基礎(chǔ)很好的開源數(shù)據(jù)庫(kù),在現(xiàn)實(shí)中工作中,要選擇一個(gè)占絕對(duì)優(yōu)勢(shì)的開源數(shù)據(jù)庫(kù)基本上是不靠譜的,不管是PostgreSQL還是MySQL,都不能聲稱自己比對(duì)方更優(yōu)秀,對(duì)用戶來說,只有合適的,沒有最優(yōu)秀的。所以在選擇開源數(shù)據(jù)庫(kù)時(shí)一定要挑選一款適合自己的,滿足自己需求的開源數(shù)據(jù)庫(kù),而不要一味是去追求別人說好的開源數(shù)據(jù)庫(kù)。

  當(dāng)人們了解了每一種產(chǎn)品的優(yōu)勢(shì)后,要做出斬釘截鐵的選擇就很容易了,為了準(zhǔn)確評(píng)價(jià)PostgreSQL和MySQL各自的優(yōu)勢(shì),我們從雙方的歷史談起,然后介紹一下它們的功能和性能特點(diǎn),最后介紹一個(gè)成功的企業(yè)級(jí)數(shù)據(jù)庫(kù)部署都有哪些要求。

歷史對(duì)比

  PostgreSQL社區(qū)是同類數(shù)據(jù)庫(kù)歷史最悠久,規(guī)模最大,發(fā)展最快的社區(qū),PostgreSQL起源于1985年加州伯克利大學(xué)的Ingress項(xiàng)目,在學(xué)術(shù)界流行多年后,PostgreSQL項(xiàng)目開源了,社區(qū)開始蓬勃發(fā)展,截至目前,有超過1000名貢獻(xiàn)者和3萬名成員。

  大社區(qū)的關(guān)鍵優(yōu)勢(shì)在于用戶和開發(fā)者之間的互動(dòng)比較頻繁,用戶甚至可以直接參與到新功能的設(shè)計(jì)中,這種多元化的社區(qū)模式也是其它開源社區(qū)爭(zhēng)相模仿的模式。

  MySQL社區(qū)最初起源于商業(yè)世界,MySQL于1994年誕生在瑞典,作為網(wǎng)站背后的高速數(shù)據(jù)庫(kù),在MySQL AB公司控制幾年后,MySQL也選擇了開源,有商業(yè)公司的支持使得MySQL很快便成為世界上廣泛使用的數(shù)據(jù)庫(kù)之一,這也是Sun公司2008年花10億美元重金收購(gòu)MySQL AB的原因,因?yàn)镸ySQL的流行,也成為歐盟調(diào)查Oracle收購(gòu)Sun一案的主要因素。

PostgreSQL特性和功能

  通過數(shù)十年的發(fā)展,PostgreSQL被譽(yù)為市場(chǎng)上最先進(jìn)的開源數(shù)據(jù)庫(kù),作為一個(gè)功能全面的開源關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),PostgreSQL在支持高事務(wù),關(guān)鍵任務(wù)應(yīng)用方面提供了許多特性。

  PostgreSQL最核心的競(jìng)爭(zhēng)力是對(duì)它保管的數(shù)據(jù)的安全保護(hù)能力,通過使用企業(yè)身份驗(yàn)證機(jī)制,如LDAP或Kerberos控制數(shù)據(jù)庫(kù)的連接訪問,一單通過驗(yàn)證,所有到數(shù)據(jù)庫(kù)的通信都可以走SSL連接,提供了高度安全的保護(hù)。

  添加或修改數(shù)據(jù)時(shí),PostgreSQL強(qiáng)制執(zhí)行用戶定義的大量約束,確保數(shù)據(jù)質(zhì)量符合業(yè)務(wù)規(guī)則限制,從簡(jiǎn)單的范圍檢查到復(fù)雜的外鍵檢查,一旦數(shù)據(jù)存儲(chǔ)到磁盤上,就可以進(jìn)行備份,更重要的是,從災(zāi)難恢復(fù)是至關(guān)重要的,PostgreSQL有一個(gè)簡(jiǎn)單的在線備份工具,配合時(shí)間點(diǎn)恢復(fù)(PITR)機(jī)制,為管理員執(zhí)行快速恢復(fù)提供了很好的靈活性。

  PostgreSQL的核心架構(gòu)允許其他社區(qū)小組通過附加模塊的形式為PostgreSQL創(chuàng)建更高級(jí)的功能,一個(gè)很好的例子就是PostgreSQL的地理空間支持,此功能來自一個(gè)名為PostGIS的模塊,它是PostgreSQL的一個(gè)簡(jiǎn)單擴(kuò)展,使其成為最強(qiáng)大的可保存空間數(shù)據(jù)的開源或商業(yè)數(shù)據(jù)庫(kù)。

  PostgreSQL另一個(gè)擴(kuò)展能力是它具有多種不同類型的存儲(chǔ)過程語(yǔ)言,允許開發(fā)人員使用他們熟悉的語(yǔ)言編寫服務(wù)器端代碼,例如,需要執(zhí)行復(fù)雜文本處理的觸發(fā)器可以用Perl編寫,以便利用其強(qiáng)大的正則表達(dá)式功能。

MySQL特性和功能

  MySQL被譽(yù)為是最流行的開源數(shù)據(jù)庫(kù),從一開始,MySQL就被設(shè)計(jì)為適合網(wǎng)站快速順序索引方法(ISAM)的數(shù)據(jù)存儲(chǔ)引擎,這種工作負(fù)載的一大特點(diǎn)就是有許多小型查詢,于是催生了查詢緩存,MySQL集群等提高M(jìn)ySQL性能的技術(shù),MySQL集群允許數(shù)據(jù)庫(kù)跨多臺(tái)物理服務(wù)器部署,實(shí)現(xiàn)負(fù)載均衡。

  PostgreSQL不是唯一允許通過外部擴(kuò)展增加數(shù)據(jù)庫(kù)功能的開源數(shù)據(jù)庫(kù),MySQL最大的優(yōu)勢(shì)之一就是它的可插入式存儲(chǔ)引擎,MySQL默認(rèn)采用的是MyISAM存儲(chǔ)引擎,為讀操作頻繁的環(huán)境提供更好的性能,而InnoDB存儲(chǔ)引擎更適合寫密集型事務(wù)環(huán)境。

  此外,還有許多第三方存儲(chǔ)引擎,如Brighthouse和DB2,這種靈活性允許管理員根據(jù)每個(gè)表的需求調(diào)整MySQL實(shí)例,例如,對(duì)一個(gè)讀操作頻繁的表,如國(guó)家代碼表,使用MyISAM存儲(chǔ)引擎,對(duì)于事務(wù)型表,如銷售訂單表,則使用InnoDB存儲(chǔ)引擎。

  PostgreSQL和MySQL在各種應(yīng)用場(chǎng)合都得到了廣泛的使用,例如,PostgreSQL一向以強(qiáng)力支撐事務(wù)密集型企業(yè)應(yīng)用而著名,但許多網(wǎng)站也用它來支撐Web應(yīng)用程序,相反,MySQL一直都是Web應(yīng)用程序的首選數(shù)據(jù)庫(kù),但它在事務(wù)型企業(yè)應(yīng)用系統(tǒng)中也得到了大量使用。

社區(qū)為王

  PostgreSQL和MySQL最大的不同可能不在技術(shù),而是在社區(qū)上,開源項(xiàng)目從本質(zhì)上來講,要由社區(qū)開發(fā)人員參與和貢獻(xiàn),項(xiàng)目才能保持活力,開源社區(qū)有兩種不同的類型。

  首先,有獨(dú)立自主社區(qū)型純開源數(shù)據(jù)庫(kù)項(xiàng)目,PostgreSQL是這種最古老,最大的獨(dú)立開源數(shù)據(jù)庫(kù)社區(qū),這種社區(qū)的好處是真正獨(dú)立于廠商,不受廠商控制。

  第二種開源社區(qū)是由廠商控制的,這種開源項(xiàng)目往往同時(shí)有社區(qū)免費(fèi)版和商業(yè)付費(fèi)版,MySQL就是一個(gè)例子,MySQL項(xiàng)目最初是由MySQL AB資助和控制的,所有MySQL核心開發(fā)人員和架構(gòu)師都由MySQL AB出資雇傭,被Sun收購(gòu)后,MySQL社區(qū)就被Sun控制,現(xiàn)在又被Oracle控制。

共享許可

  許可,或源代碼允許如何修改和共享,這可能是真正影響開源數(shù)據(jù)庫(kù)選擇的決定性因素,PostgreSQL許可是仿照BSD許可模式的,它允許修改代碼,并根據(jù)修改者自愿是否以開源形式再發(fā)布,這種開放式許可對(duì)想使用PostgreSQL作為他們解決方案一部分的軟件廠商來說是最理想的,因?yàn)镻ostgreSQL許可不強(qiáng)制衍生解決方案也開源,軟件廠商可以選擇開放他們的源碼,也可以不開放。

  MySQL是通過GNU GPL共享,并由Oracle控制,GNU GPL更加開放,它鼓勵(lì)免費(fèi)共享代碼,它防止了采用GNU GPL共享的代碼后,也被迫采用源作者GNU GPL許可共享的缺陷。

小結(jié)

  以上總結(jié)的PostgreSQL和MySQL的各自特點(diǎn),大家以后再選擇開源數(shù)據(jù)庫(kù)時(shí)這些特點(diǎn)可以作為參考。雖然PostgreSQL和MySQL同屬開源數(shù)據(jù)庫(kù),但相同點(diǎn)也可能僅限于此,重疊的地方很少,它們都有自己鮮明的特性,相對(duì)于昂貴的專有數(shù)據(jù)庫(kù)產(chǎn)品,它們都是高品質(zhì)的開源數(shù)據(jù)庫(kù),尤其是在當(dāng)今經(jīng)濟(jì)不景氣的環(huán)境下,選擇優(yōu)秀的開源數(shù)據(jù)庫(kù)不失為為企業(yè)節(jié)省成本的一種好方法,不但如此,選擇了適合的開源數(shù)據(jù)庫(kù)也會(huì)提高工作效率,加快企業(yè)的發(fā)展。

【編輯推薦】

  1. 推薦五個(gè)最好的MySQL GUI工具
  2. MySQL Show語(yǔ)句用法介紹
  3. PostgreSQL數(shù)據(jù)庫(kù)管理入門之psql工具篇
  4. PJBlog博客系統(tǒng)后臺(tái)Action.aspSQL注入缺陷
責(zé)任編輯:迎迎 來源: IT168
相關(guān)推薦

2024-07-09 08:27:30

2017-09-14 10:10:55

數(shù)據(jù)庫(kù)MySQL架構(gòu)

2024-03-28 09:00:00

NoSQL數(shù)據(jù)庫(kù)

2018-11-02 08:30:43

開源數(shù)據(jù)庫(kù)技巧

2018-10-25 08:00:00

數(shù)據(jù)庫(kù)開源數(shù)據(jù)庫(kù)開源技術(shù)

2021-01-10 15:29:53

開源數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)

2019-07-23 11:41:45

數(shù)據(jù)庫(kù)SQLDocker

2017-11-20 13:32:54

微服務(wù)數(shù)據(jù)庫(kù)開發(fā)

2011-03-24 14:40:29

PostgreSQL數(shù)管理

2011-02-24 15:04:00

PostgreSQL數(shù)據(jù)庫(kù)psql

2020-07-20 08:00:29

數(shù)據(jù)庫(kù)

2010-03-09 10:13:01

MySQL開源數(shù)據(jù)庫(kù)

2010-06-01 14:07:56

2020-06-17 15:01:30

物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)

2016-10-08 18:13:55

數(shù)據(jù)庫(kù)性能工具數(shù)據(jù)庫(kù)管理系統(tǒng)

2017-06-19 16:20:09

數(shù)據(jù)庫(kù)性能工具

2011-06-29 14:01:30

多數(shù)據(jù)庫(kù)實(shí)例效率

2020-09-03 11:35:22

SQLiteMySQLPostgreSQL

2023-04-03 08:00:00

數(shù)據(jù)庫(kù)NoSQL

2022-05-05 09:11:33

數(shù)據(jù)庫(kù)加密數(shù)據(jù)安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)