国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

冷門但稀缺的技能:打包構(gòu)建

0
分享至

最近我的朋友,Omnigres 的創(chuàng)始人尤里跟我聊天,他說想要招一個 PostgreSQL 打包專家 —— 當然具體的崗位名字,他起了個 EEE —— Extension Ecoystem Engineer,也就是 “擴展生態(tài)工程師”,倒是挺有意思。他發(fā)的這個 JD 吧,是公開的(https://github.com/omnigres/rfc/pull/2/files),我就直接貼在下面了。

稀缺的技能:Linux 打包

我覺得他的這個 JD 有點兒過分,DevRel + SRE + DBA + Building Engineer + PostgreSQL 專精 六邊形戰(zhàn)士,簡直是照著我寫的,但老馮還真沒見過其他有這種組合的人,所以我還是建議他老老實實找一個精通 Debian/EL 打包的構(gòu)建工程師更實際一些…。但盡管如此,我認為難度還是挺大的,因為熟悉 “打包構(gòu)建” 這個技能的人,咱都不能說用”稀缺“來形容了(更稀缺的應該是 DevRel)。

當然這里其實上下文語境,說的是 PostgreSQL 數(shù)據(jù)庫內(nèi)核/擴展在 Linux 操作系統(tǒng)上的構(gòu)建打包。主要是 C 和 C++,還有一些 Rust,Java,Go 之類的擴展與工具。打包的產(chǎn)物主要是 RPM 和 DEB 包,以 APT / YUM 軟件倉庫的形式交付。老馮認為,這是一個相當不為人知的高價值稀缺技能。

什么時候意識到這一點?

老馮第一次意識到構(gòu)建打包這個事是在 2017 年,那時候我去聊 Pivotal,面試官就問了我一嘴,你會打包嗎,我們現(xiàn)在沒有會這個的。我就嘀咕,什么包? RPM 包?嘿還真是。后來 Pivotal 出來的姚老板(YMatrix)也問過我這個事,你是不是打包構(gòu)建比較熟悉,我們現(xiàn)在就特別缺這個,又讓我加深了印象。

后來其實我也看過許多國內(nèi)國外的數(shù)據(jù)庫公司發(fā)布的軟件,打包這一塊確實慘不忍睹。比如之前的 Greenplum 是怎么交付給客戶的呢?是一個 CentOS 7.9 RPM 包。啊對,這個軟件它就提供一個 EL 7.9 RPM 包,您想要在 EL 8, EL9,或者 Ubuntu / Debian 或者其他 Linux 上運行?拜拜了您吶!

包括阿里云的 PolarDB for PG ,瀚高的 IvorySQL,本來也就是一兩個 EL RPM 包的樣子,在老馮的 Push 下總算是支持齊活主流 Linux 發(fā)行版了。MySQL 兼容的 OpenHalo 內(nèi)核和 OrioleDB ,干脆就是我直接自己上替他們打包了。


構(gòu)建打包的價值

打包這個技能很稀缺,但價值在哪里?其實你會發(fā)現(xiàn),絕大多數(shù)終端用戶 并不在乎你是不是開源,他們在乎的是有沒有一個穩(wěn)定可靠(最好免費)的二進制軟件包可以下載。就比如說 Greenplum 閉源了,但現(xiàn)在還時不時的有朋友來管我要 Greenplum 的 RPM 包。姚老板的 YMatrix (GP7 閉源分支)雖說是閉源商業(yè)軟件,但因為免費提供試用下載,大家也照樣能用著,誰管你開不開源。

更鮮活的例子是—— 源代碼其實還是在那里的,但是你把二進制產(chǎn)物(鏡像)給直接刪掉了,這就影響到終端用戶了 —— 你開不開源其實對用戶毛影響都沒有。真正會出現(xiàn)供應鏈卡脖子問題的,從來都不是軟件的源代碼,而是軟件制成品。


構(gòu)建打包讓開源軟件自主可控

開源專家 Tison在他的公眾號文章《》和 《》其實深入聊過這個問題。結(jié)論就是:開源軟件是沒法斷供的,但是開源制品是可以斷供的 —— 想要安心使用開源軟件,最重要的還是擁有一份本地的軟件副本,或者建設自己的軟件倉庫。這里的核心就是打包構(gòu)建。

就比如最近的 《》這件事,全世界幾乎所有鏡像站都跟 PGDG 上游失去同步了,停留在五個月前的過時版本。目前全世界只有德國的 XTOM,俄羅斯的 YANDEX,和老馮在中國的 PIGSTY 提供手動更新的 PGDG 最新軟件鏡像。

當然,鏡像站也只不過是同步一下人家做好的軟件二進制制成品,退一萬步講,如果 PGDG 不是停止增量同步而是直接徹底鎖死。那你要是想完全獨立從零搭建起一個軟件倉庫出來,針對 RISC-V,MIPS ,ARM 等亂七八糟的國產(chǎn)架構(gòu)分門別類構(gòu)建,那么打包構(gòu)建依然是繞不過去的一道門檻。

打包和打包不一樣

當然有人會說,哎呀,都是開源軟件,你可以自己從源代碼編譯呀?這話說的不假,使用現(xiàn)代語言編寫的軟件已經(jīng)針對打包構(gòu)建流程做了很多優(yōu)化了。比如,用 Go 語言寫的程序就非常容易構(gòu)建打包,甚至還有 goreleaser 這樣的神器,可以一鍵幫跨平臺構(gòu)建所有組合,生成 RPM / DEB 包,構(gòu)建并推送 Docker 鏡像然后自動創(chuàng)建 GitHub Release ,而你讓 Vibe Coding 幫你實現(xiàn)這樣的工作流可能都要不了半個小時。

但是,我們說的并不是這些,而是像 Debian,PostgreSQL 這樣的巨無霸生態(tài)型項目(基本上基于 C / C++)。而且,構(gòu)建打包 PostgreSQL 數(shù)據(jù)庫,可不是幾個 RPM 包就完事了。我這么說,現(xiàn)在我提供的10個發(fā)行版Linux發(fā)行版 x 5個PG大版本,再加上擴展和工具,總共有4萬多個左右的 RPM/DEB 包。

打包構(gòu)建并不是一件輕松的工作:要處理好各種依賴,glibc,icu,openssl,PostGIS 帶著的一顆碩大無朋的依賴數(shù)。各種插件依賴的各種奇奇怪怪的系統(tǒng)庫,不同操作系統(tǒng)發(fā)行版甚至是大版本上的版本沖突, cmake,make,ninja,cargo 各種構(gòu)建工具的用法,諸如此類。

你為什么不用Docker?

Docker 似乎是來 “解決” 打包構(gòu)建的一種捷徑 —— 一次構(gòu)建,到處運行 —— 才怪。我的意思是:用 Docker 你可以不用處理 Linux 操作系統(tǒng)大版本的組合因子(比如 el9, d12, u24 這種差異),但你依然要針對 PG 大版本,系統(tǒng)架構(gòu),以及幾百個擴展和他們的多個版本進行構(gòu)建。第二,如果你去看 Postgres Docker 鏡像,就會發(fā)現(xiàn)其實它的 Dockerfile 里也還是用 apt install 去安裝 PGDG 的 DEB 包的…。Linux 軟件包是 Docker 鏡像的上游,而不是相反。

第三,PG 的擴展是它區(qū)別于其他數(shù)據(jù)庫的核心特色之一,而 Docker 容器鏡像至今也沒有辦法優(yōu)雅解決 PostgreSQL 擴展插件持久化的問題 —— 你不知道用戶到底需要幾百個擴展中的哪一個,然而全部裝上又顯得過于臃腫和愚蠢。Alvaro 在這一方面正在進行一些前沿探索,但老馮感覺距離成熟實踐還有距離。

老馮怎么干起打包了?

老馮干打包這個事也就是從兩年前,那時候我要提供在 Pigsty 里自建 Supabase 的能力,但是 Supabase 用到了十幾個 PG 的擴展插件,這些擴展插件大部份都不在 PGDG 官方的二進制倉庫里面。我問了問 PGDG YUM 倉庫的維護者 Devrim,他說,Rust 寫的擴展永遠也進不了 PGDG 倉庫,因為編譯太慢了!所以老馮就只好自己上手,給這些擴展打好了 RPM 包。后來既然都打了 RPM 包,就干脆把 DEB 包也做了 —— 再后來,既然都已經(jīng)支持了十幾個 PG 擴展,那干嘛不把 PGDG 官方倉庫不支持的兩百多個 PG 擴展也打包交付了?

一步一步走到今天,老馮獨立維護了一個 PostgreSQL 擴展倉庫,里面包含了 9 種風味的 PG 內(nèi)核,以及兩百多款 PG 擴展(加上 PGDG 的總共 423 個可用擴展)。目前是 全世界 PG 生態(tài)收錄最多可用擴展制品的倉庫了。不謙虛的說,說起 PostgreSQL 打包構(gòu)建,我和 Devrim(YUM 倉庫),Christoph(APT 倉庫),álvaro(OCI 倉庫),David Wheeler(PGXN) 算是這個賽道的頂級玩家了。

最直觀的例子就是,Supabase 作為目前 AI 賽道的當紅炸子雞與數(shù)據(jù)庫最大贏家,本應吸引大量廠商入局,但直到現(xiàn)在,有能力提供自建 Supabase 能力的開源 PostgreSQL 發(fā)行版,目前也只有老馮的 Pigsty (基于原生 Linux RPM/DEB),以及 Alvaro 的 StackGres(基于 OCI 鏡像與 Kubernetes )


—— 因為我們都解決了這些 Supabase 專有擴展的構(gòu)建打包分發(fā)問題。其實卡點就在這里,Supabase 即使把他的擴展源代碼開源出來(后面還要換 OrioleDB 內(nèi)核),又有幾個人懂?又有幾個用戶有能力用起來?

說到底,單純懂 EL / Debian Linux 打包的工程師其實還是有一些的,但是同時熟悉 PostgreSQL 生態(tài),能為 PostgreSQL 幾百個包在十幾個系統(tǒng)發(fā)行版構(gòu)建的人確實是鳳毛麟角了。

懂打包的鳳毛麟角

在現(xiàn)實實踐中,老馮發(fā)現(xiàn)這個技能真的太稀缺了,就像尤里問我誰還懂這個,國內(nèi)就甭說了,就算是全球,我知道的可能 ZoomboDB 那個作者(pgrx 作者)懂這個(被 ParadeDB 挖走了),別的我還真想不出來有誰能做好這個事情了。

比如說,PG 生態(tài)中,這么多擴展,能有有能力直接在發(fā)布的時候提供主流 Linux RPM / DEB 包的,我知道的就只有 ParadeDB 一家(pg_search),而他們會做這個事是因為他們發(fā)版太頻繁了,我實在懶得替他們打包了,所以手把手教他們應該怎么打 RPM/DEB 包。另一個會自己打包的是 pgroonga,timescaledb,citus,但是怎么說呢,打的包和 PGDG 規(guī)范不統(tǒng)一,而且經(jīng)常缺這個缺那個 —— 比如 citus 一直就缺 ARM 的包,Timescale 則缺幾個特定的發(fā)行版,pgronnga 針對的是 Debian 自帶的 PG 去打的包 —— 諸如此類。

再比如說國內(nèi)的數(shù)據(jù)庫廠商, 之前阿里云的 PolarDB for PG 和 IvorySQL 也就幾個 EL RPM 包,后來我使勁兒 push 他們,總算是 Pigsty 支持的 10 個主流操作系統(tǒng)發(fā)行版現(xiàn)在都有包了。我也幫他們解決過幾個低級打包錯誤。另外那個 MySQL 兼容的 OpenHalo,老馮干脆自己上了,替他們打好了 DEB/RPM 包。同理,Supabase 收購的 OrioleDB 看上去也沒有這個能力,所以我也替他們做了 RPM / DEB ,在 Pigsty 中開箱即用。


小結(jié)

很多時候,價值源于非共識,打包構(gòu)建就屬于這種半瓶水外行看上去 “不就是編譯封裝一下”,但實際上相當稀缺的技能,脖子卡的嗷嗷叫的技能。

References



特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
兩極分化,克林根正負值-23全場最低,羅威正負值+15全隊最高

兩極分化,克林根正負值-23全場最低,羅威正負值+15全隊最高

懂球帝
2026-01-12 09:40:06
U23國足掀翻澳洲!董路:李鐵4年前用同一招輸日本1個球 卻被網(wǎng)暴

U23國足掀翻澳洲!董路:李鐵4年前用同一招輸日本1個球 卻被網(wǎng)暴

風過鄉(xiāng)
2026-01-12 08:04:27
奧利塞獨造4球,拜仁主場8-1狂勝,刷爆德甲紀錄將狼堡釘在恥辱柱

奧利塞獨造4球,拜仁主場8-1狂勝,刷爆德甲紀錄將狼堡釘在恥辱柱

釘釘陌上花開
2026-01-12 04:38:16
很多大廠開始辭退組內(nèi)的印度人!

很多大廠開始辭退組內(nèi)的印度人!

黯泉
2026-01-10 22:50:19
家中老人突然離世!與保姆分房睡時摔倒,家屬怒告!深圳法院:不用賠

家中老人突然離世!與保姆分房睡時摔倒,家屬怒告!深圳法院:不用賠

南方都市報
2026-01-11 20:52:48
從委內(nèi)瑞拉看中國,終于懂了當初毛主席為什么要選擇這么做!

從委內(nèi)瑞拉看中國,終于懂了當初毛主席為什么要選擇這么做!

阿物評論哥
2026-01-12 08:12:43
這些喪盡天良的行為,什么時候才能停止?

這些喪盡天良的行為,什么時候才能停止?

胖胖說他不胖
2026-01-10 11:00:14
溫州一企業(yè)給20年老員工發(fā)純金獎牌,已有超過百人獲得獎勵,獲獎者中絕大部分為一線員工

溫州一企業(yè)給20年老員工發(fā)純金獎牌,已有超過百人獲得獎勵,獲獎者中絕大部分為一線員工

三湘都市報
2026-01-10 15:57:57
輸球又輸人!皇馬決賽最慘之人:阿隆索親手將他打入冷宮

輸球又輸人!皇馬決賽最慘之人:阿隆索親手將他打入冷宮

瀾歸序
2026-01-12 05:35:15
日本丑后良子,苛責平民貌美兒媳41年,小眼睛大臉盤基因殃及三代

日本丑后良子,苛責平民貌美兒媳41年,小眼睛大臉盤基因殃及三代

雍親王府
2026-01-11 15:55:03
陪玩陪睡已過時!拳頭塞嘴、集體開嫖、戚薇遭殃,陰暗面徹底曝光

陪玩陪睡已過時!拳頭塞嘴、集體開嫖、戚薇遭殃,陰暗面徹底曝光

涵豆說娛
2025-11-20 16:35:46
全場最差!切爾西 5000 萬新援斷崖式拉胯 ,再這么踢位置不保

全場最差!切爾西 5000 萬新援斷崖式拉胯 ,再這么踢位置不保

瀾歸序
2026-01-12 02:09:27
梅德韋杰夫威脅綁架德國總理后續(xù)來了,默茨已表態(tài):烏克蘭將妥協(xié)

梅德韋杰夫威脅綁架德國總理后續(xù)來了,默茨已表態(tài):烏克蘭將妥協(xié)

興史興談
2026-01-11 13:28:29
朝鮮不會成為第二個委內(nèi)瑞拉!因為朝鮮有兩個后盾

朝鮮不會成為第二個委內(nèi)瑞拉!因為朝鮮有兩個后盾

米君文史
2026-01-07 10:01:47
52票贊成47票反對!美國投票結(jié)果公布;美國或?qū)⑹ヂ?lián)大投票權

