Apache IoTDB 誕生記:學術圈出來的資料庫有啥不一樣?

danny_2018發表於2024-04-07

分享嘉賓:

喬嘉林

天謀科技聯合創始人 & CTO、Apache IoTDB PMC 及初創成員、清華大學博士、中國通訊學會開源技術專委會委員、學術秘書。

從頭參與建設物聯網時序資料管理領域的首個 Apache 專案 IoTDB,及第二個專案 TsFile。

獲 Apache Member(Apache 基金會委員)、中國開源先鋒人物、清華大學水木學者、開放原子基金會銀牌講師,並作為 10 位基礎軟體的領軍人物之一,榮獲 2023 優秀軟體工程師。相關成果獲北京市科技進步獎一等獎。

Apache IoTDB 是一款低成本、高可用的物聯網原生時序資料庫,採用端邊雲協同的輕量化結構,支援一體化的物聯網時序資料收集、儲存、管理與分析。

01 創業啟於開源

2016 年我讀博士期間,在學校參與了這個資料庫的專案開發。這個專案在實驗室醞釀了幾年,2017 年正式開源。一年之後,這個專案和裡面的一些技術點、一些專利都捐給了 Apache 基金會,它成為了一個全球開源的專案。

開源之後,我就不僅僅是研發了,我也參與到了開源社群的運營裡面,做開源使用者的技術支援,一些使用者線上實施的維護,等等。大概兩年後,資料庫從 Apache 的一個孵化器專案畢業,成為了一個知名專案。

在學校做開源的好處,就是沒有金錢壓力,我們可能想的更多是網際網路場景到底需要一款什麼樣的資料庫?資料庫的架構需要是什麼樣子的?現在的開源技術有哪些是比較好的?我們可以做更多的選擇、更多的技術方案的論證、設計和實現。

我畢業之後,開始成立這個商業化的公司,去做 Apache IoTDB 的企業版,來為一些使用者提供更加專業的產品服務。這就是我和資料庫一起成長的過程。

02 資料庫花樣繁多,是不可避免的

要問為什麼國內有這麼多資料庫,我覺得可以先看看資料庫是幹啥的?它是管資料的。這個是大家公認的:把資料管起來,查得好,查的快。那我們就看看有多少種型別的資料:有向文件、關係、時序、鍵值、圖、向量。如果我們把資料庫當做一個歸納師,那我們要歸納的物體種類其實是蠻多的。

在這個基礎上進一步,有多少應用場景?像金融,是一個典型的場景,然後物聯網它又是一個典型的場景,這每一個場景下面又會有細分的行業,他們對資料的使用方式可能也都不一樣。所以這是導致大家在做資料庫的時候設計理念和目標不一樣的地方,也是現在資料庫為什麼這麼多的一個比較大的原因。

在這個背景下,時序也是其中的一個資料型別,我們做的 IoTDB,就是一個針對物聯網場景的資料庫,這也決定了我們是針對物聯網場景的時序資料管理。這兩個點結合起來,如果你是剛好處在這兩個點上,那麼我們的產品是一個比較好的選擇。

03 一個好的資料庫,得學會剋制

我導師說得最多的一句話,就是要控制資料庫的複雜度,不該資料庫做的不用它做。程式碼的簡潔度才是一個資料庫長久的生命力來源。如果我們把很多功能都加進去,短期可能收穫了一兩個使用者,但是長期來說,這個程式碼就不可維護了。

那我們為什麼能做到這一點?我覺得可能有前面開源的積累。因為我們經過了大概五年的開源的打磨之後才正式做商業化,我們出去的時候,這個產品基本已經能夠滿足很多開源使用者、包括企業使用者的需求了。這個產品它足夠標準,使用者就不太會給我們提一些稀奇古怪的需求。但是,因為我們做的是工業物聯網的資料庫,工業這個場景也夠複雜,我們想跟工業使用者平等交流他的業務場景的需求的話,確實也是需要多學習的。

像我跟工業使用者去溝通的時候,不單單會聊資料庫管哪些資料,還有資料是怎麼從感測器來的、怎麼採到資料庫裡面去的...... 這整個過程。學完這些,我就能夠結合資料的來龍去脈,把這個原理給他說清楚。加上有清華這個背景因素,大家也會發現我們確實是一個比較專業的團隊,在這方面更好商量。

04 中外市場,各有優勢

我們的產品第一步的規劃就是一個國際化的專案。因為我們開源了,所以不光是國內的使用者,美國、歐洲、甚至澳洲的一些使用者都在用我們的這個資料庫去管海外的工業資料,像鋼鐵的資料、風力發電的資料,等等。

因為在製造業方面,還是中國更強,場景更多,資料量也更大,起碼從我們遇到的場景裡面、管理的資料的複雜度來看,國內的這些複雜度是遠遠超過國外的。所以我們也更能夠做出比外國更先進的產品,這是國內市場的一個優勢。

不過,在工業網際網路,技術迭代是最慢的。網際網路行業替換一個運營商的元件,可能一年就行;但工業裡面去做這樣一款架構的升級,有可能是規劃一年,實施一年,驗證一年,三五年就過去了,才完成了一兩輪的技術迭代。這個行業,可能五年前做出的成果,推廣一些案例之後,才能慢慢得到逐家的跟進。

不過如今,Apache IoTDB 在時序資料庫行業,已經是比較 Top 的產品了。我現在讀論文,會發現學者們在綜述裡都會提到 Apache IoTDB。而且,已經有一部分的教科書包含 Apache IoTDB 了。CMU 有一個資料庫的排行榜,裡面收錄了海內外的各種資料庫,也把 Apache IoTDB 收錄進去了,作為時序資料庫領域一個比較典型的資料庫。所以,假以時日,我相信 Apache IoTDB 在時序資料庫領域,會有更高的領導地位。

來自 “ 工作日誌 ”, 原文作者:穎欣;原文連結:https://my.oschina.net/u/6852546/blog/11050489,如有侵權,請聯絡管理員刪除。

相關文章