IoTDB & Ratis 雙向深耕!
還記得一年前我們采訪過擁有 IoTDB 核心研發+ Ratis Committer “雙重身份”的社區成員宋子陽嗎?(點此閱讀)
我們高興地發現,一年后,他在兩個項目都更進一步,已成為 Apache IoTDB Committer + Ratis PMC Member!
時隔一年的追蹤采訪,再來了解一下這位始終堅持、積極貢獻的社區優秀同學的體會:
宋子陽
大家好,我是宋子陽,目前是清華大學軟件學院研究生二年級學生,主要感興趣的方向是分布式系統和共識協議。我熱愛開源社區,從 2021 年底就開始參與開源社區的貢獻,到現在已經 3 年了。
關于 Apache IoTDB
還是先來簡單說說你和 IoTDB 的緣分吧?
在本科階段,我就對數據庫、操作系統等基礎軟件產生了濃厚的興趣。在大三保研時,我堅定了投身于數據庫內核研發的理想,也借保研的機會了解到清華大學軟件學院和 Apache IoTDB 工業時序數據庫。在這個過程中我被?IoTDB 的技術領先性、性能優勢和廣泛的應用場景深深吸引,迫切地想成為其中的一份子,于是就加入到了 IoTDB 的發展迭代里來。
我在 Apache IoTDB 中主要負責高可用共識模塊。當前的 Apache IoTDB 的分布式版本當中支持了三種不同的共識協議算法,其中囊括了 Raft 協議,不僅能夠提供強一致性保障,同時可以保障集群內部元數據和時序數據的高可用性。在精心的設計和持續的優化下,IoTDB 在保證數據架構的高可用、高可靠的同時,以優越的吞吐性能和較低的時延損失獲得了數據的強一致性。
距離上次的采訪也經過一年多了,說說這段時間里你在 IoTDB 的新建樹和新收獲吧?
在這段時間里,我開始逐漸跳出 Ratis 甚至是共識協議的范疇,開始以一種更高的、更全面、更系統的角度參與到 IoTDB 的貢獻中。去年年初我參與到了 Ratis 和可觀測性的集成中,感受到了可觀測性對于系統內核的深遠幫助。去年年末我參與到了 Region 遷移的設計,在保持功能性和穩定性的條件下繼續打磨共識協議的 snapshot 傳輸能力。今年開始我參與到了負載均衡模塊的設計。這些工作不但讓我更加了解 IoTDB,也讓我在一個大系統的視角里持續優化貢獻共識協議,完成了 IoTDB-Ratis 社區的“飛輪效應”提升。萬事開頭難,但隨著努力再努力,進步也就越來越快了。
是什么讓你能一直堅持參與 Apache IoTDB 項目,最終成為 Committer 呢?
主要有三個原因:
社區成員們非常友好,無論是新手還是有經驗的開發者,大家都樂于分享知識和經驗,互相幫助。這種包容和支持的氛圍促使我愿意長期投身于項目中。
同時,Apache IoTDB 項目為我提供了一個挑戰自我、實現技術突破的平臺。通過解決實際問題、參與復雜功能的開發,我不僅提升了自己的技術能力,還積累了寶貴的實踐經驗。
最后是責任感。積極參與項目的開發和維護工作,確保項目的質量和穩定性,開發出能用、好用、管用的軟件是我們清華軟院學子的追求。
之前采訪時,你還是 Ratis Committer,現在也已經是 PMC Member 了,是如何完成的這一轉變呢?
從 Committer 向 PMC Member 的轉變,基于的是我們不斷向 Ratis 貢獻的 Patches,也體現了 Ratis 社區對我們的信任和支持。這段時間里,我主導了 Ratis 社區的部分決策,包括發版、Tickets、公告,Ratis 社區也為支持我們做了大量的工作,包括為我們的發版專門加班加點趕了許多PR。
在未來,兩個社區會繼續加深合作,我們會不斷把我們在 IoT 領域的工作和優化點貢獻給 Ratis,也讓 Ratis 變成一個更加適合處理 IoT 領域數據的 Raft 共識協議。
關于開源社區
你覺得開源社區對 Apache IoTDB 的“加成”是?
開源社區通過廣泛的傳播和推廣,讓更多的潛在用戶和貢獻者了解到 Apache IoTDB。開放的貢獻機制為全球開發者和用戶提供了平等的參與機會,他們可以提交代碼、撰寫文檔、報告問題和提出改進建議。社區成員因對技術和創新的共同追求而聚集,形成了一個協作網絡,共同致力于優化和完善 IoTDB。通過快速響應用戶反饋、修復問題、開發新功能和分享知識,開源社區不斷推動 IoTDB 項目前進,使其成為一個更加優秀的時序數據庫系統。
有沒有給想要參與 Apache IoTDB 開源社區貢獻的小伙伴一點小建議?
歡迎加入 Apache IoTDB 社區!作為新手,不要害怕提問,大家都是很耐心的人,愿意幫助你解決疑惑。社區提倡知識共享和合作,你的問題和想法都是寶貴的。可以從一些簡單的 issue 開始,比如修復小 bug 或完善文檔,這不僅能讓你快速上手項目,還能逐步積累經驗和信心。通過這些初步的貢獻,你將熟悉項目結構和開發流程,為后續參與更復雜的任務打下基礎。期待你的積極參與,讓我們一起把 IoTDB 變得更好!
成為 Committer 的感言!
成為 Apache IoTDB 的 committer 是一段令人難忘的旅程。我深感榮幸,感謝社區給予的信任和支持。回顧這段歷程,社區溫暖的氛圍、強烈的責任感以及對卓越的追求是我堅持不懈的動力源泉。每一次解決問題、每一次代碼提交,都讓我感受到技術進步帶來的成就感和滿足感。我見證了項目的成長,也從中收獲了寶貴的經驗和友誼。未來我會繼續致力于 IoTDB 項目的高可用共識模塊領域,在自己擅長的方面提供力量,為開源鑄就獨特而輝煌的下一篇章!