精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MySQL遙遙領先PostgreSQL的原因是什么

OSC開源社區 ? 來源:OSC開源社區 ? 2023-11-14 11:33 ? 次閱讀

作者介紹-陳天舟

首先在全球范圍內,MySQL 一直是領先于 PostgreSQL (下文簡稱 PG) 的。下圖是 DB-Engines 的趨勢圖,雖然 PG 是近 10 年增長最快的數據庫,但 MySQL 依然保持著優勢。

8ab6a856-8289-11ee-939d-92fbcf53809c.png

再來看一下 Google Trends 過去一年的對比

8ac23b94-8289-11ee-939d-92fbcf53809c.png

MySQL 也依然是明顯領先的。而進一步看一下地域分布的話

8acfb71a-8289-11ee-939d-92fbcf53809c.png

8ad91d96-8289-11ee-939d-92fbcf53809c.png

8aeb73ba-8289-11ee-939d-92fbcf53809c.png

8afb57f8-8289-11ee-939d-92fbcf53809c.png

絕大多數地區依然是 MySQL 領先,份額對比在 60:40 ~ 70:30 之間;少數幾個國家如俄羅斯不分伯仲;印度的對比是 85:15;而中國則是達到了 96:4,也是 Google Trends 上差異最明顯的國家。

8b069fa0-8289-11ee-939d-92fbcf53809c.png

筆者從 2009 年左右開始學習數據庫相關知識,接觸到了 MySQL 5.1 和 PG 8.x。而深度在工作中使用則是 2013 年,那時加入 Google Cloud SQL 開始維護數據庫,MySQL 從 5.5 開始,到之后 2017 年 Cloud SQL 推出了 PG 服務,從 9.6 開始,后來一直同時維護 Google 內部的 MySQL 和 PG 分支,也就一直關注著兩邊的發展。18 年回國后,進一步熟悉了國內的生態。 下面就來嘗試分析一下 MySQL 在中國流行度遙遙領先于 PG 的原因。

8b19d962-8289-11ee-939d-92fbcf53809c.png

Windows

8b28b7c0-8289-11ee-939d-92fbcf53809c.png

8b392010-8289-11ee-939d-92fbcf53809c.png

MySQL 在 1998 年就提供了 Windows 版本,而 PostgreSQL 則到了 2005 年才正式推出。之前讀到的原因是 Windows 早期的版本一直無法很好支持 PostgreSQL 的進程模型。

8b45f010-8289-11ee-939d-92fbcf53809c.png

上手門檻

MySQL 上手更簡單,舉幾個例子:

連 PG,一定需要指定數據庫,而 MySQL 就不需要。psql 大家碰到的問題是嘗試連接時報錯 FATAL Database xxx does not exist。而 mysql 碰到的問題是連接上去后,執行查詢再提示 no database selected。

訪問控制的配置,首先 PG 和 MySQL 都有用戶系統,但 PG 還要配置一個額外的 pg_hba (host-based authentication) 文件。

MySQL 的層級關系是:實例 -> 數據庫 -> 表,而 PG 的關系是:實例(也叫集群)> 數據庫 > Schema > 表。PG 多了一層,而且從行為表現上,PG 的 schema 類似于 MySQL 數據庫,而 PG 的數據庫類似于 MySQL 的實例。PG 的這個額外層級在絕大多數場景是用不到的,大家從習慣上還是喜歡用數據庫作為分割邊界,而不是 schema。所以往往 PG 數據庫下,也就一個 public schema,這多出來的一層 schema 就是額外的負擔。

因為上面機制的不同,PG 是無法直接做跨庫查詢的,早年要通過 dblink 插件,后來被 FDW (foreign data wrapper) 取代。

PG 有更加全面的權限體系,數據庫對象都有明確的所有者,但這也導致在做測試時,更經常碰到權限問題。

雖然 PostgreSQL 的設計更加嚴謹,但也更容易把人勸退。就像問卷設計的一個技巧是第一題放一個無腦就能答上來的二選一,這個的目的在于讓對方開始答題。

8b50bbc6-8289-11ee-939d-92fbcf53809c.png

性能

