自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PostgreSQL:世界上非常成功的數(shù)據(jù)庫

數(shù)據(jù)庫 PostgreSQL
PostgreSQL 數(shù)據(jù)庫內(nèi)核在數(shù)據(jù)庫領(lǐng)域的生態(tài)位,類似于 Linux 操作系統(tǒng)內(nèi)核在操作系統(tǒng)領(lǐng)域的生態(tài)位。對于數(shù)據(jù)庫,至少是 OLTP 數(shù)據(jù)庫來說,數(shù)據(jù)庫內(nèi)核之爭已經(jīng)塵埃落定 —— PostgreSQL 已經(jīng)是一臺足夠完美的內(nèi)核發(fā)動機(jī)。

2023 年 StackOverflow 調(diào)研結(jié)果已經(jīng)新鮮出爐,來自185個國家與地區(qū)的9萬名開發(fā)者給出了高質(zhì)量的反饋。在今年的調(diào)研中,PostgreSQL 在數(shù)據(jù)庫全部三項調(diào)研指標(biāo)(流行度,喜愛度,需求度)上獲得無可爭議的全能冠軍,成為真正意義上“最成功”的數(shù)據(jù)庫 —— "PostgreSQL is the Linux of Database!"

圖片圖片

當(dāng)我們說一個數(shù)據(jù)庫“成功”時,究竟在說什么?評價一個數(shù)據(jù)庫有許多標(biāo)準(zhǔn):功能、質(zhì)量、安全、性能、成本,但沒有哪種可以普世泛用。不過 Succeed 既代表成功,又代表繼承,所以成功與“后繼有人”相通。對一項技術(shù)而言,用戶的規(guī)模、喜好、需求決定了生態(tài)的繁榮程度,唯有這種最終存在意義上的神意裁決 —— 才能讓所有人心服口服。而連續(xù)進(jìn)行7年的 StackOverflow 年度開發(fā)者調(diào)研為我們窺見技術(shù)發(fā)展流行趨勢打開了一扇窗戶。

PostgreSQL現(xiàn)在是全世界最流行的數(shù)據(jù)庫

PostgreSQL是開發(fā)者最喜愛欣賞的數(shù)據(jù)庫!

PostgreSQL是用戶需求最為強(qiáng)烈的數(shù)據(jù)庫!

流行度代表過去,喜愛度代表現(xiàn)在,需求度代表將來,這三個指標(biāo)很好地反映了一項技術(shù)的生命力。存量與增量,時與勢都站在 PostgreSQL 一側(cè),恐怕在幾年內(nèi)恐怕都不會有任何能挑戰(zhàn) PostgreSQL 地位的競爭對手。

作為 PostgreSQL 忠實的用戶,社區(qū)成員,專家,布道師與貢獻(xiàn)者,從擁抱 PostgreSQL 的那一刻起,我就相信會有這一天,然而親自見證這一刻,仍然讓我感慨良多。遂撰此文,聊一聊這件事背后的 Why 與 What。

數(shù)據(jù)的來源:社區(qū)調(diào)研

數(shù)據(jù)庫的用戶是開發(fā)者,而沒有比直接問開發(fā)者們更有代表性的調(diào)研方式了。StackOverflow 調(diào)研結(jié)果中提供了 流行,欣賞,渴望 三個結(jié)果指標(biāo),但這三項數(shù)據(jù)都來自同一個巧妙設(shè)計的問卷題目:

“在過去一年中,您在哪些數(shù)據(jù)庫環(huán)境中進(jìn)行了密集的開發(fā)工作,您又希望在接下來一年在哪些數(shù)據(jù)庫上工作?如果你過去一年用了這個數(shù)據(jù)庫,來年還希望接著用,那么就在兩個復(fù)選框上都打勾”。

“Which database environments have you done extensive development work in over the past year, and which do you want to work in over the next year? If you both worked with the database and want to continue to do so, please check both boxes in that row.” 

每個數(shù)據(jù)庫后都有兩個復(fù)選框,如果開發(fā)者在第一個框上打勾,即去年我在用此數(shù)據(jù)庫,那么就會被標(biāo)記為“使用者”(Used);如果開發(fā)者在第二個框上打勾,即來年我想用這個數(shù)據(jù)庫,那么會被標(biāo)記為“需求者”(Wanted);而兩個框都打勾的開發(fā)者,會被標(biāo)記為 “贊賞者”(Loved / Admired)。

