五月天成人小说,中文字幕亚洲欧美专区,久久妇女,亚洲伊人久久大香线蕉综合,日日碰狠狠添天天爽超碰97

遠(yuǎn)離硅谷、不靠風(fēng)投!18人團(tuán)隊(duì)逆勢(shì)搞出超人氣數(shù)據(jù)庫(kù),CTO 一人5年多寫(xiě)了15萬(wàn)行代碼

關(guān)注
誰(shuí)能想到自己的成果會(huì)獲得如此夸張的人氣和熱度呢?

編者按:本文來(lái)自微信公眾號(hào) InfoQ (ID:infoqchina),編譯:核子可樂(lè)、褚杏娟,創(chuàng)業(yè)邦經(jīng)授權(quán)轉(zhuǎn)載。

有一個(gè)數(shù)據(jù)庫(kù)項(xiàng)目,每月下載次數(shù)高達(dá)數(shù)百萬(wàn),僅擴(kuò)展的下載流量每天就超過(guò) 4 TB 。在 GitHub 和社交媒體平臺(tái)上,該數(shù)據(jù)庫(kù)擁有數(shù)以萬(wàn)計(jì)的 Stars 和粉絲,還擁有兩家以其為業(yè)務(wù)核心建立的初創(chuàng)公司。

這樣的活力與生態(tài)發(fā)展水平,往往只有規(guī)模更大、資歷更老的開(kāi)源列式存儲(chǔ)數(shù)據(jù)庫(kù)才能做到。然而,這個(gè)數(shù)據(jù)庫(kù)才誕生 5 年多。而最近,這個(gè)極具人氣的數(shù)據(jù)庫(kù)才迎來(lái)了自己的第一個(gè)大版本 1.0.0,代號(hào)“Snow Duck” (anas nivis)。

不錯(cuò),這就是分析型關(guān)系數(shù)據(jù)庫(kù) DuckDB。

“我們本可以在 2018 年發(fā)布 DuckDB 1.0.0,或者再等十年。從來(lái)沒(méi)有一個(gè)偉大的時(shí)刻,因?yàn)檐浖?TeX 除外)永遠(yuǎn)沒(méi)有完成的那一天。”DuckDB 聯(lián)合開(kāi)發(fā)者兼支持公司 DuckDB Labs 創(chuàng)始人 Hannes Mühleisen 說(shuō)道。

之所以現(xiàn)在發(fā)布是因?yàn)?,“版?1.0.0 對(duì)于數(shù)據(jù)管理系統(tǒng)來(lái)說(shuō)意義重大,而不是對(duì)像雞蛋計(jì)時(shí)器這樣的應(yīng)用程序(無(wú)意冒犯)。”

Mühleisen 解釋稱,數(shù)據(jù)管理系統(tǒng)(即使是純分析系統(tǒng))是任何應(yīng)用程序的核心組件,因此開(kāi)發(fā)人員和用戶之間始終存在著一種隱含的信任契約。用戶依賴數(shù)據(jù)庫(kù)提供正確的查詢結(jié)果,并且不會(huì)丟失數(shù)據(jù)。同時(shí),系統(tǒng)開(kāi)發(fā)人員需要意識(shí)到自己的責(zé)任,不能隨意破壞人們的應(yīng)用程序。

憑借 1.0.0 版本的發(fā)布,DuckDB 已經(jīng)成為一款成熟的數(shù)據(jù)庫(kù)方案,并承諾采用新的數(shù)據(jù)模型與更高的穩(wěn)定性以增強(qiáng)向下兼容能力。

據(jù)悉,團(tuán)隊(duì)進(jìn)行了大量更改,現(xiàn)在已經(jīng)可以保證向下兼容,而且在存儲(chǔ)格式層面實(shí)現(xiàn)了一定程度的向上兼容?!叭绻麑?shù)據(jù)寫(xiě)入 DuckDB 數(shù)據(jù)庫(kù),那么這種新格式能保證用戶在 10 年之后仍可正常讀取該文件。這是一項(xiàng)意義重大的變化?!?/p>

