[翻譯]PostgreSQL比MySQL/MariaDB的優勢

來源:互聯網
上載者:User

標籤:nbsp   許可證   outer   支付   並且   個數   資料完整性   方法   執行   

近十年來很多開發人員和專業人士對MySQL和PostgreSQL進行了比較,大部分人認為後者效能更優。PostgreSQL的支援者認為它的標準支援和ACID[1]性都超過了MySQL。MySQL還流行的原因在於還有很多Linux的Web程式安裝包裡帶著它,但是自從擁有MySQL著作權和商標的Sun被Oracle收購後,人們都在擔心MySQL不會像以前那樣開放了。同時PostgreSQL不僅快,而且支援JSON,使他成為少數的支援NoSQL的關係型資料庫。(小道訊息:MySQL的作者Monty Widenius,在MySQL分支建立了和MySQL完全相容而且不被Oracle擁有的MariaDB。)

 

MySQL/MariaDB的目前的版本是5.7.6,而PostgreSQL版本是9.4.1。

ANSI標準:

MySQL比其早期版本在標準方面更加支援(MySQL說:如果使用者喜歡,他們可以支援非標準),但是PostgreSQL從一開始就支援,而MySQL之後才加入。

平局

ACID特性

PostpreSQL有一個儲存引擎,MySQL有9個。然而只有兩個被廣泛使用:MyISAM,InnoDB。MyISAM是最開始的引擎,速度很快但是不支援事務;InnoDB支援事務,而且速度更快,是預設引擎。MySQL的InnoDB引擎和PostgreSQL都完全擁有ACID特性,沒有什麼區別。

平局

表鎖

MyISAM使用表鎖來獲得更快的速度。當大量讀操作時效能表現良好,但是寫操作會把整個表鎖死,等待寫入完成。InnoDB引擎和PostgreSQL使用的是行級鎖,又打平。

平局

子查詢不確定性

子查詢一直以來是MySQL“臭名昭彰”的問題:兩層或兩層以上子查詢效率極低,雖然5.6.5已經有了很大改進,但是PostpreSQL在聯集查詢表現更加突出,特別是MySQL不支援Full Outer Joins。

PostgreSQL勝

支援JSON和NoSQL

PostgreSQL新增功能,支援使用NoSQL和儲存JSON。資料儲存比傳統關係型資料庫更加靈活。

PostgreSQL勝

 

PostgreSQL其他優勢:

更好的許可

PostgrePost擁有MIT-style認證,允許你做任何事情,包括開/閉源的商業用途。而MySQL用戶端庫為GPL認證,意味著你必須像Oracle支付商業費用,或者提供者源碼。(網站使用MYSQL時候會是個小麻煩;MariaDB使用GPL2認證,並且為MySQL用戶端提供限制更少的LGPL認證)

更好的資料完整性

PostgreSQL預設對插入和更新的資料嚴格檢查,而MySQL只有開啟了(STRICT_ALL_TABLES/STRICT_TRANS_TAQBLES)才會進行嚴格檢查。

資料庫擴充開發

兩個資料庫都允許擴充開發。MySQL提供有C系列語言的API介面。你甚至可以在MySQL5.7.3之後在InnoDB表中做全文檢索索引。PostgreSQL也有同樣的功能,但是支援更多的語言,包括C/C++,Java,.Net,Perl,Python,Ruby,Tcl,ODBC等,甚至可以在單獨進程(後台)中運行使用者提供的代碼。

PostgreSQL在系統目錄中提供了關係型資料庫的資料庫、表、行/列的資料類型、方法、存取方法等資訊。使用者可以修改系統目錄表來擴充資料庫。

結論

雖然我已經用了十多年兩種資料庫,而且MySQL已經有很大的提升,但是不得不承認對PostgreSQL的偏愛。PostgreSQL更好用的許可證,自訂資料類型,表繼承,規律的系統和資料庫事件。

 

 

[1] ACID:指資料庫事務正確執行的四個基本要素:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)

SQL:Structured Query Language(結構化查詢語句)

[翻譯]PostgreSQL比MySQL/MariaDB的優勢

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.