圖片圖片

使用者占總體的比例,就是流行度,或使用率,在上圖左邊用柱狀圖表示。需求者占總體的比例,就是需求度,或渴望度,在上圖右邊以紅點(diǎn)表示。贊賞者占現(xiàn)有使用者的比例,就是欣賞度,或喜愛度/口碑,在上圖右邊以紅點(diǎn)表示。不難看出,2023年,PostgreSQL 在流行度上甩開 MySQL,成為世界上最流行的數(shù)據(jù)庫。在需求度和口碑上更是遠(yuǎn)遠(yuǎn)甩開其他數(shù)據(jù)庫獨(dú)樹一幟。

同樣的問題連續(xù)問了7年,如果我們結(jié)合這過去七年的變遷,把排名前10的主流數(shù)據(jù)庫流行度 - 凈喜愛度 畫在一張二維散點(diǎn)圖上,那么就能更容易地獲得一些關(guān)于數(shù)據(jù)庫領(lǐng)域的發(fā)展變遷的洞察,對形成正確的比例感很有幫助。

圖片圖片

X軸為流行度,Y軸為凈喜愛程度(2*喜愛度% - 100),圖元大小與流行度與喜愛度的幾何平均數(shù)成正比。

在 2023年的當(dāng)下切面中,四個角落被四種數(shù)據(jù)庫占據(jù):右上角是最為流行且最受歡迎的 PostgreSQL,右下角是流行但不受待見的 MySQL,左上角是流行程度一般但備受歡迎的 Redis,左下角是過氣且不受待見的 Oracle。在四者中間,坐落著相對中庸的 SQLite,MongoDB 與 SQL Server。

結(jié)合時間軸不難看出,PostgreSQL 的流行程度與受歡迎程度在持續(xù)增長;MySQL 的受歡迎程度變化不大但流行度暴跌;Redis 與 SQLite 整體上在進(jìn)步,而 MongoDB 開始見頂回落,SQL Server 和 Oracle 這兩種商業(yè)關(guān)系型數(shù)據(jù)庫最近幾年都在持續(xù)走下坡路。

從圖中我們可以得出一個基本的判斷:在未來幾年中,數(shù)據(jù)庫領(lǐng)域都不會出現(xiàn)足以挑戰(zhàn) PostgreSQL 的對手。PostgreSQL 在數(shù)據(jù)庫領(lǐng)域的地位,已經(jīng)如同 Linux 在服務(wù)器操作系統(tǒng)上的地位一樣難以撼動。

過去的積累:流行度

PostgreSQL —— 世界上最流行的數(shù)據(jù)庫

一項技術(shù)使用者占總體的比例,就是流行度。它的含義是:過去一年有多少比例的用戶使用了這項技術(shù)。流行度代表過去一年的積累使用,是存量指標(biāo),也是最核心的事實指標(biāo)。

在 2023 年, “最先進(jìn)” PostgreSQL 在所有開發(fā)者中以 45.6% 的使用率,首次超過“最流行”數(shù)據(jù)庫 MySQL 41.1%,領(lǐng)先 4.5% ,使用率是第二名 MySQL 的1.1倍。對于專業(yè)開發(fā)者(約占總樣本的3/4)來說,PostgreSQL 的使用率在去年(2022)就已經(jīng)超過 MySQL 了,以 46.5% vs 45.7% 領(lǐng)先0.8個百分點(diǎn),在 2023 年,這一差距進(jìn)一步拉大到 49.1% vs 40.6,領(lǐng)先 8.5%  —— 換句話說,專業(yè)開發(fā)者中,PostgreSQL 的使用率已經(jīng)是 MySQL 的 1.2 倍了。

圖片圖片

過去幾年,MySQL 一直霸占著數(shù)據(jù)庫流行榜的榜首,洋洋得意地打起了 ”世界上最流行的開源關(guān)系型數(shù)據(jù)庫“ 這一旗號。不過這次,”最流行“的桂冠真的要讓給 PostgreSQL 了。在流行度上,其他數(shù)據(jù)庫和 PostgreSQL / MySQL 比根本就不是一個重量級,自然就更不用說了。

