亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

概述

在幾個流行的數(shù)據(jù)庫中,我首先接觸到的是MySQL,隨著工作發(fā)展,接觸到越來越多的是PostgreSQL數(shù)據(jù)庫。這兩個十分流行的開源數(shù)據(jù)庫。在這之后,我就會經(jīng)常和一些朋友進行討論:MySQL和PostgreSQL兩者之間到底有什么異同點呢?
翻閱資料,今天就來學習一下

ACID的遵從性(ACID Compliance )對比

數(shù)據(jù)庫是否滿足事物的四大特性是判斷數(shù)據(jù)庫優(yōu)劣的重要標準之一
PostgreSQL:
完全遵從ACID,確保滿足所有ACID的需求
MySQL:
只有InnoDB等少量存儲引擎遵從ACID,所以客戶選取就更加靈活

原子性(Atomic)

Atomic是指事務包含的所有操作要么全部成功,要么全部失敗回滾
PostgreSQL是全面支持事務的關系型數(shù)據(jù)庫,不僅DML語句可以在一個事務中,DDL語句也支持事務,即可以把創(chuàng)建多張表時的DDL語句放到一個事務中,這樣可以保證這些表要不都創(chuàng)建成功,要不都不成功。

而MySQL無法把多條DDL語句放到一個事務中。PostgreSQL能保證多條DDL的原子性,這是PG的亮點。

一致性(Consistency)

Consistency是指事務必須使數(shù)據(jù)庫從一個一致性的狀態(tài)變到另外一個一致的狀態(tài),也就是執(zhí)行事務之前和之后的狀態(tài)都必須處于一致的狀態(tài)。一致性:例如數(shù)據(jù)庫完整性約束正確;日志狀態(tài)一致; 索引和數(shù)據(jù)的一致, 即事務完成后,數(shù)據(jù)庫的一切都是對的。
而兩者的約束對比如下

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

隔離性(Isolcation)

Isolcation是指并發(fā)執(zhí)行多個事務時,使它們各自好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作,即每一事務在系統(tǒng)中認為只有該事務在使用系統(tǒng),不受其它事務干擾。
達到的效果: 對于任意兩個并發(fā)的事務T1和T2,在事務T1看來,T2要么在T1開始之前就已經(jīng)結束,要么在T1結束之后才開始,這樣每個事務都感覺不到有其他事務在并發(fā)地執(zhí)行。
幾種隔離級別的性能比較

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

而PostgreSQL和MySQL的隔離性差異如下
MySQL和PostgreSQL都實現(xiàn)了基于快照的事務隔離級別,即snapshot isolation,PostgreSQL還實現(xiàn)了可串行化的快照隔離級別,即SSI。

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

持久性(Durability)

Durability是指一個事務一旦被提交了,那么對于數(shù)據(jù)庫中的數(shù)據(jù)改變就是永久性的,即便是在數(shù)據(jù)庫系統(tǒng)遭遇到故障的情況下也不會丟失提交事務的操作。
早期的MySQL版本中的默認配置不是提交后立即持久化的,即提交后,數(shù)據(jù)可能丟失(追求性能),PostgreSQL一開始默認就是持久化的,當然也可以設置成非立即持久化。

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

對SQL標準的支持度對比

PostgreSQL:
遵從SQL標準支持最好的數(shù)據(jù)庫。SQL2011標準中,179個核心特性(mandatory features ),做到至少160個,也支持了很多附加特性

MySQL:
只有部分支持,基本是只持了SQL 92標準的部分

支持的業(yè)務場景對比

PostgreSQL:
既支持OLTP場景也支持OLAP場景,混合性業(yè)務場景,類似Oracle數(shù)據(jù)庫。能很好的支持JSON文檔型業(yè)務場景。金融級的可靠性,設計目標是以穩(wěn)定性和可靠性為第一目標,支持大數(shù)據(jù)庫,可以可靠支持幾十T的大數(shù)據(jù)庫

MySQL:
只支持OLTP場景,不可用于OLAP場景

mysql5.7以后才對JSON的有了支持
簡單和性能是設計第一目標,支持可靠性很高的業(yè)務存在一定的困難
大數(shù)據(jù)庫支持存在一定的困難,需要做單機多實例

復制功能對比

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

復制類型的支持
PostgreSQL支持以下類型:

  • 單主到單備
  • 單主到多備
  • 物理備庫可以讀
  • 雙向復雜
  • 邏輯的流復制(發(fā)布和訂閱模式)
  • 級聯(lián)的復制
  • 全同步、半同步、異步
  • 同步復制中支持最少同步到幾個備節(jié)點,即保證至少寫幾份數(shù)據(jù)

MySQL支持以下類型:

  • 單主到單備
  • 單主到多備
  • 單主到單個備再到單個或多個備
  • 循環(huán)復制:A->B->C->A
  • 雙主復制
  • 異步復制和半同步復制

主要功能對比

查詢相關功能對比

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

表的功能支持

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

架構功能對比

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

視圖表功能對比

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

加密使用功能對比

MySQL與 PostgreSQL 數(shù)據(jù)庫功能對比

 

后記

總之,PostgreSQL和MySQL是從底層設計原理開始就不一樣的兩種數(shù)據(jù)庫,在數(shù)據(jù)量小的時候,數(shù)據(jù)庫更趨于輕量化,MySQL會更適合。但是一旦數(shù)據(jù)量稍漲,計算量上升,PostgreSQL會是更好的選擇。

分享到:
標簽:PostgreSQL
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定