在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

MySQL還能跟上PostgreSQL的步伐嗎

OSC開源社區 ? 來源:OSC開源社區 ? 2024-11-18 10:16 ? 次閱讀

Percona 的老板 Peter Zaitsev最近發表一篇博客,討論了MySQL是否還能跟上PostgreSQL的腳步。Percona 作為MySQL 生態扛旗者,Percona 開發了知名的PT系列工具,MySQL備份工具,監控工具與發行版。他們的看法在相當程度上代表了 MySQL 社區的想法,讀來讓人倍感噓唏。

作者:Peter Zaitsev[1],Percona 老板,原文:How Can MySQL Catch Up with PostgreSQL’s Momentum?[2]

譯者:馮若航[3],Vonng,Pigsty[4]作者,PostgreSQL 大法師,數據庫老司機,云計算泥石流。

MySQL還能跟上PostgreSQL的步伐嗎?

當我與MySQL社區的老前輩交談時,我經常聽到這樣的問題:“為什么MySQL如此出色,依然比PostgreSQL更受歡迎(至少根據DB-Engines的統計方法),但它的地位卻在不斷下降,而PostgreSQL的受歡迎程度卻在不可阻擋地增長?” 在MySQL 生態能做些什么扭轉這一趨勢嗎?讓我們來深入探討一下!

2e66b608-9cbf-11ef-a511-92fbcf53809c.png

讓我們看看為什么PostgreSQL一直表現如此強勁,而MySQL卻在走下坡路。我認為這歸結為所有權與治理、許可證、社區、架構以及開源產品的勢能。

所有權和治理

MySQL 從未像 PostgreSQL 那樣是“社區驅動”的。然而,當 MySQL 由瑞典小公司 MySQL AB 擁有,且由終身仁慈獨裁者(BDFL)Michael “Monty” Widenius掌舵時,它獲得了大量的社區信任,更重要的是,大公司并沒有將其視為特別的威脅。

現在情況不同了——Oracle 擁有 MySQL,業界的許多大公司,特別是云廠商,將 Oracle 視為競爭對手。顯然它們沒有理由去貢獻代碼與營銷,為你的競爭對手創造價值。此外,擁有 MySQL 商標的 Oracle 在 MySQL 上總是會有額外的優先權。

相比之下,PostgreSQL 由社區運營,領域內的每個商業供應商都站在同一起跑線上—— 像 EDB 這樣的大公司與PostgreSQL 生態系統中的小公司相比,沒有特殊的優待。

這意味著大公司更愿意貢獻并推薦 PostgreSQL 作為首選,因為這不會為他們的競爭對手創造價值,而且他們對PostgreSQL 項目的方向有更大的影響力。數百家小公司通過本地“草根”社區的開發和營銷努力,使 PostgreSQL 在全球無處不在。

MySQL社區能做些什么來解決這個問題?MySQL 社區能做的很少——這完全掌握在 Oracle 手中。正如我在《Oracle能拯救MySQL嗎?》中所寫,將 MySQL 移交給一個中立的基金會(如 Linux 或 Kubernetes 項目)將提供與 PostgreSQL 競爭的機會。不過,我并不抱太大希望,因為我認為Oracle此刻更感興趣的是“硬性”變現,而不是擴大采用率。

許可證

MySQL 采用雙許可證模式:GPLv2 和 Oracle 的商業許可證,而PostgreSQL則采用非常寬松的 PostgreSQL 許可證。

這實際上意味著您可以輕松創建使用商業許可的PostgreSQL衍生版本[5],或將其嵌入到商業許可的項目中,而無需任何“變通方法”。構建此類產品的人們當然是在支持和推廣 PostgreSQL。

MySQL 確實允許云供應商創建自己的商業分支,具有MySQL兼容性的 Amazon Aurora 是最知名和最成功的此類分支,但在軟件發行時這樣做是不允許的。

MySQL社區能做什么?還是那句話,能做的不多——唯一能在寬松許可證下重新授權MySQL的公司是Oracle,而我沒有理由相信他們會想要放松控制,盡管“開放核心”和“僅限云”的版本通常與寬松許可的“核心”軟件配合良好。

社區

我認為,當我們考慮開源社區時,最好考慮三種不同的社區[6],而不僅僅是一個。

首先,用戶社區。MySQL在這方面仍然表現不錯,盡管 PostgreSQL 正日益成為新應用的首選數據庫。然而,用戶社區往往是其他幾個社區工作的成果。