更重要的的是變化趨勢:在長期列入排名的十幾款頭部數(shù)據(jù)庫中,只有 PostgreSQL 的流行度是持續(xù)上升的,保持著高歌猛進(jìn)的增長勢頭,而其他所有的數(shù)據(jù)庫使用率都在下行。此消彼長,隨著時間的推移,PostgreSQL 與其他數(shù)據(jù)庫的流行度差距只會進(jìn)一步拉大 —— 因此在相當(dāng)長的一段時間內(nèi),恐怕是看不到有任何挑戰(zhàn)者能撼動 PostgreSQL 現(xiàn)在的位置了。

圖片圖片

值得一提的是,“國產(chǎn)數(shù)據(jù)庫”的標(biāo)桿 ”TiDB“ 這次也加入到 StackOverflow 排行榜中,并以 0.2% 的使用率,拿到了末位第 32 名的名次。

流行度反映的是當(dāng)下數(shù)據(jù)庫的規(guī)模勢能,而喜愛度反映的是未來數(shù)據(jù)庫的增長潛能。

現(xiàn)在的動能:喜愛度

PostgreSQL —— 最受開發(fā)者喜愛的數(shù)據(jù)庫

所謂“口碑”,喜愛度(Loved)或欣賞度(Admired),指的是有多少比例的用戶愿意繼續(xù)使用此項技術(shù),這是一個年度的“留存率”指標(biāo),可以反映用戶對一項技術(shù)的看法與評價。

2023 年, PostgreSQL 蟬聯(lián)最受開發(fā)者喜愛的數(shù)據(jù)庫。過去幾年 Redis 一直是用戶最喜歡的數(shù)據(jù)庫。直到 2022 年,PostgreSQL 第一次超過 Redis,成為最受開發(fā)者喜愛的數(shù)據(jù)庫。PostgreSQL 和 Redis 的口碑一直在伯仲之間(70%),并與其他后來者拉開了非常顯著的差距。

圖片圖片

作為一個交叉印證,在 2022 PostgreSQL 社區(qū)年度調(diào)研中,對于 PostgreSQL 的存量用戶來說,使用程度加深,用量加大的比例(藍(lán)/粉)對于用量萎縮的比例(黃綠)占據(jù)了壓倒性多數(shù),足以說明基本盤留存的穩(wěn)定程度。

圖片圖片


Redis是簡單易用的數(shù)據(jù)結(jié)構(gòu)緩存服務(wù)器,經(jīng)常會與關(guān)系型數(shù)據(jù)庫 PostgreSQL 搭配使用,廣受開發(fā)者喜愛(但流行度一般,只有20%,位列第六)。在后面的交叉分析環(huán)節(jié)我們也可以看到這兩者之間有著所有數(shù)據(jù)庫間最為強(qiáng)烈的羈絆 —— 86% 的 Redis 用戶想要使用 PostgreSQL,而 30% 的 PostgreSQL 用戶想要使用 Redis。

其他評價正面的數(shù)據(jù)庫包括:SQLite,MongoDB,SQL Server 等。MySQL 和 ElasticSearch 的口碑在 50% 中線算毀譽(yù)參半。榜上最不受用戶待見的數(shù)據(jù)庫為 Access、 IBM DB2 、CouchDB,Couchbase,以及 Oracle。

并不是所有潛能,都可以轉(zhuǎn)換為實打?qū)嵉膭幽?。用戶的喜愛并不一定會付諸行動,而這就是第三項指標(biāo)所要回答的問題 —— 需求度。

未來的趨勢:需求度

PostgreSQL —— 需求量最大的數(shù)據(jù)庫

需求者占總體的比例,就是需求率(Wanted),或渴望度(Desired)。它的含義是,接下來一年有多少比例的用戶會實際選擇使用此項技術(shù)。

在需求度 / 渴望度 這一項中,PostgreSQL 一騎絕塵,遠(yuǎn)遠(yuǎn)甩開其他數(shù)據(jù)庫。以 42.3% 的比例連續(xù)第二年獲得第一,且保持著一往無前的增長態(tài)勢。不斷與后來者拉開距離。

圖片圖片

