?揭秘國內首個進入Apache的高校頂級項目——Apache IoTDB數(shù)據派THU關注共 4684字,需瀏覽 10分鐘 ·2022-06-26 23:47 本文約4200字,建議閱讀10+分鐘本文與你分享有關開源數(shù)據庫項目成長、開源社區(qū)治理、加速賦能企業(yè)等方面的觀點與見解。近年來,隨著人工智能、物聯(lián)網的興起,大數(shù)據成為重要的生產資料,而時序數(shù)據則是這個時代避無可避的熱議話題。如何提升時序數(shù)據的利用率?如何為復雜場景提供一個可靠的數(shù)據庫?這些都是業(yè)內必須解決的難題。Apache IoTDB作為由清華大學發(fā)起的、全球領先的國際頂級開源項目,是支持物聯(lián)網時序數(shù)據收集、存儲、查詢與分析一體化的數(shù)據管理引擎。根據中國軟件評測中心和中國人民大學的性能對標測試,IoTDB的各項性能指標均明顯優(yōu)于當今國際最優(yōu)的時序數(shù)據庫系統(tǒng)。IoTDB支持“端—邊—云”一體化部署,適用于高端裝備管理、工廠設備、高速網聯(lián)設備等多種數(shù)據管理場景,目前已在能源電力、軌道交通、車聯(lián)網等多家行業(yè)有廣泛應用。業(yè)界要解決的難題,IoTDB都曾直接面對過。小編有幸邀請到清華大學軟件學院助理研究員、Apache IoTDB PMC 及累計貢獻第一的“首席 Committer”,喬嘉林博士,他將為我們分享有關開源數(shù)據庫項目成長、開源社區(qū)治理、加速賦能企業(yè)等方面的觀點與見解。PART 01國內首個進入Apache的高校頂級項目Q:IoTDB是國內高校首個進入Apache基金會的項目,您能介紹一下,有哪些因素讓IoTDB能達到這樣的成就?A:項目進入Apache會經歷兩個大的階段。第一階段是申請進入Apache孵化器。這一階段最需要關注的是項目的價值和意義,需要在項目申請?zhí)岚钢羞M行說明,Apache成員會根據提案來判斷這個項目是否有價值。判斷一個項目是否有價值,主要的依據是項目要解決的問題是否是一個比較廣泛的痛點,是否對社會有價值。除了判讀項目的價值,成員會還要評估新項目是否和已有項目重合。Apache基金會通常在每個方向會選擇一個項目去孵化,如果重合度較高,可能會被拒絕接收。在這方面,IoTDB主要解決的是工業(yè)物聯(lián)網項目管理中遇到的問題。我們實驗室在2011年左右接觸工業(yè)物聯(lián)網項目,幫助工業(yè)企業(yè)管理工程機械產生的數(shù)據,這些數(shù)據中以時序數(shù)據的體量最大,當時選擇了一些開源系統(tǒng)來進行項目實施,不過由于這些系統(tǒng)并不是針對物聯(lián)網場景設計的,所以會有性能瓶頸,包括讀寫速度和壓縮比。最終我們決定從頭做起,來解決這些問題。因此,IoTDB 的發(fā)起背景比較實際,解決的問題也是真實問題,所以會容易被接收。第二階段是在孵化器中完成項目的規(guī)范化和社區(qū)的建設,畢業(yè)成為頂級項目。所有在孵化器的項目名稱都以incubator開頭,項目的孵化和社區(qū)建設階段需要關注的是項目合規(guī)性和社區(qū)建設情況。項目合規(guī)性包括代碼中是否進行了Apache協(xié)議聲明,依賴的開源組件是否與Apache協(xié)議兼容,是否按照Apache的規(guī)范進行版本發(fā)布等;社區(qū)建設情況包括社區(qū)活躍度,郵件列表的討論數(shù)量,是否有外部committer和PMC等。在這方面,IoTDB始終以建設開源社區(qū)為目標,我們沒有社區(qū)建設的KPI,大家都是自發(fā)地希望社區(qū)發(fā)展壯大。社區(qū)很歡迎外部貢獻者的加入,再加上IoTDB是在學校的實驗室起步的,實驗室每年都會有新生入學。我們開展過社區(qū)導師計劃,讓已經加入社區(qū)的貢獻者和新人對接。此外,建設社區(qū)和開發(fā)的過程中,會寫很多文檔,這些文檔也能幫助社區(qū)新人上手和入門。Q:跟其他組織或個人發(fā)起開源項目相比,高校發(fā)展開源項目有哪些不同?高校的開源項目要想保持較高的活躍度和穩(wěn)定的社區(qū)參與,應該注重哪些方面的問題?A:高校發(fā)起的開源項目,通常沒有專門的社區(qū)運營人員,主要是開發(fā)者或者學生直接管理社區(qū),開發(fā)者直接對接用戶,會更直接地感受到產品的好壞。高校也面臨著人員更替頻繁的問題,通常研究生參與兩年多就畢業(yè)了,而且學生參與社區(qū)更多是非全時的,他們平時還有課程、大作業(yè)、考試、實習等需要占用精力。不過,從某種程度上來講,這更符合開源社區(qū)的工作方式,大家都是在空余時間參與社區(qū),通過文檔和郵件交流就顯得更為重要。針對上面的這些特點,在高校發(fā)展開源項目要注意多與社區(qū)互動,將想法和設計思路與社區(qū)同步。同時也要重視社區(qū)項目宣傳,學生比較喜歡埋頭苦干,可能做出了很多不錯的項目,但是由于宣傳不夠,導致了解的人不多。PART 02成為頂級項目后關于項目運作的思考Q:IoTDB成長為全球頂級開源項目前后,項目的貢獻者、社區(qū)的用戶等發(fā)生了哪些積極的變化?項目本身的運作模式有無產生一些變化?A:開源社區(qū)的發(fā)展變化不是一瞬間的,而是在平時的每一天。項目運作模式的變化,主要是從進入到Apache基金會開始的。原來我們通常是幾個同學討論完,就開始做了。進入Apache 后,每次討論都會形成文檔,發(fā)到社區(qū)中,大家覺得沒有問題了,再開始改動。以前也不注意宣傳,只有實驗室的同學知道我們在做什么項目,進入Apache后,我們會舉辦一些見面會,并且開始運營項目的公眾號,組建微信群、QQ群、Slack等。作為一個To B的項目,用戶不會由于你是頂級項目,獲得過什么獎來進行選擇,而是會對軟件進行實地測試,滿足需求才會進行選擇,這個過程會更加理性。貢獻者也是如此,很多貢獻者本身就是用戶,Apache頂級項目可能是促使他們來嘗試的原因,經過評估之后,很多用戶和企業(yè)會投入研發(fā)力量全時參與到社區(qū)中。社區(qū)的工作模式也從一個組織主導,變成社區(qū)共建,社區(qū)就像一個大的組織。PART 03實用即王道穩(wěn)定性是第一位的Q:對于數(shù)據庫項目而言,您覺得數(shù)據庫的性能、穩(wěn)定性、可維護性,哪個更重要?時序數(shù)據庫又有哪些特別值得注意的地方?A:穩(wěn)定性是第一位的,第二是可維護性,第三是性能。工業(yè)現(xiàn)場對于系統(tǒng)的穩(wěn)定性要求很高,穩(wěn)定意味著前期做完測試驗證,上線后的表現(xiàn)能夠和之前測試一致,這樣大家就能夠接受,也不會出現(xiàn)大的問題。可維護性也是對穩(wěn)定性的保障,我們在設計系統(tǒng)的過程中,增加了很多對運維友好的特性。接下來是性能,你可以性能一般,大不了做規(guī)劃的時候可以多配一些硬件,但是一定要可預測,可預測才能繼續(xù)做。時序數(shù)據庫通常運行的場景是工廠或者設備上,機器硬件配置、網絡環(huán)境都沒有互聯(lián)網場景好。此外,數(shù)據負載會比較大,而且負載會更加復雜,比如出現(xiàn)網絡波動、數(shù)據質量問題,都是需要考慮的因素。Q:開源的時間序列數(shù)據庫方面,目前比較流行也不少,比如 influxDB、OpenTSDB、TDEngine 等,您覺得IoTDB的優(yōu)勢在哪些方面?A:IoTDB 的優(yōu)勢主要體現(xiàn)在兩個方面。一是技術優(yōu)勢。我們接觸物聯(lián)網場景比較早,而且是在做項目的過程中發(fā)現(xiàn)問題的,因此我們的設計能夠更加滿足物聯(lián)網場景的需求,目標場景也更加廣泛,不會給系統(tǒng)增加各種限制。而且這個項目源于清華大學,學校方面也會不斷地進行科研創(chuàng)新。二是社區(qū)優(yōu)勢。在Apache基金會的指導下,我們建立了一個更加開放的社區(qū),因而社區(qū)中有不少互聯(lián)網公司的時序數(shù)據庫部門的開發(fā)人員。大家平時會進行很緊密的討論和分享,這種社區(qū)的氛圍是非常好的,也會促使更多同學參與。長期來看,社區(qū)優(yōu)勢是一個基礎軟件發(fā)展的長久動力。PART 04物聯(lián)網數(shù)據模型Q:IoTDB已經在多個工業(yè)領域使用,包括風電行業(yè)、工程機械、氣象大數(shù)據平臺等,以電廠為例,IoTDB是如何幫助企業(yè)更好地管理數(shù)據呢?A:我們自研了時序數(shù)據文件格式TsFile,TsFile采用了物聯(lián)網數(shù)據模型,因此在數(shù)據組織和索引方面,都對時序數(shù)據更加友好和高效。此外,我們對數(shù)據庫引擎的讀寫流程進行優(yōu)化,對數(shù)據進行列式組織和處理,并為查詢設計了不同粒度的預聚合信息和緩存,能夠大幅提升數(shù)據查詢效率。對電廠來說,一個大型發(fā)電機組具有上萬測點。傳統(tǒng)的關系數(shù)據庫中是無法存儲在一個表中的,一個表通常只能存一千多個測點,手動分表會造成更多復雜性,而IoTDB的物聯(lián)網數(shù)據模型能夠支持任意多的測點,并且性能可以保持平穩(wěn)。查詢時通過多層索引來加速序列和數(shù)據的定位。PART 05國外項目選型,關心哪些?Q: IoTDB在德國和美國也有推廣和應用,那么這些國外企業(yè)在考慮接受和使用IoTDB這樣的產品時,有哪些不同的需求或者側重點呢?A:國外的用戶,像西門子、博世,都是老牌工業(yè)企業(yè),他們在選型時會很嚴謹?shù)販y試。例如,他們在決策是否用IoTDB時,會先調研15種傳統(tǒng)的實時數(shù)據庫,如美國的PI system,愛默生的Delta V, 還有ABB、aspen等的技術現(xiàn)狀和產品現(xiàn)狀,然后將IoTDB跟這些數(shù)據庫進行充分對比。此外,還對DB-engine上20多種時序數(shù)據庫做了簡要對比,選擇了幾個做測試。他們不光看我們的測試結果,還從其他用戶那里收集了PI、SQL server的測試結果進行對比,才決定用IoTDB。總之,他們在做產品選型的時候,非常嚴謹,同時重點關注定位相類似的產品。在測試過程中,他們更喜歡用自己的真實負載,或者類似真實負載來測試,并在此基礎上增加壓力,而不會一味的瘋狂爆壓,因為后者這種測試在實際中根本不會用到,對一個產品線沒多少意義。另外,國外企業(yè)還很注重項目的國際化程度,因為國際化也是社區(qū)健康度的一部分,國內一些社區(qū)刷星操作等在國際用戶那里加分不大。社區(qū)參與人員情況國外企業(yè)也很看重,比如社區(qū)維護者是否都是一個組織的,是否有不同國家的項目管理者等。PART 06開源數(shù)據庫的未來預測Q:現(xiàn)在IoTDB項目有哪些最新進展?A:Apache IoTDB在保持著較快的迭代速度進行發(fā)展。產品層面,我們4月發(fā)布了0.13版本,新增了一元、多元序列的支持,增加了對觸發(fā)器等功能的支持;增加了對連續(xù)查詢、嵌套表達式等的支持;優(yōu)化了數(shù)據寫入的過程,提升了系統(tǒng)文件合并的性能;拓展了與外部系統(tǒng)的兼容,新增Grafana插件、REST API等。現(xiàn)在正在全力優(yōu)化分布式版本,預計到8月份,分布式版本就可以面世了。Q:現(xiàn)在開源數(shù)據庫,尤其是國產開源數(shù)據庫近幾年非常火熱,對此您是如何看待這一現(xiàn)象的?它的未來會出現(xiàn)哪些發(fā)展方向呢?A:開源數(shù)據庫對于中國培養(yǎng)數(shù)據庫人才有很好的促進作用,數(shù)據庫的知識大學都會講,但大多停留在介紹如何使用SQL的層面,大家對如何做一個數(shù)據庫是沒什么概念的。通過參與開源項目,讓大家真正感受到數(shù)據庫的研發(fā)過程,有助于中國培養(yǎng)基礎軟件人才。未來的可能會繼續(xù)出現(xiàn)新型數(shù)據庫,如近幾年出現(xiàn)的時序、圖數(shù)據庫等。數(shù)據庫也會更加專業(yè),更針對某些特定領域。此外,數(shù)據庫與AI、分析系統(tǒng)、流處理系統(tǒng)等的結合也是新的發(fā)展方向。Q:請您對正在從事開源數(shù)據庫的開發(fā)人員和即將加入到 IoTDB 的同學,給出一些建議。A:盡管最近開源數(shù)據庫比較火熱,但數(shù)據庫是個復雜性很高的系統(tǒng)軟件,還是有不低的門檻,要做好心理預期,參與開源數(shù)據庫的開發(fā)可能不是一兩周能看到效果的,從了解數(shù)據庫的基本概念、使用方式,到了解其系統(tǒng)架構、設計理念,最后到找到一個點進行鉆研優(yōu)化。這個過程比較漫長,希望大家能夠長期堅持,這個過程中也會感受到自己的成長。嘉賓介紹喬嘉林,博士畢業(yè)于清華大學軟件學院,目前在清華大學軟件學院做博士后,同時也是清華大學軟件學院助理研究員,Apache IoTDB PMC,公眾號“鐵頭喬”的作者,開放原子基金會銀牌講師,獲得過北京市科技進步一等獎。研究領域為數(shù)據庫方向,包括文件結構、索引、副本管理等,見證了IoTDB從發(fā)布第一個版本到畢業(yè)成為Apache基金會頂級項目的全過程。編輯:黃繼彥校對:林亦霖 瀏覽 41點贊 評論 收藏 分享 手機掃一掃分享分享 舉報 評論圖片表情視頻評價全部評論推薦 Apache ShenYu 畢業(yè)成為 Apache 頂級項目!JavaGuide0Apache Linkis 正式畢業(yè)成為 Apache 頂級項目程序源代碼0如何成為 Apache 頂級項目 Committer?JavaGuide0Apache IoTDB時序數(shù)據管理引擎IoTDB是針對時間序列數(shù)據收集、存儲與分析一體化的數(shù)據管理引擎。它具有體量輕、性能高、易使用的特點Apache IoTDB時序數(shù)據管理引擎IoTDB是針對時間序列數(shù)據收集、存儲與分析一體化的數(shù)據管理引擎。它具有體量輕、性能高、易使用的特點,完美對接Hadoop與Spark生態(tài),適用于工業(yè)物聯(lián)網應用中海量時間序列數(shù)據高速寫入和復雜分析查詢給Apache頂級項目提了個BugJava3y0Apache頂級項目Ambari正式宣告退役!程序源代碼0Apache 董事會即將終止 Apache Ambari 項目程序源代碼0Apache DolphinScheduler:國人主導的分布式工作流調度平臺正式成為 Apache 頂級項目肉眼品世界0我給Apache頂級項目提了個BugHollis0點贊 評論 收藏 分享 手機掃一掃分享分享 舉報