最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CnosDB 涅槃重生:棄用Go, 全面擁抱Rust

2023-07-21 08:07 作者:CnosDB  | 我要投稿


CnosDB社區(qū)的愛(ài)碼士們,想必大家最近已經(jīng)發(fā)現(xiàn)了,基于Rust版本的CnosDB Isipho已經(jīng)切換到GitHub主站,并且社區(qū)團(tuán)隊(duì)也不再維護(hù)與支持Go版本的CnosDB。首先還是給大家致以誠(chéng)摯的歉意,之前的計(jì)劃和決策的倉(cāng)促給大家?guī)?lái)了不必要的麻煩。但是本著對(duì)社區(qū)負(fù)責(zé)的態(tài)度,在這里也給大家一個(gè)詳細(xì)的解釋:為什么我們放棄Go,擁抱Rust去構(gòu)建一個(gè)新的時(shí)間序列數(shù)據(jù)庫(kù)。

CnosDB Isipho是什么

CnosDB Isipho是一個(gè)基于Rust研發(fā)的時(shí)間序列數(shù)據(jù)庫(kù),具有高性能、高壓縮比、高可用的特點(diǎn),并且將來(lái)滿足分布式云原生。從2022年3月開(kāi)始,CnosDB團(tuán)隊(duì)開(kāi)始在GitHub上開(kāi)源了Isipho的源碼,并且持續(xù)構(gòu)建系統(tǒng)。CnosDB Isipho致力于解決時(shí)間線膨脹問(wèn)題、具備超大規(guī)模時(shí)間序列支持以及更好的生態(tài)特性。關(guān)于CnosDB Isipho的特點(diǎn)及集體功能架構(gòu),可以參閱CnosDB Isipho的路線圖:https://github.com/cnosdb/cnosdb/blob/main/README.md

相對(duì)于Go,Rust是一門更好的數(shù)據(jù)庫(kù)開(kāi)發(fā)語(yǔ)言

第一個(gè)版本的CnosDB選取了Go作為開(kāi)發(fā)語(yǔ)言,當(dāng)時(shí)認(rèn)為Go可以很好的處理易用性和系統(tǒng)性能的平衡,但是隨著對(duì)于Go語(yǔ)言的深入了解,我們也發(fā)現(xiàn)Go語(yǔ)言在數(shù)據(jù)庫(kù)系統(tǒng)編寫,尤其是時(shí)序數(shù)據(jù)庫(kù)編寫中的問(wèn)題。

Go帶來(lái)的問(wèn)題主要有:Go runtime帶來(lái)的 GC會(huì)引起性能抖動(dòng),而時(shí)序數(shù)據(jù)庫(kù)需要在大負(fù)載環(huán)境下極其穩(wěn)定;Go對(duì)泛型支持也不好,語(yǔ)言表達(dá)能力受限,如果需要對(duì)資源進(jìn)行更好的操作,對(duì)于開(kāi)發(fā)人員的要求非常高。我們的Go版本的性能測(cè)評(píng)并沒(méi)有顯著優(yōu)于已有頭部產(chǎn)品。Go版本仍然有很多的問(wèn)題要去解決,為了應(yīng)對(duì)云原生帶來(lái)的挑戰(zhàn),更好的服務(wù)好企業(yè)上云,Go版本需要對(duì)原來(lái)的版本進(jìn)行大規(guī)模重構(gòu),以便:提高分布式擴(kuò)展性以及實(shí)現(xiàn)最終一致性模型;提升免運(yùn)維的能力;提升存儲(chǔ)和查詢性能;同時(shí)支持多租戶,云原生。

在我們困擾于Go語(yǔ)言所帶來(lái)的的問(wèn)題時(shí),CnosDB的Isipho團(tuán)隊(duì)已經(jīng)在Rust上開(kāi)展了近五個(gè)月的工作。相對(duì)于Go語(yǔ)言,Rust具有以下特性:Rust 無(wú)GC,更精確的內(nèi)存控制,硬件親和性高;Rust 支持范型 match 表達(dá)式,表達(dá)能力更加豐富;Rust 有更高的可靠性,可以在編譯期發(fā)現(xiàn)各種錯(cuò)誤。開(kāi)發(fā)者對(duì)Rust的喜愛(ài)也是溢于言表。

隨著Rust 在基礎(chǔ)軟件領(lǐng)域的應(yīng)用也蓬勃發(fā)展,甚至Linux也開(kāi)始使用Rust進(jìn)行系統(tǒng)內(nèi)核的重構(gòu)(?https://www.zdnet.com/article/linus-torvalds-is-cautiously-optimistic-about-bringing-rust-into-the-linux-kernels-next-release/?),而且越來(lái)越多的數(shù)據(jù)庫(kù)廠商開(kāi)始嘗試使用Rust去實(shí)現(xiàn)系統(tǒng),我們也堅(jiān)信,使用Rust可以構(gòu)建更好的服務(wù)于客戶的時(shí)序數(shù)據(jù)庫(kù)。

為什么放棄Go版本

對(duì)于一個(gè)初創(chuàng)團(tuán)隊(duì)組織的開(kāi)源社區(qū),同時(shí)維護(hù)兩個(gè)不同技術(shù)棧的產(chǎn)品,十分困難;團(tuán)隊(duì)也是很難進(jìn)行有效的溝通和管理。開(kāi)發(fā)團(tuán)隊(duì)在技術(shù)棧割裂的情況下已經(jīng)艱難地進(jìn)行了兩個(gè)季度的工作,而我們觀察到在我們社區(qū)上也有了分裂的跡象,有些愛(ài)碼士?jī)A向于Go版本的學(xué)習(xí)和使用,而更多的開(kāi)發(fā)者涌入社區(qū)是因?yàn)槲覀兊腞ust版本和它的課程:《使用Rust構(gòu)建一個(gè)TSDB》。

如上文所述,時(shí)序數(shù)據(jù)庫(kù)在朝云原生生態(tài)大幅度邁進(jìn),在Go版本上去實(shí)現(xiàn)諸如多租戶、云原生等功能,幾乎就是把原來(lái)的代碼推倒重新來(lái)。Rust版本的進(jìn)展順利,讓我們選擇不繼續(xù)在錯(cuò)誤的路上蒙眼狂奔,而是進(jìn)行了一個(gè)艱難的取舍,放棄Go語(yǔ)言版本,并將公司的全部開(kāi)發(fā)力量投入Rust版本的研發(fā),向社區(qū)和用戶交付更好的下一代時(shí)序數(shù)據(jù)庫(kù)產(chǎn)品。

現(xiàn)在,CnosDB Isipho版本的存儲(chǔ)引擎已經(jīng)構(gòu)建完畢,開(kāi)發(fā)團(tuán)隊(duì)正在全力開(kāi)發(fā)查詢引擎和索引功能,計(jì)劃將在今年年底之前帶來(lái)單機(jī)版本的CnosDB Isipho。同時(shí)ConsDB也竭誠(chéng)希望對(duì)時(shí)序數(shù)據(jù)庫(kù)、對(duì)Rust有興趣的愛(ài)碼士們加入CnosDB社區(qū),貢獻(xiàn)代碼或者成為全職開(kāi)發(fā)者。社區(qū)活動(dòng)不會(huì)減少,大家在期待CnosDB Isipho的同時(shí),我們繼續(xù)推出豐富內(nèi)容,包括但不限于混沌工程的課程以及Rust的后續(xù)課程。

始于萬(wàn)物互聯(lián),開(kāi)源橫跨五洲。希望大家繼續(xù)關(guān)注和支持CnosDB!


CnosDB簡(jiǎn)介

CnosDB是一款高性能、高易用性的開(kāi)源分布式時(shí)序數(shù)據(jù)庫(kù),現(xiàn)已正式發(fā)布及全部開(kāi)源。

歡迎關(guān)注我們的社區(qū)網(wǎng)站:https://cn.cnosdb.com?


CnosDB 涅槃重生:棄用Go, 全面擁抱Rust的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
普宁市| 东光县| 额敏县| 荣昌县| 聂荣县| 宁南县| 公安县| 信宜市| 雅安市| 廉江市| 田阳县| 丽江市| 威海市| 邹平县| 栾川县| 花垣县| 西昌市| 闸北区| 凤阳县| 泰州市| 桦甸市| 邢台县| 玛多县| 宁国市| 榆树市| 彰武县| 阿坝| 遂昌县| 家居| 乌鲁木齐县| 海口市| 福安市| 罗城| 射阳县| 陵水| 类乌齐县| 丰镇市| 拜城县| 时尚| 桐梓县| 宜川县|