52票贊成47票反對!美國投票結(jié)果公布;美國或?qū)⑹ヂ?lián)大投票權

南宗歷史
2026-01-09 10:24:03
格陵蘭值多少錢

格陵蘭值多少錢

霹靂炮
2026-01-11 22:55:22
太陽轟18-0連續(xù)3季橫掃奇才 布克17+8榜眼薩爾19+15

太陽轟18-0連續(xù)3季橫掃奇才 布克17+8榜眼薩爾19+15

醉臥浮生
2026-01-12 11:22:09
手下敗將!3連殺皇馬!冠軍之隊巴薩一夜奪冠創(chuàng)造紀錄

手下敗將!3連殺皇馬!冠軍之隊巴薩一夜奪冠創(chuàng)造紀錄

烏龍球OwnGoal
2026-01-12 11:45:48
羅晉攜任素汐去祈福后,唐嫣連發(fā)三文表態(tài),婚變傳聞終于真相大白

羅晉攜任素汐去祈福后,唐嫣連發(fā)三文表態(tài),婚變傳聞終于真相大白

瓜汁橘長Dr
2025-12-29 11:29:56
攝影比賽第一名疑似AI圖片被取消成績 主辦方:作品不符合原創(chuàng)性規(guī)則

攝影比賽第一名疑似AI圖片被取消成績 主辦方:作品不符合原創(chuàng)性規(guī)則

封面新聞
2026-01-11 17:01:04
2026-01-12 12:59:00
老馮云數(shù) incentive-icons
老馮云數(shù)
數(shù)據(jù)庫老司機,云計算泥石流,PostgreSQL大法師
75文章數(shù) 28關注度
往期回顧 全部

科技要聞

小米二手車價大跳水:SU7半年跌5萬元

頭條要聞

12歲小學生自殺遺書稱寫不會英語單詞 英語老師:委屈

頭條要聞

12歲小學生自殺遺書稱寫不會英語單詞 英語老師:委屈

體育要聞

聰明的球員,不是教練教出來的

娛樂要聞

閆學晶:脫離群眾太久 忘了自己的根

財經(jīng)要聞

揭秘“穩(wěn)賺不賠”的代工項目騙局

汽車要聞

"家轎之王"變帥了 東風日產(chǎn)全新軒逸量產(chǎn)下線

態(tài)度原創(chuàng)

藝術
游戲
家居
公開課
軍事航空

藝術要聞

畫完這組畫,他抑郁了,后來自殺了

選PS5還是XSX?馬斯克的AI給出答案 結(jié)果十分意外

家居要聞

包絡石木為生 野性舒適

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

俄大使:馬杜羅夫婦被控制時身邊沒人

無障礙瀏覽 進入關懷版