在 2023 年,一些數(shù)據(jù)庫的需求量出現(xiàn)了顯著增長。大概率是因為由 OpenAI ChatGPT 所引領(lǐng)的大語言模型AI浪潮所致:對智能的需求拉動了對數(shù)據(jù)基礎(chǔ)設(shè)施的需求。10年前,對 JSONB/GIN 等 NoSQL 特性的支持奠定了 PostgreSQL 在互聯(lián)網(wǎng)黃金時代的蓬勃發(fā)展,而今天,第一個構(gòu)建在成熟數(shù)據(jù)庫上的向量擴(kuò)展 pgvector ,更是讓 PostgreSQL 有了進(jìn)入 AI 時代的船票,為下個十年的增長準(zhǔn)備好了敲門磚。

但是,為什么呢?

PostgreSQL 在需求率, 使用率,喜愛率上都拔得頭籌,天時地利人和齊備,動能勢能潛能都有,足以稱得上是最成功的數(shù)據(jù)庫,而且在肉眼可見的幾年里也不會有任何挑戰(zhàn)者。但令人好奇的是,為什么 PostgreSQL 會如此成功 ? 其實,秘密就藏在它的 Slogan 里:”世界上最先進(jìn)的開源關(guān)系型數(shù)據(jù)庫“

關(guān)系型數(shù)據(jù)庫是如此的普及與重要,也許其他的數(shù)據(jù)庫品類如鍵值,文檔,搜索引擎,時序,圖,向量加起來也比不上它的一個零頭。以至于當(dāng)大家談起數(shù)據(jù)庫時,如果沒有特殊說明,默認(rèn)隱指的就是”關(guān)系型數(shù)據(jù)庫“。在它面前,沒有其他數(shù)據(jù)庫品類敢稱自己為”主流“。

在去年的《為什么PostgreSQL將成為最成功的數(shù)據(jù)庫?》中,我們詳細(xì)介紹了關(guān)系型數(shù)據(jù)庫的競爭格局 —— 三足鼎立:關(guān)系型數(shù)據(jù)庫的生態(tài)位高度重疊,其關(guān)系可以視作零和博弈。拋開微軟生態(tài)關(guān)門自嗨相對獨(dú)立的商業(yè)數(shù)據(jù)庫 SQL Server 不提,在當(dāng)下分久必合的收斂階段中,以 WireProtocol 計能作為“根”的數(shù)據(jù)庫只有三種:Oracle,MySQL,以及PostgreSQL。關(guān)系型數(shù)據(jù)庫世界里上演的是一場三國演義。

今天下三分,然 Oracle/MySQL 疲敝 ,日薄西山, PostgreSQL 高歌猛進(jìn),如日中天。此消彼長,前途無量。

圖片圖片

“Oracle 有才無德,MySQL 才淺德薄,PGSQL 德才兼?zhèn)洹?/p>

Oracle 是老牌商業(yè)數(shù)據(jù)庫,有著深厚的歷史技術(shù)積淀,功能豐富,支持完善。廣受不差錢且需要背鍋俠的企業(yè),特別是金融行業(yè)喜愛。但其費(fèi)用高昂,且以訟棍行徑成為知名的業(yè)界毒瘤。Microsoft SQL Server 性質(zhì)與Oracle類似,都屬于商業(yè)數(shù)據(jù)庫。商業(yè)數(shù)據(jù)庫整體受開源數(shù)據(jù)庫沖擊,處于緩慢衰退的狀態(tài)。

MySQL 號稱“最為流行”,然而樹大招風(fēng):前有狼后有虎,上有野爹下有逆子,處于四面楚歌的境地中:在嚴(yán)謹(jǐn)?shù)氖聞?wù)處理和數(shù)據(jù)分析上,MySQL 被同為開源生態(tài)位的 PostgreSQL 甩開幾條街;而在糙猛快的敏捷方法論上,MySQL 又不如新興 NoSQL 好用;上有養(yǎng)父 Oracle 壓制,中有兄弟 MariaDB 分家,下有逆子 TiDB/OB 等兼容 NewSQL 分羹,因此也在走下坡路。

Oracle 作為老牌商業(yè)數(shù)據(jù)庫,才毋庸質(zhì)疑;但其作為業(yè)界毒瘤,“德” ,亦不必多說,故曰:“有才無德”。