其次,貢獻者社區。PostgreSQL 有著更強大的貢獻者社區,這并不奇怪,因為它是由眾多組織而非單一組織驅動的。我們舉辦了針對貢獻者的活動,還編寫了關于如何為 PostgreSQL 作出貢獻的書籍。PostgreSQL 的可擴展架構也有助于輕松擴展 PostgreSQL,并公開分享工作成果。

最后,供應商社區。我認為這正是主要問題所在,沒有那么多公司有興趣推廣 MySQL,因為這樣做可能只是為Oracle 創造價值。你可能會問,這難道不會鼓勵所有 Oracle 的“合作伙伴”去推廣 MySQL 嗎?可能會,在全球范圍內也確實有一些合作伙伴支持的MySQL活動,但這些與供應商對 PostgreSQL 的支持相比,簡直微不足道,因為這是 “屬于他們的項目”。

MySQL社區能做什么?這里社區還是可以發揮一點作用的—— 盡管當前的狀況使得工作更困難,回報更少,但我們仍然可以做很多事情。如果你關心 MySQL 的未來,我鼓勵你組織與參與各種活動,尤其是在狹窄的 MySQL生態之外,去撰寫文章、錄制視頻、出版書籍。在社交媒體上推廣它們,并將它們提交到 Hacker News。

特別是,不要錯過FOSDEM 2025 MySQL Devroom[7]的征稿!

這也是 Oracle 可以參與的部分,他們可以在不減少盈利的情況下參與這些活動,并與潛在的貢獻者互動 —— 舉辦一些外部貢獻者可以參與的活動,與他們分享計劃,支持他們的貢獻 —— 至少在他們與你的“MySQL社區”藍圖一致的情況下。

架構

一些 PostgreSQL 同行認為,PostgreSQL 發展勢頭更好的原因源于更好的架構和更干凈的代碼庫。我認為這可能是一個因素,但并非主要原因,這里的原因值得討論。

PostgreSQL 的設計高度可擴展,而且已經實現有大量強大的擴展插件,而 MySQL 的擴展可能性則非常有限。一個顯著例外是存儲引擎接口 —— MySQL支持多種不同的存儲引擎,而 PostgreSQL 只有一個(盡管像Neon[8]或OrioleDB[9]這樣的PG分叉可以通過打補丁來改變這一點)。

這種可擴展性使得在 PostgreSQL 上進行創新更加容易,(特別是PG還有著一個更強大的貢獻者社區支持),而無需將新功能納入核心代碼庫中。

MySQL社區能做些什么?我認為即使 MySQL 的可擴展性很有限,我們仍然可以通過MySQL已經支持的各種類型的插件[10]和“組件”[11]來實現很多功能。

我們首先需要為MySQL建立一個“社區插件市場”,這將鼓勵開發者構建更多插件并讓它們得到更多曝光。我們還需要Oracle的支持—— 承諾擴展MySQL的插件架構,賦能開發者構建插件 —— 即使這會與Oracle的產品產生一些競爭。例如,如果 MySQL 有插件可以創建自定義數據類型和可插拔索引,或許我們已經會看到 MySQL 的 PGVector替代品了。

開源產品的勢頭

選擇數據庫是一個長期的賭注,因為更換數據庫并不容易。去問問那些幾十年前選擇了 Oracle 而現在被其束縛的人吧。這意味著在選擇數據庫時,你需要考慮未來,不僅要考慮這些數據庫在十年后是否依然存在,而且要考慮隨著時間的發展,它是否還能滿足未來的技術需求。

正如我在文章《Oracle最終還是殺死了MySQL!》中所寫到的,我認為Oracle已經將大量開發重心轉移到專有商業版和云專屬的 MySQL 版本上 —— 幾乎放棄了 MySQL 社區版。雖然今日的 MySQL 仍然在許多應用中表現出色,但它確實正在落后中,MySQL 社區中的許多人都在質疑它是還有未來。

MySQL社區能做什么?還是那句話,決定權在 Oracle 手中,因為他們是唯一能決定 MySQL 官方路線的人。你可能會問,那么我們的Percona Server for MySQL[12]呢?我相信在Percona,我們確實提供了一個領先的 Oracle MySQL的開源替代品,但因為我們專注于完整的 MySQL 兼容性,所以必須謹慎對待對 MySQL 所做的變更,以避免破壞這種兼容性或使上游合并成本過高。MariaDB[13]做出了不同的利弊權衡;不受限制的創新使其與MySQL 的兼容性越來越差,而且每個新版本都離 MySQL 越來越遠。