最早 Google 搜索和廣告業務都是跑在 MySQL 上的,我讀到過當時選型的備忘。其實一開始團隊是傾向于 PG 的(我猜測是 PG 的工程質量更加符合團隊的技術品味),但后來測試發現 MySQL 的性能要好不少,所以就選型了 MySQL。 現在兩者的性能對比已經完全不一樣了,而且性能和業務關聯性很強,取決于 SQL 復雜度,并發,延遲這些不同的組合。目前在大部分場景下,MySQL 和 PG 的性能是相當的。有興趣可以閱讀 Mark Callaghan (https://smalldatum.blogspot.com/) 的文章。

8b5f8d54-8289-11ee-939d-92fbcf53809c.png

8b6c30fe-8289-11ee-939d-92fbcf53809c.png

互聯網

8b7aaf12-8289-11ee-939d-92fbcf53809c.png

最重要的是 LAMP 技術棧,Linux + Apache + MySQL + PHP,誕生于 1998 年,和互聯網崛起同步,LAMP 技術棧的普及也帶火了 MySQL。這個技術棧的綁定是如此之深,所以時至今日,MySQL 官方客戶端 MySQL Workbench 也還是不及 phpMyAdmin 流行。

8b849694-8289-11ee-939d-92fbcf53809c.png

8b918840-8289-11ee-939d-92fbcf53809c.png

大廠的號召力

前面提到的 Mark Callaghan 一開始在 Google 的 MySQL 團隊,他們給生態做了很多貢獻,后來 Google 內部開始用 Spanner 替換 MySQL,Mark 他們就跑到了 Facebook 繼續做,又進一步發展了 MySQL 的生態,像當時互聯網公司都需要的高可用方案 MHA (Master High Availability) 就是 Mark 在 FB 時期打磨成熟的。當時整個互聯網技術以 Google 為瞻,傳播鏈差不多是 Google > Facebook / Twitter > 國內互聯網大廠 > 其他中小廠。MySQL 在互聯網公司的壟斷就這樣形成了。 相對的,那段時間 PG 有影響力的文章不多,我唯一有印象的是 Instagram 分享他們 sharding 的方案,提到用的是 PostgreSQL (https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c)。

8ba0c5ee-8289-11ee-939d-92fbcf53809c.png

8bacc6f0-8289-11ee-939d-92fbcf53809c.png

生態

有了大量使用后,自然就有人去解決碰到的各種問題。先是 InnoDB 橫空出世,解決了事務和性能問題。主從,中間件分庫分表方案解決了海量服務的擴展和高可用問題。各種 MySQL 相關書籍,培訓資料也冒了出來,應該不少人都讀過高性能 MySQL (High Performance MySQL) 這本書。

8bbea1fe-8289-11ee-939d-92fbcf53809c.png

業界有 Percona 這樣專注于做 MySQL 技術咨詢的公司,他們還研發了一系列工具,比如做大表變更的 pt-online-schema-change(后來 GitHub 還發布了改良版 gh-ost),做備份的 xtrabackup。 國內也做了不少的貢獻,阿里給上游貢獻了許多 replication 的改進。SQL 審核優化這塊,有去哪兒研發的 Inception,小米團隊的 SOAR。Parser 有 PingCAP 的 MySQL Parser。 相對而言 PG 在工具鏈的生態還是差不少,比如 PG 生態里沒有開箱即用的 Parser,沒有 Parser 也就無法做 SQL 審核。Bytebase 在實現相關功能時,就只能從頭開始做。當然這也成為了 Bytebase 產品的核心競爭力,我們是市面上對 PG 變更審核,查詢脫敏支持最好的工具,除了大表變更外,功能完全對標 MySQL。

8bcebb2a-8289-11ee-939d-92fbcf53809c.png

8bda3eb4-8289-11ee-939d-92fbcf53809c.png

8bed67d2-8289-11ee-939d-92fbcf53809c.png

8bfbe726-8289-11ee-939d-92fbcf53809c.png

8c0febd6-8289-11ee-939d-92fbcf53809c.png

總結和展望

回到中國 MySQL 遠比 PostgreSQL 流行的原因,在上面所有列出的要素里,我覺得最核心的還是第一條,MySQL 很早就能跑在 Windows 上,而 PG 不能。因為有了能跑 Windows 這個點,MySQL 成為了 LAMP 的一部分,到后來成為了支撐整個互聯網的基石。當時國內大家手頭裝的都是 windows 操作系統,要開發 web 應用,都用 LAMP 架構,就順便把 MySQL 帶上了。 此外國內還有更明顯的頭部效應。國內所有互聯網公司的技術體系都源自阿里,比如拿研發環境來說,SIT (System Integration Test) 是我回國加入螞蟻后才接觸到的名詞,但后來在其他各個地方又都反復遇到。數據庫方案也是如此,全套照搬了阿里的 MySQL 方案。就連技術職級也是,找工作先確認對標 P 幾。

8c1d3b42-8289-11ee-939d-92fbcf53809c.png

就在上月,MySQL 5.7 宣布了 EOL,算是給 MySQL 5 系,這個支撐了過去 15 年中國互聯網的功勛做了一個告別。 隨著 MySQL 的辭舊,PG 的崛起,在這 AI 的黎明,VR 的前夜,下一個 15 年,MySQL 和 PG 之間相愛相殺的故事又該會如何演繹呢。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據庫
    +關注

    關注

    7

    文章

    3766

    瀏覽量

    64277
  • MySQL
    +關注

    關注

    1

    文章

    802

    瀏覽量

    26445
  • postgresql
    +關注

    關注

    0

    文章

    20

    瀏覽量

    209

原文標題:為何在中國MySQL遠比PostgreSQL流行

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    中小企業在云計算中遙遙領先

    中小企業:在云計算中遙遙領先 幾乎不用說的是,中小企業比大企業更快使用云計算的主要原因是前者要么總體缺乏傳統的軟件系統,要么是這種系統的投資最少。中小企業根本沒有太多應用套件或其它大量在售的云服務來
    發表于 11-29 16:22

    祛斑界遙遙領先的技術是什么

    日前,美容科技發達,祛斑的方法各色各樣,王者風范在祛斑界的效果已經是遙遙領先了,那么,南寧OPT王者風范祛斑的原理是什么?下面我們就有請南寧整形醫院專家給我們介紹。王者風范祛斑的原理是利用光能被皮膚
    發表于 10-10 10:26

    PostgreSQLMySQL在技術層面的比較

    PostgreSQLMySQL / MariaDB:數據類型處理 在這里看到的是PostgreSQL錯誤,因為試圖放入表中的數據并不符合列的數據類型,而MySQL / Maria
    發表于 09-28 13:18 ?0次下載
    <b class='flag-5'>PostgreSQL</b>與<b class='flag-5'>MySQL</b>在技術層面的比較

    英特爾迎2年空窗期,臺積電將遙遙領先

    英特爾(Intel Corp.)距離推出10納米服務器芯片、將有長達2年的空窗期,Raymond James證券認為,臺積電的技術將遙遙領先
    的頭像 發表于 09-28 10:35 ?2858次閱讀

    中國的區塊鏈技術已在全球遙遙領先

    浙江省區塊鏈技術應用協會智庫專家、33復雜美鏈改全球合伙人孟曉峰向《鏈新》曾表示:“目前,中國無論是在區塊鏈標準、還是區塊鏈核心專利方面已在全球遙遙領先。”
    的頭像 發表于 12-16 14:06 ?2378次閱讀

    余承東發布會說了5次遙遙領先

    據了解,在發布會的90分鐘環節中,余承東至少五次提到了“遙遙領先”,二十多次提到了“領先”,每次提到都引起了現場觀眾的掌聲。
    的頭像 發表于 09-13 11:05 ?2051次閱讀

    鼎盛合:“遙遙領先”的***技術

    余承東在發布會上一口氣說了十幾個遙遙領先,以表示對華為芯片技術的突破和革新的振奮和激動。于是“遙遙領先”這個詞便在網絡上流行開來,甚至有網友將這個詞編成段子,說華為的手機哪哪都好就是有噪音,老是能聽
    的頭像 發表于 09-14 16:09 ?897次閱讀

    來場科技CityWalk 聽聽遙遙領先的聲音

    11月15-19日 深圳會展中心(福田展區)? 這里有聲音 您聽...... 遙遙領先遙遙領先遙遙領先...... 國國際高新技術成果交易會 這里將是新一代信息技術展現未來的新秀場 新一代
    的頭像 發表于 09-26 18:28 ?774次閱讀
    來場科技CityWalk  聽聽<b class='flag-5'>遙遙領先</b>的聲音

    耳邊的“星閃耳機”華為FreeBuds Pro 3隱隱傳來:遙遙領先

    除了備受矚目的華為Mate60系列,最新一代旗艦耳機華為FreeBuds Pro 3也在發布會上正式亮相。精致的外觀和極致的性能配置,都讓花粉直呼遙遙領先
    的頭像 發表于 09-25 16:30 ?1692次閱讀
    耳邊的“星閃耳機”華為FreeBuds Pro 3隱隱傳來:<b class='flag-5'>遙遙領先</b>!

    遙遙領先的不止mate60,還有它1999的殼

    遙遙領先的不止mate60,還有它1999的殼
    的頭像 發表于 09-28 10:23 ?627次閱讀

    首款車規芯片過測!紐瑞芯FiRa認證UWB芯片數遙遙領先

    紐瑞芯科技的FiRa聯盟認證UWB芯片再增兩款!自此,紐瑞芯FiRa聯盟認證芯片數達到5款,保持全球遙遙領先
    的頭像 發表于 10-19 10:18 ?1507次閱讀

    華為最新消息一覽 華為申請“遙遙領先”商標

    華為申請“遙遙領先”商標 華為余承東的標志語言“遙遙領先”已經成為網絡熱詞;或者說是一個標簽、一種情懷,小編甚至在蘋果發布會的轉播中看到滿屏的“遙遙領先”,現在華為申請“遙遙領先”商標
    的頭像 發表于 10-30 17:31 ?815次閱讀

    華為品牌戰略調整 華為已撤回遙遙領先商標申請

    華為品牌戰略調整 華為已撤回遙遙領先商標申請 華為已經主動撤回先前提交的“遙遙領先”商標注冊申請;這似乎是華為近日正在進行品牌戰略調整。 此前在2023年9月,華為申請注冊兩枚“遙遙領先”商標,國際
    的頭像 發表于 04-03 17:07 ?732次閱讀

    華為創始人任正非“禁令”余承東不再提“遙遙領先

    2021年初,余承東在華為手機Mate40發布會上頻繁使用“遙遙領先”描述該款設備的性能優勢。次年上市的Mate50,其推出的手機與衛星通訊功能亦被其稱為“遙遙領先”的技術創新。
    的頭像 發表于 04-08 09:38 ?542次閱讀

    MySQL還能跟上PostgreSQL的步伐嗎

    Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名
    的頭像 發表于 11-18 10:16 ?130次閱讀
    <b class='flag-5'>MySQL</b>還能跟上<b class='flag-5'>PostgreSQL</b>的步伐嗎