圖片憑什么在數(shù)據(jù)庫(kù)市場(chǎng)“殺”出來(lái)

“自 2018 年為這個(gè)項(xiàng)目寫(xiě)下了第一段源代碼,已經(jīng)過(guò)去了將近六年,期間發(fā)生了很多事情:現(xiàn)在有超過(guò) 300,000 行 C++ 引擎代碼、超過(guò) 42,000 次提交,并且有近 4,000 個(gè)問(wèn)題被提出和關(guān)閉?!痹擁?xiàng)目的創(chuàng)建者 Mark Raasveldt 和 Hannes Mühleisen 回憶道。

圖片

DuckDB Github Stars 數(shù)變化

DuckDB 誕生于阿姆斯特丹的 Centrum Wiskunde & Informatica 數(shù)學(xué)和理論計(jì)算研究中心,Mühleisen 在這里擔(dān)任教授。2018 年,Mühleisen 和當(dāng)時(shí)的 CWI 博士生 Mark Raasveldt 創(chuàng)建了 DuckDB。

Mühleisen 想要打造一套分析數(shù)據(jù)庫(kù),其性能與 F1 賽車(chē)相當(dāng),但用戶友好度卻向豐田卡羅拉看齊。而當(dāng)他和他的團(tuán)隊(duì)做起來(lái)創(chuàng)建這樣的系統(tǒng)時(shí),DuckDB 應(yīng)運(yùn)而生。

該項(xiàng)目被命名為“DuckDB”,因?yàn)閯?chuàng)建者認(rèn)為鴨子具有很強(qiáng)的適應(yīng)能力,可以依靠任何東西生存,這與他們?cè)O(shè)想的數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行方式類似。此外,Mühleisen 還養(yǎng)了一只名叫 Wilbur 的寵物鴨,這也是該項(xiàng)目名字的靈感來(lái)源。

Vectorwise 創(chuàng)建者 Peter Boncz 雖然未深入?yún)⑴c編寫(xiě) DuckDB 代碼庫(kù),但他也為創(chuàng)建者提供了寶貴的建議和見(jiàn)解。

從諸多方面來(lái)看,DuckDB 其實(shí)代表著典型大數(shù)據(jù)管理產(chǎn)品的對(duì)立面。

DuckDB 的開(kāi)發(fā)者并沒(méi)有像其他人那樣選擇以分布式數(shù)據(jù)存儲(chǔ)來(lái)處理規(guī)?;瘮?shù)據(jù),而是打破了從眾心理,“義無(wú)反顧”選擇了單節(jié)點(diǎn)。

作為一位一生都在學(xué)術(shù)界工作的數(shù)據(jù)庫(kù)研究人員,Mühleisen 并不喜歡現(xiàn)代大數(shù)據(jù)管理系統(tǒng)給數(shù)據(jù)科學(xué)與高級(jí)分析帶來(lái)的復(fù)雜性與高難度。

“我們?cè)缭缇兔鞔_了不會(huì)使用分布式架構(gòu)。當(dāng)時(shí)每個(gè)人都在討論將 TB 乃至 PB 級(jí)規(guī)模的數(shù)據(jù)集分派給成千上萬(wàn)個(gè)節(jié)點(diǎn)。但實(shí)際上,99% 的用戶所使用的數(shù)據(jù)集其實(shí)根本達(dá)不到那樣的體量。而只要不必選擇分布式,那么用戶體驗(yàn)就能大大簡(jiǎn)化?!盡ühleisen 表示。

如果客戶的業(yè)務(wù)達(dá)到了谷歌那樣的規(guī)模,那就只能選擇分布式架構(gòu)以及“由此衍生的種種復(fù)雜到瘋狂的方案”,比如說(shuō) MapReduce。但 Mühleisen 強(qiáng)調(diào),“對(duì)我們大多數(shù)人來(lái)說(shuō),通常需要關(guān)注的數(shù)據(jù)根本達(dá)不到 PB 那個(gè)級(jí)別。相反,多數(shù)情況也就是‘這有個(gè)煩人的文件,我想讀取它的內(nèi)容并執(zhí)行一些聚合操作’。”