MariaDB

既然提到了MariaDB,你可能會問,MariaDB 不是已經盡可能地解決了所有這些問題嗎?—— 畢竟 MariaDB 不是由 MariaDB基金會等機構管理的嗎?別急,我認為MariaDB是一個有缺陷的基金會[14],它并不擁有所有的知識產權,尤其是商標,無法為所有供應商提供公平的競爭環境。它仍然存在商標壟斷問題,因為只有一家公司可以提供所有 “MariaDB” 相關的服務,地位高于其他所有公司。

然而,MariaDB 可能有一個機會窗口;隨著 MariaDB(公司)剛剛被K1收購[15],MariaDB的治理和商標所有權有機會向 PostgreSQL 的模式靠近。不過,我并不抱太大希望,因為放松對商標知識產權的控制并不是私募股權公司所慣常做的。

當然,MariaDB 基金會也可以選擇通過將項目更名為 SomethingElseDB 來獲得對商標的完全控制,但這意味著MariaDB 將失去所有的品牌知名度;這也不太可能發生。

MariaDB 也已經與 MySQL 有了顯著的分歧,調和這些差異將需要多年的努力,但我認為如果有足夠的資源和社區意愿,這也許是一個可以解決的問題。

總結

正如你所看到的,由于 MySQL 的所有權和治理方式,MySQL 社區在其能做的事情上受到限制。從長遠來看,我認為 MySQL 社區唯一能與 PostgreSQL 競爭的方法是所有重要的參與者聯合起來(就像Valkey項目[16]那樣),在不同的品牌下創建一個 MySQL 的替代品—— 這可以解決上述大部分問題。

老馮評論

PostgreSQL 正在高歌猛進,而 MySQL 卻日薄西山,作為 MySQL 生態主要抗旗者的 Percona 也不得不悲痛地承認這一現實,連發了三篇《MySQL將何去何從》,《Oracle最終還是殺死了MySQL》,《Oracle還能挽救MySQL嗎》,公開表達了對 MySQL 的失望與沮喪;Percona CEO Peter Zaitsev 也直言不諱道:

有了 PostgreSQL,誰還需要 MySQL 呢?—— 但如果 MySQL 死了,PostgreSQL 就真的壟斷數據庫世界了,所以 MySQL 至少還可以作為 PostgreSQL 的磨刀石,讓 PG 進入全盛狀態。

有的數據庫正在吞噬數據庫世界,而有的數據庫正在黯然地凋零死去。但不管怎樣,我對堅守 MySQL 陣地的 Percona 與 PZ 致以敬意。

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

    關注

    1

    文章

    809

    瀏覽量

    26564
  • postgresql
    +關注

    關注

    0

    文章

    21

    瀏覽量

    219

原文標題:MySQL還有機會趕上PostgreSQL嗎?

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

收藏 人收藏

    評論

    相關推薦

    PostgreSQL將不再支持MD5密碼

    根據 PostgreSQL 代碼倉庫的最新動態,近日有維護者提交了“棄用 MD5 密碼支持”的 commit。 該維護者指出,MD5 被認為不適合用作加密散列算法已有一段時間。 此外
    的頭像 發表于 12-10 16:14 ?130次閱讀

    香港云服務器怎么部署MySQL數據庫?

    在香港云服務器上部署MySQL數據庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發表于 11-14 16:15 ?175次閱讀

    詳解MySQL多實例部署

    詳解MySQL多實例部署
    的頭像 發表于 11-11 11:10 ?241次閱讀

    MySQL編碼機制原理

    前言 一位讀者在本地部署 MySQL 測試環境時碰到一個問題,我覺得挺有代表性的,所以寫篇文章介紹一下,看完相信你會對 MySQL 的編碼機制有最本質的了解,本文的目錄結構如下 讀者問題簡介
    的頭像 發表于 11-09 11:01 ?241次閱讀

    適用于MySQL的dbForge架構比較

    dbForge Schema Compare for MySQL 是一種工具,用于輕松有效地比較和部署 MySQL 數據庫結構和腳本文件夾差異。該工具提供了 MySQL 數據庫架構中所有差異的全面視圖。
    的頭像 發表于 10-28 09:41 ?209次閱讀
    適用于<b class='flag-5'>MySQL</b>的dbForge架構比較

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發表于 10-23 11:44 ?446次閱讀
    配置<b class='flag-5'>MySQL</b>主從復制和讀寫分離

    Jtti:MySQL初始化操作如何設置root密碼

    MySQL初始化時,可以通過以下步驟設置root密碼: 打開命令行工具,使用以下命令啟動MySQL服務: ? sudo service mysql start ? 使用以下命令登錄MySQL
    的頭像 發表于 08-08 16:45 ?368次閱讀

    MySQL知識點匯總

    大家好,這部分被稱為DQL部分,是每個學習MySQL必須要學會的部分,下面就讓我來介紹MySQL中的其他部分。
    的頭像 發表于 08-05 15:27 ?403次閱讀
    <b class='flag-5'>MySQL</b>知識點匯總

    華納云:如何修改MySQL的默認端口

    MySQL是世界上最流行的開源關系型數據庫管理系統之一。在某些情況下,由于安全性、網絡策略或端口沖突的原因,數據庫管理員可能需要更改MySQL服務的默認監聽端口。本文將指導您如何在不同的操作系統上
    的頭像 發表于 07-22 14:56 ?310次閱讀
    華納云:如何修改<b class='flag-5'>MySQL</b>的默認端口

    MySQL的整體邏輯架構

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構的關鍵優勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解MySQL的核心
    的頭像 發表于 04-30 11:14 ?453次閱讀
    <b class='flag-5'>MySQL</b>的整體邏輯架構

    MySQL忘記root密碼解決方案

    mysql登錄密碼為password()算法加密,解密成本太高,以下為通用方案; 原理:mysql提供了特殊啟動方式,即跳過權限表驗證,啟動后,登錄不需要提供密碼; 登錄后,即可修改mysql數據庫的user表,重置
    的頭像 發表于 04-23 16:08 ?700次閱讀

    查詢SQL在mysql內部是如何執行?

    我們知道在mySQL客戶端,輸入一條查詢SQL,然后看到返回查詢的結果。這條查詢語句在 MySQL 內部到底是如何執行的呢?本文跟大家探討一下哈,我們先來看下MySQL基本架構~
    的頭像 發表于 01-22 14:53 ?572次閱讀
    查詢SQL在<b class='flag-5'>mysql</b>內部是如何執行?

    阿里二面:了解MySQL事務底層原理嗎

    MySQL 是如何來解決臟寫這種問題的?沒錯,就是鎖。MySQL 在開啟一個事務的時候,他會將某條記錄和事務做一個綁定。這個其實和 JVM 鎖是類似的。
    的頭像 發表于 01-18 16:34 ?335次閱讀
    阿里二面:了解<b class='flag-5'>MySQL</b>事務底層原理嗎

    MySQL密碼忘記了怎么辦?MySQL密碼快速重置方法步驟命令示例!

    MySQL密碼忘記了怎么辦?MySQL密碼快速重置方法步驟命令示例! MySQL是一種常用的關系型數據庫管理系統,如果你忘記了MySQL的密碼,不必擔心,可以通過一些簡單的步驟來快速重
    的頭像 發表于 01-12 16:06 ?748次閱讀

    如何使用Golang連接MySQL

    首先我們來看如何使用Golang連接MySQL
    的頭像 發表于 01-08 09:42 ?3378次閱讀
    如何使用Golang連接<b class='flag-5'>MySQL</b>
    主站蜘蛛池模板: 91久久精品青青草原伊人| 免费在线观看a视频| 亚洲黄色小说网站| 午夜视频精品| 免费观看午夜在线欧差毛片 | 免费又黄又硬又大爽日本| 夜夜春宵翁熄性放纵古代| jizz免费一区二区三区| 特色毛片| 欧美成人eee在线| 男女交性高清视频无遮挡| 五月综合激情久久婷婷| 欧美一区二区三区影院| 国产性片在线| 人人骚| 亚洲一区有码| 欧美一区二区三区黄色| 天天爱天天做久久天天狠狼| 黄频网| 五月婷婷六月综合| videosex久久麻豆| 国产午夜爽爽窝窝在线观看| 亚洲视频免费一区| 色综合天天综合中文网| 国产亚洲欧洲人人网| 69xxxxx日本护士| 亚洲网在线| 黄色网址大全免费| 深夜视频在线播放视频在线观看免费观看| 全亚洲最大的777io影院| 亚洲美女爱爱| 一级在线观看视频| 性xxxx欧美| 婷婷综合亚洲| 丁香花的视频免费观看| 超级乱淫小黄文小说| 一级毛片看真人在线视频| 激情五月亚洲色图| 三级欧美在线| 欧美深夜| 日日干天天草|