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

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

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

 

一、 數(shù)據(jù)庫簡介 TLDR;

1.1 MySQL MySQL聲稱自己是最流行的開源數(shù)據(jù)庫,它屬于最流行的RDBMS (Relational Database Management System,關系數(shù)據(jù)庫管理系統(tǒng))應用軟件之一。LAMP中的M指的就是MySQL。構建在LAMP上的應用都會使用MySQL. MySQL最初是由MySQL AB開發(fā)的,然后在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle收購導致MySQL的出現(xiàn)兩個版本:商業(yè)版和社區(qū)版。對于后者,由于Oracle控制了MySQL的開發(fā),受到了廣大使用者的批評。

1.2 PostgreSQL PostgreSQL標榜自己是世界上最先進的開源數(shù)據(jù)庫,屬于關系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS), 是以加州大學計算機系開發(fā)的POSTGRES,4.2版本為基礎的對象關系型數(shù)據(jù)庫管理系統(tǒng), 最初是1985年在加利福尼亞大學伯克利分校開發(fā)的,作為Ingres數(shù)據(jù)庫的后繼。PostgreSQL是完全由社區(qū)驅動的開源項目。 它提供了單個完整功能的版本,而不像MySQL那樣提供了多個不同的社區(qū)版、商業(yè)版與企業(yè)版。PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發(fā)代碼,只需要提供一個版權聲明即可。

Note:

MySQL的層級關系: 實例 -> 數(shù)據(jù)庫 -> 表

Postgres 的層級關系: 實例 -> 數(shù)據(jù)庫 -> Schema -> 表

schema 可以理解為命名空間,不影響使用

二、性能對比

測試環(huán)境

markdown

復制代碼

MySQL: - 硬件配置: 4核心 16GB內存 - 版本: MySQL 8.0 Postgres SQL: - 硬件配置: 4核心 16GB內存 - 版本:Postgres SQL 13

 

此次壓測數(shù)據(jù), SELECT 均為SELECT 按照主鍵查詢, UPDATE按照主鍵進行UPDATE, INSERT則為一次INSERT一行數(shù)據(jù)。從壓測數(shù)據(jù)上來看,我們可以得出以下幾個結論:

  1. 在吞吐量上而言,Postgres SQL 在SELECT性能上優(yōu)于MySQL一倍, 在INSERT上優(yōu)于4-5倍, UPDATE 則優(yōu)5-6倍
  2. 從平均耗時上來看, Postgres SQL優(yōu)于MySQL不止數(shù)倍
  3. 尤其從熱點行更新上看出,MySQL性能僅為Postgres SQL的, 1/8左右,耗時也增加了7倍

三、適用場景,如何選擇?

相對于Postgres MySQL更簡單, 所以有著更高的流行度, 在技術資料,以及技術組件支持上,支持的也更完善一些, 但不意味著它并不是不能替代的, 于筆者而言, MYSQL更像用于中小企業(yè)、個人的一款數(shù)據(jù)庫工具, 因為會的人多, 文檔資料比較完善,所以入手難度低。 但這些并不意味著MYSQL是最好的。

 

從上圖來看Postgres SQL的發(fā)展勢頭非常迅猛,目前已經(jīng)隱隱有追上MySQL的趨勢, 而MySQL相對而言,使用情況受歡迎度一直呈現(xiàn)下降趨勢。

MySQL適用的場景

MySQL適用于簡單的應用場景,如電子商務、博客、網(wǎng)站等, 大中小型系統(tǒng)均可以使用MySQL, 它最高支持千萬級別到數(shù)億級別的數(shù)據(jù)量, 但是在高性能要求的情況下, 比如較快的響應和較高的吞吐量的時候, MYSQL的性能稍微捉襟見肘, 另外,在查詢條件比較復雜、業(yè)務吞吐量要求不高,響應時長無要求,的時候,可以選擇MYSQL,

Postgres SQL適用的場景

總的來說, Postgre SQL更適合復雜的數(shù)據(jù)結構、高級應用和大規(guī)模數(shù)據(jù)集, 當然如果數(shù)據(jù)規(guī)模比較小, 也可以選擇Postgres SQL, 無論是什么場景,如果你想用Postgres SQL, 總可以找到對應的解決方法, 有且僅有, 在查詢條件比較復雜,的時候不太適用, 因為根據(jù)我們實際線上的業(yè)務表現(xiàn)是 Postgre SQL可能會選錯索引。

四、總結

PostgreSQL相對于MySQL的優(yōu)勢

  • Postgre SQL在性能上遠遠好于MYSQL, 通過上面的壓測數(shù)據(jù)即可體現(xiàn),無論是在耗時,還是在整體吞吐量上,有顯著優(yōu)勢
  • Postgre SQL在單行更新上有明顯優(yōu)勢,尤其是啟用了HOT UPDATE后, 性能比MYSQL高了一個數(shù)量級
  • 在SQL的標準實現(xiàn)上要比MySQL完善,而且功能實現(xiàn)比較嚴謹,比較學院化;
  • Postgre SQL主表采用堆表存放,MySQL采用索引組織表,能夠支持比MySQL更大的數(shù)據(jù)量。
  • Postgre SQL的主備復制屬于物理復制,相對于MySQL基于binlog的邏輯復制,數(shù)據(jù)的一致性更加可靠,復制性能更高,對主機性能的影響也更小。
  • MySQL 的事務隔離級別 repeatable read 并不能阻止常見的并發(fā)更新, 得加鎖才可以, 但悲觀鎖會影響性能, 手動實現(xiàn)樂觀鎖又復雜. 而 Postgre SQL 的列里有隱藏的樂觀鎖 version 字段, 默認的 repeatable read 級別就能保證并發(fā)更新的正確性, 并且又有樂觀鎖的性能.

Postgre SQL之于MySQL相對劣勢:

  • Postgre SQL系統(tǒng)表設計相對復雜, 在進行一些系統(tǒng)表的統(tǒng)計、操作等方面比較復雜
  • Postgre SQL 的索引選擇方面,選錯的概率稍高一些(實測), 而且不能跟mysql 一樣方便的使用force_index
  • Postgre SQL 存在vacuum, 需要結合具體使用場景,來調整vacuum的參數(shù)

 

作者:winjeg
鏈接:
https://juejin.cn/post/7324362442229891124

分享到:
標簽:Postgres SQL
用戶無頭像

網(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

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