狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

棄用mysql:用Postgres SQL取而代之 !真香!

liguoquan
2024年2月17日 11:33 本文熱度 704

01.數據庫簡介

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


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

Note:

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

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

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



02.性能對比


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

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

吞吐量:Postgres SQL 在SELECT性能上優于MySQL一倍, 在INSERT上優于4-5倍, UPDATE 則優5-6倍

平均耗時:Postgres SQL優于MySQL不止數倍

熱點行更新:,MySQL性能僅為Postgres SQL的, 1/8左右,耗時也增加了7倍。



03.場景及選擇


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


從圖片上來看Postgres SQL的發展勢頭著實是非常迅猛的,且目前已經隱隱有追上MySQL的趨勢, 而對于MySQL而言,在使用情況及受歡迎成都來看是一直呈現下降趨勢。

MySQL更多的適用場景

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

Postgres SQL更多的適用場景

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





04.最后


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的參數


該文章在 2024/2/19 14:41:56 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved