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

T前線 | 揭秘國內(nèi)首個進入Apache的高校頂級項目——Apache IoTDB

原創(chuàng)
開源 物聯(lián)網(wǎng)
長期來看,社區(qū)優(yōu)勢是一個基礎(chǔ)軟件發(fā)展的長久動力。

近年來,隨著人工智能、物聯(lián)網(wǎng)的興起,大數(shù)據(jù)成為重要的生產(chǎn)資料,而時序數(shù)據(jù)則是這個時代避無可避的熱議話題。如何提升時序數(shù)據(jù)的利用率?如何為復(fù)雜場景提供一個可靠的數(shù)據(jù)庫?這些都是業(yè)內(nèi)必須解決的難題。Apache IoTDB作為由清華大學(xué)發(fā)起的、全球領(lǐng)先的國際頂級開源項目,是支持物聯(lián)網(wǎng)時序數(shù)據(jù)收集、存儲、查詢與分析一體化的數(shù)據(jù)管理引擎。根據(jù)中國軟件評測中心和中國人民大學(xué)的性能對標測試,IoTDB的各項性能指標均明顯優(yōu)于當(dāng)今國際最優(yōu)的時序數(shù)據(jù)庫系統(tǒng)。IoTDB支持“端—邊—云”一體化部署,適用于高端裝備管理、工廠設(shè)備、高速網(wǎng)聯(lián)設(shè)備等多種數(shù)據(jù)管理場景,目前已在能源電力、軌道交通、車聯(lián)網(wǎng)等多家行業(yè)有廣泛應(yīng)用。業(yè)界要解決的難題,IoTDB都曾直接面對過。

51CTO有幸邀請到清華大學(xué)軟件學(xué)院助理研究員、Apache IoTDB PMC 及累計貢獻第一的“首席 Committer”,喬嘉林博士,他將為我們分享有關(guān)開源數(shù)據(jù)庫項目成長、開源社區(qū)治理、加速賦能企業(yè)等方面的觀點與見解。

國內(nèi)首個進入Apache的高校頂級項目

Q:IoTDB是國內(nèi)高校首個進入Apache基金會的項目,您能介紹一下,有哪些因素讓IoTDB能達到這樣的成就?

A:項目進入Apache會經(jīng)歷兩個大的階段。第一階段是申請進入Apache孵化器。

這一階段最需要關(guān)注的是項目的價值和意義,需要在項目申請?zhí)岚钢羞M行說明,Apache成員會根據(jù)提案來判斷這個項目是否有價值。

判斷一個項目是否有價值,主要的依據(jù)是項目要解決的問題是否是一個比較廣泛的痛點,是否對社會有價值。除了判讀項目的價值,成員會還要評估新項目是否和已有項目重合。Apache基金會通常在每個方向會選擇一個項目去孵化,如果重合度較高,可能會被拒絕接收。

在這方面,IoTDB主要解決的是工業(yè)物聯(lián)網(wǎng)項目管理中遇到的問題。我們實驗室在2011年左右接觸工業(yè)物聯(lián)網(wǎng)項目,幫助工業(yè)企業(yè)管理工程機械產(chǎn)生的數(shù)據(jù),這些數(shù)據(jù)中以時序數(shù)據(jù)的體量最大,當(dāng)時選擇了一些開源系統(tǒng)來進行項目實施,不過由于這些系統(tǒng)并不是針對物聯(lián)網(wǎng)場景設(shè)計的,所以會有性能瓶頸,包括讀寫速度和壓縮比。最終我們決定從頭做起,來解決這些問題。因此,IoTDB 的發(fā)起背景比較實際,解決的問題也是真實問題,所以會容易被接收。

第二階段是在孵化器中完成項目的規(guī)范化和社區(qū)的建設(shè),畢業(yè)成為頂級項目。

所有在孵化器的項目名稱都以incubator開頭,項目的孵化和社區(qū)建設(shè)階段需要關(guān)注的是項目合規(guī)性和社區(qū)建設(shè)情況。項目合規(guī)性包括代碼中是否進行了Apache協(xié)議聲明,依賴的開源組件是否與Apache協(xié)議兼容,是否按照Apache的規(guī)范進行版本發(fā)布等;社區(qū)建設(shè)情況包括社區(qū)活躍度,郵件列表的討論數(shù)量,是否有外部committer和PMC等。