MySQL 雖有開源之功德,奈何認(rèn)賊作父;且才疏學(xué)淺,功能簡陋,只能干干CRUD,故曰:“才淺德薄”。

唯 PostgreSQL,德才兼?zhèn)洌杭日紦?jù)了開源崛起之天時,又把握了最為流行之地利,還有著先進(jìn)穩(wěn)定之人和。

正所謂:君子藏器于身,因時而動。不鳴則已,一鳴驚人!

開源與先進(jìn)

來自 TimescaleDB 的PostgreSQL 社區(qū)年度調(diào)研也反映出,用戶選擇 PostgreSQL 的首要因素便是 開源 與 穩(wěn)定。

開源 —— 意味著軟件本身可以免費(fèi)使用,可以二次開發(fā),沒有供應(yīng)商鎖定,不存在“卡脖子問題”。 可靠 —— 意味它能正確穩(wěn)定工作,行為表現(xiàn)能夠符合預(yù)期,而且有著長時間大規(guī)模生產(chǎn)環(huán)境的優(yōu)異戰(zhàn)績。越是資深的開發(fā)者,便越是看重這兩個屬性。

寬泛地講,擴(kuò)展,生態(tài),社區(qū),協(xié)議可以歸并入 “開源” 。而穩(wěn)定可靠,ACID,SQL,擴(kuò)展,可用性,可以總結(jié)為 “先進(jìn)” 。這便正好與 PostgreSQL 的 Slogan 相呼應(yīng) —— 世界上最先進(jìn)的開源關(guān)系型數(shù)據(jù)庫。

圖片圖片

開源之德

PG的“德”在于開源。祖師爺級的開源項目,全世界開發(fā)者群策群力的偉大成果。協(xié)議友善BSD,生態(tài)繁榮擴(kuò)展多。開枝散葉,子孫滿堂,Oracle替代扛旗者

什么叫“德”,合乎于“道”的表現(xiàn)就是德。而這條“道”就是開源。PostgreSQL是歷史悠久的祖師爺級開源項目,更是全世界開發(fā)者群策群力的典范成果。

很久很久以前,開發(fā)軟件/信息服務(wù)需要使用非常昂貴的商業(yè)數(shù)據(jù)庫軟件。單花在軟件授權(quán)上的費(fèi)用可能就有六七位數(shù),加之相近的硬件成本與服務(wù)訂閱成本。Oracle一個 CPU 核一年的軟件授權(quán)費(fèi)用便高達(dá)十幾萬,壕如阿里也吃不消要“去IOE”。以 PostgreSQL / MySQL 為代表的的開源數(shù)據(jù)庫崛起,讓世界多了一個新的選擇。

“不要錢” 的開源數(shù)據(jù)庫可以讓我們自由隨意地使用數(shù)據(jù)庫軟件,而這一點(diǎn)引發(fā)了行業(yè)變革:從上萬元每核·每月的商業(yè)數(shù)據(jù)庫軟件授權(quán),到20塊錢/核·月的純硬件成本。數(shù)據(jù)庫走入了尋常企業(yè)中,讓免費(fèi)提供信息服務(wù)成為可能。

圖片圖片

開源是有大功德的:互聯(lián)網(wǎng)的歷史就是開源軟件的歷史,IT行業(yè)之所以有今天的繁榮,人們能享受到如此多的免費(fèi)信息服務(wù),核心原因之一就是開源軟件。開源是一種真正成功的,以軟件自由為目的,由開發(fā)者構(gòu)成的 Communism(社區(qū)主義):軟件這種IT業(yè)的核心生產(chǎn)資料變?yōu)槿澜玳_發(fā)者公有,按需分配。開發(fā)者各盡所能,人人為我,我為人人。

一個開源程序員工作時,其勞動背后可能蘊(yùn)含的是數(shù)以萬計頂尖開發(fā)者的智慧結(jié)晶。程序員薪資高從原理上來說是因為,開發(fā)者本質(zhì)上不是一個簡單的工人,而是一個指揮軟件和硬件干活的包工頭。程序員自己就是核心生產(chǎn)資料;軟件來自公有社區(qū);服務(wù)器硬件更是唾手可得;因此一個或幾個高級的軟件工程師,就可以很輕松地利用開源生態(tài)快速解決領(lǐng)域問題。

