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

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

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

 

一、 數據庫簡介 TLDR;

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

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

Note:

MySQL的層級關系: 實例 -> 數據庫 -> 表

Postgres 的層級關系: 實例 -> 數據庫 -> Schema -> 表

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

二、性能對比

測試環境

markdown

復制代碼

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

 

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

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

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

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

 

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

MySQL適用的場景

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

Postgres SQL適用的場景

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

四、總結

PostgreSQL相對于MySQL的優勢

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

Postgre SQL之于MySQL相對劣勢:

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

 

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

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

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

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

運動步數有氧達人2018-06-03

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

每日養生app2018-06-03

每日養生,天天健康

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

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