DuckDB 的另一個(gè)特點(diǎn)就是忠于傳統(tǒng) SQL。雖然 NoSQL 運(yùn)動(dòng)仍在蓬勃發(fā)展,也有不少人希望使用 Python 和數(shù)據(jù)幀來(lái)查詢數(shù)據(jù),但 Mühleisen 及其團(tuán)隊(duì)意識(shí)到 SQL 并沒(méi)有本質(zhì)缺陷,所以并不需要被強(qiáng)行替代。

“我們已經(jīng)無(wú)數(shù)次聽(tīng)到 SQL 被宣判死刑,多到我都記不清了。但我們還是決定采用 SQL,事實(shí)也證明這是個(gè)好主意,因?yàn)?SQL 的群眾基礎(chǔ)真的很廣?!盡ühleisen 說(shuō)道。

與其他 OLAP 風(fēng)格的數(shù)據(jù)庫(kù)一樣,DuckDB 采用列式存儲(chǔ)(用于高效聚合)及向量化處理(用于提高性能)功能,旨在以極快的速度執(zhí)行 SQL 查詢。但它跟 Teradata 或者 Redshift 那種強(qiáng)調(diào)數(shù)據(jù)倉(cāng)庫(kù)屬性的數(shù)據(jù)庫(kù)不同,并不適合作為存放所有數(shù)據(jù)以建立“單一事實(shí)來(lái)源”的選項(xiàng)。

其他 OLAP 數(shù)據(jù)庫(kù)向右,DuckDB 向右。在功能設(shè)定上,DuckDB 更像是嵌入式分析類應(yīng)用,而非大家熟悉的數(shù)據(jù)倉(cāng)庫(kù)。

DuckDB 體量小巧,僅有 50 MB 大,可在各種操作系統(tǒng)(Linux、Windows 等)上運(yùn)行,并提供多種軟件包,包括 Python、R 和 JavaScript 等。

前谷歌 BigQuery 工程師 Jordan Tigani 指出,DuckDB 在設(shè)計(jì)上逆數(shù)據(jù)倉(cāng)庫(kù)的云擴(kuò)展潮流而動(dòng),而且充分考慮到以高性能筆記本電腦為運(yùn)行載體。身為 DuckDB 的忠實(shí)粉絲,Tigani 與他人共同創(chuàng)立了 MotherDuck 公司,專門(mén)為 DuckDB 提供后端擴(kuò)展。

DuckDB 還有一個(gè)獨(dú)門(mén)絕技,就是在有限的資源之下實(shí)現(xiàn)高性能分析與文件轉(zhuǎn)換。

DuckDB 在設(shè)計(jì)上充分考慮分析處理,而非用于事務(wù)處理。大家沒(méi)法像使用 Postgres 數(shù)據(jù)庫(kù)那樣在 DuckDB 中每秒處理百萬(wàn)行數(shù)據(jù),但如果每秒需要讀取十億行數(shù)據(jù),那交給它準(zhǔn)沒(méi)錯(cuò)。

DuckDB 在分析效率方面確實(shí)大有優(yōu)勢(shì)。這套數(shù)據(jù)庫(kù)通??梢杂脝蝹€(gè)節(jié)點(diǎn)取代以往需要 10 個(gè)節(jié)點(diǎn)組成的小型 Spark 集群。同樣,當(dāng)人們“將太多數(shù)據(jù)行塞進(jìn)”P(pán)andas 時(shí),沉重的運(yùn)行開(kāi)銷(xiāo)也往往會(huì)凸顯出 DuckDB 的輕量化特質(zhì)。