通過開源,所有社區(qū)開發(fā)者形成合力,極大降低了重復(fù)造輪子的內(nèi)耗。使得整個行業(yè)的技術(shù)水平以匪夷所思的速度向前邁進(jìn)。開源的勢頭就像滾雪球,時至今日已經(jīng)勢不可擋。越是底層基礎(chǔ)的軟件,開源便越占據(jù)主導(dǎo)優(yōu)勢?;旧铣艘恍┨厥鈭鼍昂吐窂揭蕾?,軟件特別是基礎(chǔ)軟件中,閉門造車/所謂”自力更生“已經(jīng)成了業(yè)內(nèi)超級大笑話。

圖片圖片

開源,是 PostgreSQL 對陣 Oracle 的最大底氣所在。

Oracle 先進(jìn),但 PostgreSQL 也不差。PostgreSQL 是 Oracle 兼容性最好的開源數(shù)據(jù)庫,原生即支持 Oracle 85% 的功能,更有 96% 功能兼容的專業(yè)發(fā)行版。但更重要的是,Oracle 價格高昂,而 PG 開源免費(fèi)。壓倒性的成本優(yōu)勢讓 PG 擁有了巨大的生態(tài)位基礎(chǔ):它不一定要在功能先進(jìn)性上超過 Oracle 才能成功 ,廉價9成正確 已經(jīng)足以干翻 Oracle 。

PostgreSQL 可以視作一個開源版的“Oracle”,是唯一能真正威脅到 Oracle 的數(shù)據(jù)庫。作為 ”去O“ 抗旗者,PG 可謂子孫滿堂,養(yǎng)活了一大批 自主可控 的國產(chǎn)數(shù)據(jù)庫公司。根據(jù)信通院統(tǒng)計,36% 的 “國產(chǎn)數(shù)據(jù)庫” 直接基于PG “二開/魔改/套殼/換皮”,華為的openGuass 與 GaussDB 就是最典型的例子。重要的是,PostgreSQL 使用 BSD-Like 的 PostgreSQL 協(xié)議,是允許這種行為的 —— 你只要不打著PG的名號招搖撞騙,改個名字直接賣起來就行。這樣開放的胸襟,是被Oracle收購的,使用GPL協(xié)議的 MySQL 所難以比擬的。

先進(jìn)之才

PG的“才”在于先進(jìn)。一專多長,全棧多模:“自主可控自動駕駛時序地理空間AI向量分布式文檔圖譜全文檢索可編程超融合聯(lián)邦流批一體 HTAP Serverless 全棧式平臺數(shù)據(jù)庫”,單一組件即可覆蓋幾乎所有數(shù)據(jù)庫需求。

PG的“才”在于一專多長。PostgreSQL 不僅僅是傳統(tǒng)意義上只能做 OLTP 的單純 “關(guān)系型數(shù)據(jù)庫”,而是一個多模態(tài)數(shù)據(jù)庫。對于中小企業(yè)來說,基本單一組件便足以覆蓋中小型企業(yè)絕大多數(shù)場景的數(shù)據(jù)需求:OLTP,OLAP,時序,地理空間GIS,分詞與全文檢索,JSON/XML文檔,NoSQL特性,圖,向量,全都能用。

圖片圖片

皇帝數(shù)據(jù)庫 —— 自主可控自動駕駛時序地理空間AI向量分布式文檔圖譜全文檢索可編程超融合聯(lián)邦流批一體 HTAP Serverless 全棧式平臺數(shù)據(jù)庫

PostgreSQL 的先進(jìn),除了體現(xiàn)在其備受贊譽(yù)的內(nèi)核穩(wěn)定性上,更是體現(xiàn)在它強(qiáng)大的可擴(kuò)展性里。插件系統(tǒng)讓 PostgreSQL 不再僅僅是一個單線程演化的數(shù)據(jù)庫內(nèi)核,而是可以有無數(shù)并行演進(jìn)的擴(kuò)展插件,如同量子計算一般同時探索所有方向上的可能性。每一個數(shù)據(jù)處理的細(xì)分垂直領(lǐng)域,PostgreSQL 也許會遲到,但絕不會缺席。

