<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>存儲設備>磁帶庫>

MySQL與Postgres兩大免費數據庫大不同

2016年08月01日 10:40 中關村在線 作者: 用戶評論(0

  7月末,優步公司宣布將數據庫從Postgres切換到MySQL,個中原因又是什么呢?

  在一百年前,人類的第一臺計算機還沒能誕生,黑紙白字是人們記錄信息的唯一方式,檔案館是信息的集結地,數據分析還只能通過人工的分類,檢索來完成。1951年Univac系統使用磁帶和穿孔卡片作為數據存儲,成為人類向大數據邁進的里程碑。

  從文件系統發展到數據庫系統,人們對于數據信息處理能力越來越強,出現了以做數據庫發家的甲骨文公司(即IOE中的O:Oracle),也有很多種免費、開源的數據庫供我們使用。在現實生活中,包括Facebook、優步等企業都選擇了開源、免費的數據庫。其中,MySQL與Postgres已經成為最受歡迎的兩種免費數據庫,他們之間有有什么異同呢?7月末,優步公司宣布將數據庫從Postgres切換到MySQL,個中原因又是什么呢?

  數據庫,MySQL

  根據優步官方解釋,此次更換數據庫的原因是Postgres數據復制效率低下,Postgres更新已有行的效率低于MySQL,Postgres需要重寫每一個行索引,而MySQL只更新改變的索引。也就是說,此次更換的原因并非孰優孰劣,MySQL與Postgres各有自己的特點。

  PostgreSQL

  索引:PostgreSQL取決于存儲引擎。MyISAM:BTREE,InnoDB:BTREE。同時PG可以使用函數和條件索引。相比之下,MySQL支持B-樹、哈希、R-樹和Gist索引。在索引的復制能力方面MySQL更優,這也成為優步更換數據庫的重要原因。

  一致性:數據的一致性是衡量一個數據庫優劣的重點,PostgreSQL是完全支持ACID特性的,它對于數據庫訪問提供了強大的安全性 保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。在MySQL中,開發人員可以將服務器設定為嚴格SQL模式才能達到目的,否則可能會產生不規范數據。

  穩定性:PostgreSQL的穩定性極強,Innodb等引擎在崩潰、斷電之類的災難場景下抗打擊能力有了長足進步,然而很多MySQL用戶都遇到過Server級的數據庫丟失的場景——mysql系統庫是MyISAM的,相比之下,PG數據庫這方面要好一些。當然,對于MySQL而言,不同的版本穩定性也不盡相同,MySQL官方網站會提供穩定版本下載,開發環境使用的MySQL版本應該和生產中的大版本一致,用戶可選擇最新的穩定版本。

  MySQL

  應該說這兩種數據庫都是開源、免費并能運行在多個操作系統上的,無論是可擴展性、數據的一致性和可靠性都比較穩定。但二者在應用環境、場景和部分特性上不盡相同。二者沒有完全意義上的好壞,從整個發展過程來講,最初PostgreSQL的發展速度較慢,導致MySQL一度成為霸主,如今,雙方各有優劣,都成為不同應用場景下的最優數據庫。

  自從MySQL被收購后,雖然仍保持開源的姿態,但實際上都有專業的工程師在碼代碼,發展也十分迅速,并出現了Standard、Enterprise、Classic、Cluster、Embedded與Community等多個版本,Twitter、Facebook與Wikipedia都是MySQL的忠實用戶。PostgreSQL則一直標榜自己為最先進的開源數據庫,同時它又比MySQL出現的早了九年,讓它在教育和部分國外企業中備受歡迎,同時其數據一致性與完整性也是PostgreSQL的高優先級特性。

  總的來說,MySQL更為靈活,PostgreSQL更為可靠,用戶在選擇時一定要慎重,畢竟切換數據庫是一件費力且不討好的事情。

非常好我支持^.^

(2) 50%

不好我反對

(2) 50%

( 發表人:steve )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>