在這方面,IoTDB始終以建設(shè)開源社區(qū)為目標,我們沒有社區(qū)建設(shè)的KPI,大家都是自發(fā)地希望社區(qū)發(fā)展壯大。社區(qū)很歡迎外部貢獻者的加入,再加上IoTDB是在學(xué)校的實驗室起步的,實驗室每年都會有新生入學(xué)。我們開展過社區(qū)導(dǎo)師計劃,讓已經(jīng)加入社區(qū)的貢獻者和新人對接。此外,建設(shè)社區(qū)和開發(fā)的過程中,會寫很多文檔,這些文檔也能幫助社區(qū)新人上手和入門。

Q:跟其他組織或個人發(fā)起開源項目相比,高校發(fā)展開源項目有哪些不同?高校的開源項目要想保持較高的活躍度和穩(wěn)定的社區(qū)參與,應(yīng)該注重哪些方面的問題?

A:高校發(fā)起的開源項目,通常沒有專門的社區(qū)運營人員,主要是開發(fā)者或者學(xué)生直接管理社區(qū),開發(fā)者直接對接用戶,會更直接地感受到產(chǎn)品的好壞。高校也面臨著人員更替頻繁的問題,通常研究生參與兩年多就畢業(yè)了,而且學(xué)生參與社區(qū)更多是非全時的,他們平時還有課程、大作業(yè)、考試、實習(xí)等需要占用精力。

不過,從某種程度上來講,這更符合開源社區(qū)的工作方式,大家都是在空余時間參與社區(qū),通過文檔和郵件交流就顯得更為重要。針對上面的這些特點,在高校發(fā)展開源項目要注意多與社區(qū)互動,將想法和設(shè)計思路與社區(qū)同步。同時也要重視社區(qū)項目宣傳,學(xué)生比較喜歡埋頭苦干,可能做出了很多不錯的項目,但是由于宣傳不夠,導(dǎo)致了解的人不多。

成為頂級項目后關(guān)于項目運作的思考

Q:IoTDB成長為全球頂級開源項目前后,項目的貢獻者、社區(qū)的用戶等發(fā)生了哪些積極的變化?項目本身的運作模式有無產(chǎn)生一些變化?

A:開源社區(qū)的發(fā)展變化不是一瞬間的,而是在平時的每一天。項目運作模式的變化,主要是從進入到Apache基金會開始的。原來我們通常是幾個同學(xué)討論完,就開始做了。

進入Apache 后,每次討論都會形成文檔,發(fā)到社區(qū)中,大家覺得沒有問題了,再開始改動。以前也不注意宣傳,只有實驗室的同學(xué)知道我們在做什么項目,進入Apache后,我們會舉辦一些見面會,并且開始運營項目的公眾號,組建微信群、QQ群、Slack等。作為一個To B的項目,用戶不會由于你是頂級項目,獲得過什么獎來進行選擇,而是會對軟件進行實地測試,滿足需求才會進行選擇,這個過程會更加理性。

貢獻者也是如此,很多貢獻者本身就是用戶,Apache頂級項目可能是促使他們來嘗試的原因,經(jīng)過評估之后,很多用戶和企業(yè)會投入研發(fā)力量全時參與到社區(qū)中。社區(qū)的工作模式也從一個組織主導(dǎo),變成社區(qū)共建,社區(qū)就像一個大的組織。

實用即王道穩(wěn)定性是第一位的

Q:對于數(shù)據(jù)庫項目而言,您覺得數(shù)據(jù)庫的性能、穩(wěn)定性、可維護性,哪個更重要?時序數(shù)據(jù)庫又有哪些特別值得注意的地方?

A:穩(wěn)定性是第一位的,第二是可維護性,第三是性能。

工業(yè)現(xiàn)場對于系統(tǒng)的穩(wěn)定性要求很高,穩(wěn)定意味著前期做完測試驗證,上線后的表現(xiàn)能夠和之前測試一致,這樣大家就能夠接受,也不會出現(xiàn)大的問題。

可維護性也是對穩(wěn)定性的保障,我們在設(shè)計系統(tǒng)的過程中,增加了很多對運維友好的特性。

接下來是性能,你可以性能一般,大不了做規(guī)劃的時候可以多配一些硬件,但是一定要可預(yù)測,可預(yù)測才能繼續(xù)做。

時序數(shù)據(jù)庫通常運行的場景是工廠或者設(shè)備上,機器硬件配置、網(wǎng)絡(luò)環(huán)境都沒有互聯(lián)網(wǎng)場景好。此外,數(shù)據(jù)負載會比較大,而且負載會更加復(fù)雜,比如出現(xiàn)網(wǎng)絡(luò)波動、數(shù)據(jù)質(zhì)量問題,都是需要考慮的因素。

Q:開源的時間序列數(shù)據(jù)庫方面,目前比較流行也不少,比如 influxDB、OpenTSDB、TDEngine 等,您覺得IoTDB的優(yōu)勢在哪些方面?

A:IoTDB 的優(yōu)勢主要體現(xiàn)在兩個方面。

一是技術(shù)優(yōu)勢。我們接觸物聯(lián)網(wǎng)場景比較早,而且是在做項目的過程中發(fā)現(xiàn)問題的,因此我們的設(shè)計能夠更加滿足物聯(lián)網(wǎng)場景的需求,目標場景也更加廣泛,不會給系統(tǒng)增加各種限制。而且這個項目源于清華大學(xué),學(xué)校方面也會不斷地進行科研創(chuàng)新。

二是社區(qū)優(yōu)勢。在Apache基金會的指導(dǎo)下,我們建立了一個更加開放的社區(qū),因而社區(qū)中有不少互聯(lián)網(wǎng)公司的時序數(shù)據(jù)庫部門的開發(fā)人員。大家平時會進行很緊密的討論和分享,這種社區(qū)的氛圍是非常好的,也會促使更多同學(xué)參與。長期來看,社區(qū)優(yōu)勢是一個基礎(chǔ)軟件發(fā)展的長久動力。

物聯(lián)網(wǎng)數(shù)據(jù)模型

Q:IoTDB已經(jīng)在多個工業(yè)領(lǐng)域使用,包括風(fēng)電行業(yè)、工程機械、氣象大數(shù)據(jù)平臺等,以電廠為例,IoTDB是如何幫助企業(yè)更好地管理數(shù)據(jù)呢?

A:我們自研了時序數(shù)據(jù)文件格式TsFile,TsFile采用了物聯(lián)網(wǎng)數(shù)據(jù)模型,因此在數(shù)據(jù)組織和索引方面,都對時序數(shù)據(jù)更加友好和高效。

此外,我們對數(shù)據(jù)庫引擎的讀寫流程進行優(yōu)化,對數(shù)據(jù)進行列式組織和處理,并為查詢設(shè)計了不同粒度的預(yù)聚合信息和緩存,能夠大幅提升數(shù)據(jù)查詢效率。

對電廠來說,一個大型發(fā)電機組具有上萬測點。傳統(tǒng)的關(guān)系數(shù)據(jù)庫中是無法存儲在一個表中的,一個表通常只能存一千多個測點,手動分表會造成更多復(fù)雜性,而IoTDB的物聯(lián)網(wǎng)數(shù)據(jù)模型能夠支持任意多的測點,并且性能可以保持平穩(wěn)。查詢時通過多層索引來加速序列和數(shù)據(jù)的定位。

國外項目選型,關(guān)心哪些?

Q: IoTDB在德國和美國也有推廣和應(yīng)用,那么這些國外企業(yè)在考慮接受和使用IoTDB這樣的產(chǎn)品時,有哪些不同的需求或者側(cè)重點呢?

A:國外的用戶,像西門子、博世,都是老牌工業(yè)企業(yè),他們在選型時會很嚴謹?shù)販y試。例如,他們在決策是否用IoTDB時,會先調(diào)研15種傳統(tǒng)的實時數(shù)據(jù)庫,如美國的PI system,愛默生的Delta V, 還有ABB、aspen等的技術(shù)現(xiàn)狀和產(chǎn)品現(xiàn)狀,然后將IoTDB跟這些數(shù)據(jù)庫進行充分對比。

此外,還對DB-engine上20多種時序數(shù)據(jù)庫做了簡要對比,選擇了幾個做測試。他們不光看我們的測試結(jié)果,還從其他用戶那里收集了PI、SQL server的測試結(jié)果進行對比,才決定用IoTDB。

總之,他們在做產(chǎn)品選型的時候,非常嚴謹,同時重點關(guān)注定位相類似的產(chǎn)品。在測試過程中,他們更喜歡用自己的真實負載,或者類似真實負載來測試,并在此基礎(chǔ)上增加壓力,而不會一味的瘋狂爆壓,因為后者這種測試在實際中根本不會用到,對一個產(chǎn)品線沒多少意義。

另外,國外企業(yè)還很注重項目的國際化程度,因為國際化也是社區(qū)健康度的一部分,國內(nèi)一些社區(qū)刷星操作等在國際用戶那里加分不大。社區(qū)參與人員情況國外企業(yè)也很看重,比如社區(qū)維護者是否都是一個組織的,是否有不同國家的項目管理者等。

開源數(shù)據(jù)庫的未來預(yù)測

Q:現(xiàn)在IoTDB項目有哪些最新進展?

A:Apache IoTDB在保持著較快的迭代速度進行發(fā)展。產(chǎn)品層面,我們4月發(fā)布了0.13版本,新增了一元、多元序列的支持,增加了對觸發(fā)器等功能的支持;增加了對連續(xù)查詢、嵌套表達式等的支持;優(yōu)化了數(shù)據(jù)寫入的過程,提升了系統(tǒng)文件合并的性能;拓展了與外部系統(tǒng)的兼容,新增Grafana插件、REST API等?,F(xiàn)在正在全力優(yōu)化分布式版本,預(yù)計到8月份,分布式版本就可以面世了。

Q:現(xiàn)在開源數(shù)據(jù)庫,尤其是國產(chǎn)開源數(shù)據(jù)庫近幾年非常火熱,對此您是如何看待這一現(xiàn)象的?它的未來會出現(xiàn)哪些發(fā)展方向呢?

A:開源數(shù)據(jù)庫對于中國培養(yǎng)數(shù)據(jù)庫人才有很好的促進作用,數(shù)據(jù)庫的知識大學(xué)都會講,但大多停留在介紹如何使用SQL的層面,大家對如何做一個數(shù)據(jù)庫是沒什么概念的。

通過參與開源項目,讓大家真正感受到數(shù)據(jù)庫的研發(fā)過程,有助于中國培養(yǎng)基礎(chǔ)軟件人才。未來的可能會繼續(xù)出現(xiàn)新型數(shù)據(jù)庫,如近幾年出現(xiàn)的時序、圖數(shù)據(jù)庫等。數(shù)據(jù)庫也會更加專業(yè),更針對某些特定領(lǐng)域。此外,數(shù)據(jù)庫與AI、分析系統(tǒng)、流處理系統(tǒng)等的結(jié)合也是新的發(fā)展方向。

Q:請您對正在從事開源數(shù)據(jù)庫的開發(fā)人員和即將加入到 IoTDB 的同學(xué),給出一些建議。

A:盡管最近開源數(shù)據(jù)庫比較火熱,但數(shù)據(jù)庫是個復(fù)雜性很高的系統(tǒng)軟件,還是有不低的門檻,要做好心理預(yù)期,參與開源數(shù)據(jù)庫的開發(fā)可能不是一兩周能看到效果的,從了解數(shù)據(jù)庫的基本概念、使用方式,到了解其系統(tǒng)架構(gòu)、設(shè)計理念,最后到找到一個點進行鉆研優(yōu)化。這個過程比較漫長,希望大家能夠長期堅持,這個過程中也會感受到自己的成長。

嘉賓介紹

喬嘉林,博士畢業(yè)于清華大學(xué)軟件學(xué)院,目前在清華大學(xué)軟件學(xué)院做博士后,同時也是清華大學(xué)軟件學(xué)院助理研究員,Apache IoTDB PMC,公眾號“鐵頭喬”的作者,開放原子基金會銀牌講師,獲得過北京市科技進步一等獎。研究領(lǐng)域為數(shù)據(jù)庫方向,包括文件結(jié)構(gòu)、索引、副本管理等,見證了IoTDB從發(fā)布第一個版本到畢業(yè)成為Apache基金會頂級項目的全過程。

51CTO技術(shù)精選月刊《CTO悟道》最新一期已經(jīng)上線!更多精彩技術(shù)干貨、知識見解等你揭曉,下載鏈接:??http://www.scjtxx.cn/journalDetail/5.html?down=3??

責(zé)任編輯:閆懷德 來源: 51CTO
相關(guān)推薦

2009-06-22 13:29:00

Apache Open

2017-10-31 08:09:54

ApacheRocketMQ項目

2017-04-24 13:51:50

華為

2020-12-08 09:45:51

項目Apache分表

2022-07-12 11:01:03

數(shù)據(jù)庫

2018-07-31 15:34:27

開源

2020-12-09 12:52:45

分布式對象存儲

2021-04-09 22:09:55

軟件基金會頂級項目

2018-07-18 13:38:21

百度

2012-11-12 09:34:03

SDNOpenStackCloudStack

2017-12-05 11:57:26

華為云

2009-06-16 13:40:06

OSGiApache Feli

2022-07-12 10:38:25

分布式框架

2022-08-31 14:49:05

IoTDBIoTDatabase

2013-04-26 10:59:54

目錄遍歷漏洞

2022-01-18 11:22:58

Hadoop 管理工具Apache Amba

2016-10-19 16:52:52

流數(shù)據(jù)Apache Kafk

2010-06-30 08:47:04

Tomcat 7ApacheServlet 3.0

2018-07-30 17:31:28

開源
點贊
收藏

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