正如:PostGIS 之于地理時空數(shù)據(jù)庫,TimescaleDB 之于時序數(shù)據(jù)庫,Citus 之于分布式/列存儲/HTAP數(shù)據(jù)庫,PGVector 之于AI向量數(shù)據(jù)庫,AGE之于圖數(shù)據(jù)庫,PipelineDB 之于流處理;以及終極殺招 —— 使用外部數(shù)據(jù)源包裝器(FDW),使用統(tǒng)一的 SQL 訪問所有異構(gòu)的外部數(shù)據(jù)庫。可以說PG是真正的全棧數(shù)據(jù)庫平臺,比起 MySQL 這樣單純的 OLTP 數(shù)據(jù)庫,它的功能要先進(jìn)太多了。

圖片圖片

在一個很可觀的規(guī)模內(nèi),PostgreSQL 都可以獨(dú)立扮演多面手的角色,一個組件當(dāng)多種組件使。而單一數(shù)據(jù)組件選型可以極大地削減項目額外復(fù)雜度,這意味著能節(jié)省很多成本。它讓十個人才能搞定的事,變成一個人就能搞定的事。 在使用“專用數(shù)據(jù)庫”前切莫忘記:為了不需要的規(guī)模而設(shè)計是白費(fèi)功夫,這屬于過早優(yōu)化的一種形式。如果真有那么一樣技術(shù)可以滿足你所有的需求,那么使用該技術(shù)就是最佳選擇,而不是試圖用多個組件來重新實現(xiàn)它。

以探探為例,在 450w TPS 與 200 TB 不重復(fù)TP數(shù)據(jù)的量級下,單一PostgreSQL選型依然能穩(wěn)定可靠地?fù)纹饦I(yè)務(wù),并能在很可觀的規(guī)模內(nèi)做到一專多長。除了本職的 OLTP,PG 還在相當(dāng)長的時間里兼任了緩存,OLAP,批處理,甚至消息隊列的角色。當(dāng)然神龜雖壽,猶有竟時。最終這些兼職功能還是要逐漸分拆出去由專用組件負(fù)責(zé),但那已經(jīng)是近千萬日活時候的事了。

圖片圖片

PostgreSQL 的先進(jìn),更是體現(xiàn)在其繁榮的生態(tài)里。以數(shù)據(jù)庫內(nèi)核為中心,向上,有著衍生特化的變體與構(gòu)建于其上的“上層數(shù)據(jù)庫” —— Greenplum數(shù)據(jù)倉庫,F(xiàn)irebase的開源替代 Supabase,專用圖數(shù)據(jù)庫 edgedb 等等等等。向下,有著各種開源/商業(yè)/云發(fā)行版來整合各種工具形成合力 —— 各家的RDS ,開箱即用的 Pigsty ;水平方向上,甚至還有著一些強(qiáng)大的擬態(tài)組件/版本,可以通過兼容 Wire Protocol 的方式來仿真其他數(shù)據(jù)庫,無需修改客戶端驅(qū)動就能完成數(shù)據(jù)庫遷移 —— 模擬 SQL Server 的 babelfish,模擬 MongoDB 的 FerretDB,兼容 Oracle 的 EnterpriseDB / IvorySQL 都是樣例。

圖片圖片

PostgreSQL 的先進(jìn)性有目共睹,這也是其對陣同為開源關(guān)系型數(shù)據(jù)庫的老對手 —— MySQL 時,真正的核心競爭力。

先進(jìn),是 PostgreSQL 壓倒 MySQL 的核心競爭力。

MySQL的口號是“世界上最流行的開源關(guān)系型數(shù)據(jù)庫”,它的核心特點(diǎn)是糙猛快,基本盤是互聯(lián)網(wǎng)公司。

互聯(lián)網(wǎng)公司的典型特點(diǎn)是什么?追逐潮流糙猛快。糙說的是互聯(lián)網(wǎng)公司業(yè)務(wù)場景簡單(CRUD居多);數(shù)據(jù)重要性不高,不像傳統(tǒng)行業(yè)(例如銀行)那樣在意數(shù)據(jù)的一致性與正確性;可用性優(yōu)先,相比停服務(wù)更能容忍數(shù)據(jù)丟亂錯,而一些傳統(tǒng)行業(yè)寧可停止服務(wù)也不能讓賬目出錯。 猛說的則是互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)量大,它們需要的就是水泥槽罐車做海量 CRUD,而不是高鐵和載人飛船。 快說的則是互聯(lián)網(wǎng)行業(yè)需求變化多端,出活周期短,要求響應(yīng)時間快,大量需求的就是開箱即用的軟件全家桶(如LAMP)和簡單培訓(xùn)就能上手干活的 CRUD Boy。于是,糙猛快的互聯(lián)網(wǎng)公司和糙猛快的 MySQL 一拍即合,MySQL吃到了互聯(lián)網(wǎng)崛起的一波大紅利。

然而時來天地皆同力,運(yùn)去英雄不自由。時過境遷,PostgreSQL 進(jìn)步神速,在”快“與”猛“上 MySQL 已經(jīng)不占優(yōu),現(xiàn)在只剩下”糙“了。

圖片圖片

MySQL竟然默認(rèn)允許部分成功的事務(wù)提交

先進(jìn)的因會反映為流行的果,流行的東西因為落后而過氣,而先進(jìn)的東西會因為先進(jìn)變得流行。在這個變革的時代中,沒有先進(jìn)的功能打底,“流行”也也難以長久。時代所賦予的紅利,也會隨時代過去而退潮。調(diào)查的結(jié)果也用事實證明,MySQL 唯一能引以為豪的 “流行” 在 PostgreSQL 壓倒性的 “先進(jìn)” 優(yōu)勢前,根本維持不住。

先進(jìn)與開源,就是 PostgreSQL 成功的最大法寶。Oracle 先進(jìn), MySQL 開源,PostgreSQL 先進(jìn)又開源。天時地利人和齊備,何愁大業(yè)不成?

展望未來

PostgreSQL 數(shù)據(jù)庫內(nèi)核在數(shù)據(jù)庫領(lǐng)域的生態(tài)位,類似于 Linux 操作系統(tǒng)內(nèi)核在操作系統(tǒng)領(lǐng)域的生態(tài)位。對于數(shù)據(jù)庫,至少是 OLTP 數(shù)據(jù)庫來說,數(shù)據(jù)庫內(nèi)核之爭已經(jīng)塵埃落定 —— PostgreSQL 已經(jīng)是一臺足夠完美的內(nèi)核發(fā)動機(jī)。

然而,用戶最終需要的不單單是一臺發(fā)動機(jī),而是整車、駕駛能力與交通服務(wù)。數(shù)據(jù)庫領(lǐng)域競爭的焦點(diǎn),已經(jīng)從 Software 本身,轉(zhuǎn)移到了 Software enabled Service —— 完整的數(shù)據(jù)庫發(fā)行版與數(shù)據(jù)庫服務(wù)。對于基于 PostgreSQL 內(nèi)核的數(shù)據(jù)庫發(fā)行版而言,競爭才剛剛開始。誰會成為數(shù)據(jù)庫中的 Debian,RedHat 與 Ubuntu ?


責(zé)任編輯:武曉燕 來源: 非法加馮
相關(guān)推薦

2020-07-23 18:31:55

開源數(shù)據(jù)庫PostgreSQL

2024-01-11 09:11:08

數(shù)據(jù)庫SQLite管理

2024-03-04 10:48:15

PostgreSQL數(shù)據(jù)庫

2010-09-02 13:21:46

2018-11-06 12:22:18

排序算法代碼

2011-07-26 14:34:28

openSUSEpostgresql

2013-05-08 09:38:28

InteropNetSDN網(wǎng)絡(luò)設(shè)備供應(yīng)商

2018-12-04 15:46:53

編程語言Python

2018-07-19 19:07:33

語言編程語言程序

2015-11-25 09:41:05

數(shù)據(jù)中心

2009-11-03 14:04:34

數(shù)據(jù)中心微軟

2023-03-07 08:17:19

Postgresql數(shù)據(jù)庫優(yōu)化

2015-12-22 10:52:36

UbuntuPostgreSQLphpPgAdmin

2019-11-20 09:08:46

PostgreSQL數(shù)據(jù)庫

2019-11-18 15:07:54

編程語言C#

2023-07-31 08:59:46

軟件FossilSQLite

2014-09-05 09:08:58

2013-09-16 11:12:51

編程環(huán)境開發(fā)

2013-04-24 09:57:08

Excel微軟

2024-07-01 09:23:39

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號