“我們有時(shí)候會(huì)自稱為分析型的 SQLite。本質(zhì)上講,我們可能發(fā)明了一種新的系統(tǒng)類型……基本思路就是無(wú)需單獨(dú)的數(shù)據(jù)庫(kù)服務(wù)器,只要將 DuckDB 粘到現(xiàn)有應(yīng)用程序之上,即可對(duì)其進(jìn)行分析。”Mühleisen 表示。例如在與儀表板對(duì)接之后,這款 C++ 數(shù)據(jù)庫(kù)就能在儀表板上提供毫秒級(jí)的響應(yīng)時(shí)間。

Mühleisen 指出,“對(duì)于客戶來(lái)說(shuō),DuckDB 的價(jià)值就是能夠運(yùn)行在任何你需要它運(yùn)行的地方,將查詢處理盡可能貼近用戶,從而為用戶體驗(yàn)提供巨大助益。”

如果用戶需要進(jìn)程內(nèi) OLTP 系統(tǒng),Mühleisen 會(huì)建議他們考慮 SQLite。反過(guò)來(lái),如果 SQLite 用戶需要分析功能,那 Mühleisen 建議大家給 DuckDB 一個(gè)機(jī)會(huì)。

遠(yuǎn)離硅谷和風(fēng)投的 18 人團(tuán)隊(duì)

DuckDB Labs 數(shù)據(jù)庫(kù)背后的工程師團(tuán)隊(duì)身處阿姆斯特丹,遠(yuǎn)離永遠(yuǎn)忙碌喧囂的美國(guó)硅谷。

但千萬(wàn)別誤以為這里技術(shù)落后——阿姆斯特丹數(shù)學(xué)與計(jì)算機(jī)科學(xué)中心正是全球最受歡迎編程語(yǔ)言 Python 的開(kāi)發(fā)團(tuán)隊(duì)所在地。而且 Mühleisen 坦言,走自己的路已經(jīng)成為 DuckDB 的一項(xiàng)獨(dú)特優(yōu)勢(shì)。

“我認(rèn)為這讓我們得以做出一些非常規(guī)的選擇和成果。如果身在舊金山,那我們將沒(méi)有自由可言?,F(xiàn)在我們可以忽略掉那些商業(yè)慣例,做一些我們自己認(rèn)為正確的事情并真正取得成功?!?/p>

另外,該公司一直在拒絕風(fēng)險(xiǎn)投資的介入。

第二家 DuckDB 初創(chuàng)公司、總部位于華盛頓州西雅圖的 MotherDuck 開(kāi)發(fā)出了 DuckDB 的無(wú)服務(wù)器版本,并得到了 Mühleisen 以及 DuckDB Labs 聯(lián)合創(chuàng)始人兼 CTO Mark Raasveldt 的支持。盡管這家企業(yè)已經(jīng)籌集到 5250 萬(wàn)美元,并將于今年秋季迎來(lái) 4 億美元估值,但 DuckDB Labs 這邊卻一分錢(qián)也沒(méi)拿。

而雇用了 DuckDB 核心貢獻(xiàn)者的公司 DuckDB Labs 從未獲得任何外部投資,因此該公司完全由團(tuán)隊(duì)所有。這種做法也收到了社區(qū)的歡迎,“這似乎是長(zhǎng)期保護(hù)開(kāi)源項(xiàng)目的絕佳結(jié)構(gòu)。”有網(wǎng)友說(shuō)道。

風(fēng)險(xiǎn)投資者們當(dāng)然熱情伸出了橄欖枝。Mühleisen 坦言,“我們當(dāng)然吸引到了不少風(fēng)險(xiǎn)投資公司的關(guān)注,各方都希望跟我們聊聊。比如 Andreessen,比如 Sequoia,但最終我們拒絕了所有風(fēng)險(xiǎn)投資方的邀約?!?/p>

這當(dāng)然不是一個(gè)簡(jiǎn)單的過(guò)程。他“只是某種技術(shù)提供商”的想法并沒(méi)有引起共鳴,之后 Mühleisen 與其他成熟數(shù)據(jù)庫(kù)公司的人交談后意識(shí)到,他想要更加開(kāi)放、更加靈活,而且不想受某個(gè)特定應(yīng)用領(lǐng)域的限制。

當(dāng)前,實(shí)驗(yàn)室的業(yè)務(wù)模式是為 DuckDB 提供咨詢和支持服務(wù),該團(tuán)隊(duì)表示,這種方式目前進(jìn)展順利。通過(guò)合同收入,DuckDB Labs 為 18 人的團(tuán)隊(duì)提供長(zhǎng)期和戰(zhàn)略性的 DuckDB 開(kāi)發(fā)資金。同時(shí),項(xiàng)目中的知識(shí)產(chǎn)權(quán)由獨(dú)立的 DuckDB 基金會(huì)持有,這個(gè)非營(yíng)利性基金會(huì)確保 DuckDB 將在 MIT 許可下長(zhǎng)期存在。

圖片DuckDB Labs 員工

有報(bào)道稱,DuckDB Labs 公司 CTO Mark 是最主力的程序員,50% 的代碼是他一人完成,另外還有 13 個(gè)程序員,1 個(gè)測(cè)試實(shí)習(xí)生,1 個(gè)人負(fù)責(zé)開(kāi)發(fā)者生態(tài),1 個(gè)人負(fù)責(zé)培訓(xùn)與文檔。

結(jié)束語(yǔ)

“我最近在 DuckDB 上下了很大的賭注。我已將其添加到免費(fèi) SQL 編輯器 qStudio 的核心中。現(xiàn)在在編輯器中,可以將任何數(shù)據(jù)庫(kù)的表保存到本地 duckdb 實(shí)例,甚至可以在任何服務(wù)器之間連接。”有網(wǎng)友說(shuō)道。

隨著 DuckDB 實(shí)例遍布全球,這桿獨(dú)樹(shù)一幟的大旗也顯得愈發(fā)鮮明。Mühleisen 表示,項(xiàng)目的普及主要靠那些對(duì) DuckDB 獨(dú)特設(shè)計(jì)理念表示贊賞的使用者們的口口相傳。

“我認(rèn)為推動(dòng)成功的另一個(gè)因素,就是這個(gè)領(lǐng)域還沒(méi)有被技術(shù)方案擠滿和占據(jù)。數(shù)據(jù)庫(kù)市場(chǎng)并不是特別擁擠,我認(rèn)為我們最終做出了最明智的權(quán)衡——就是毫不妥協(xié),以一種觸動(dòng)人心的全新方式打造產(chǎn)品?!?/p>

根據(jù) Mühleisen 介紹,美國(guó)宇航局(NASA)正將 DuckDB 引入某些應(yīng)用場(chǎng)景(但未做明確說(shuō)明),F(xiàn)iveTran 也將其納入 Apache Iceberg 項(xiàng)目的開(kāi)發(fā)流程。

DuckDB 的爆紅對(duì)于 Mühleisen 一說(shuō)無(wú)疑是段有趣的經(jīng)歷。到目前為止,他的整個(gè)職業(yè)生涯都非?!皢握{(diào)”,就是一位踏踏實(shí)實(shí)的數(shù)據(jù)庫(kù)研究員?!把矍暗倪@一切真是太瘋狂了。身為軟件開(kāi)發(fā)者,誰(shuí)能想到自己的成果會(huì)獲得如此夸張的人氣和熱度呢?”

參考鏈接:

https://www.madrona.com/motherduck-jordan-tigani-duckdbs-hannes-muhleisen-partnerships-commercializing-open-source-projects/

https://www.datanami.com/2024/03/05/duckdb-walks-to-the-beat-of-its-own-analytics-drum

https://www.theregister.com/2024/06/05/duckdb_promises_greater_stability_with/

本文為專欄作者授權(quán)創(chuàng)業(yè)邦發(fā)表,版權(quán)歸原作者所有。文章系作者個(gè)人觀點(diǎn),不代表創(chuàng)業(yè)邦立場(chǎng),轉(zhuǎn)載請(qǐng)聯(lián)系原作者。如有任何疑問(wèn),請(qǐng)聯(lián)系editor@cyzone.cn。

反饋
聯(lián)系我們
推薦訂閱