如何參與Apache頂級項目Trafodion的開發

2020-09-05 易鯨捷大資料庫

易鯨捷資料庫開源版本Apache Trafodion於2018年1月10日從Apache孵化器畢業,成為Apache頂級項目(TLP)。本文主要從Trafodion相關資源、編譯相關代碼、如何編譯三方面介紹如何參與Trafodion的開發。

今天向大家介紹一款SQL on Hadoop的分布式資料庫,該資料庫在Apache經過兩年多的孵化,於今年年初正式成為Apache社區的TLP(Top Level Project),它的名字叫:Trafodion。Trafodion是威爾斯語,意思為交易,因而Trafodion的目標是提供Hadoop上OLTP型分布式資料庫。

Trafodion開源在Apache社區,主要由易鯨捷公司貢獻和維護,它採用Apache 2.0的License,對於參與者非常友好。Trafodion融合了Gartner提出的HTAP思想,能同時支持分析和事務場景,在各場景都表現優異,在許多大數據量分析場景下性能超過Oracle很多倍。我們以350億行的用戶真實數據進行查詢測試,所有用戶查詢都能在一秒內完成。在物聯網場景下,導入性能持續穩定,並且實時查詢非常高效,而同樣的場景下,Oracle隨著數據量的增加,導入性能會逐漸降低,性能對比曲線如下圖所示:

但由於Trafodion功能全面,結構複雜,參數眾多,命令豐富,而且是一個分布式資料庫,導致很多初學者很難自學掌握。今天就從如何準備編譯開發環境開始,引導大家參與到如此優秀的資料庫的學習和開發過程中。

1、Trafodion相關資源

要學習一個軟體,必須先了解它的所有資源,這裡先介紹一下Trafodion的相關資源。Trafodion不僅有官方網站,還有很多豐富的資源系統。易鯨捷的Trafodion的相關資源官方網站上也有大量的視頻和文檔資料,供大家參考和學習。

網站

http://trafodion.apache.org/,其中含有各個子系統的連結入口,將在後面文章中做逐一介紹。另外易鯨捷的官網http://www.esgyn.cn和http://www.esgyn.com裡也有很多資料供參考。

文檔

http://trafodion.apache.org/documentation.html,了解一個軟體得從文檔開始,這裡幾乎包含你想要了解的所有信息。

WIKI

https://cwiki.apache.org/confluence/display/TRAFODION,WIKI中記錄了很多常見的操作步驟,例如:加入貢獻者的操作步驟、準備編譯環境的操作步驟、準備測試環境的操作步驟、執行回歸測試用例的步驟等等。

QQ群(176011868)

雖然文檔非常豐富,但對於很多人來說,讀文檔還是比較痛苦的,更何況還全是英文。這時候你可以加入該QQ群,裡邊有很多專家來幫你解答各種技術問題。

Mailing Lists

這裡列出了所有可以訂閱的郵件,如果你訂閱了dev,可以收到所有的開發過程中討論的相關郵件,也可以收到別人提出的問題和解答的過程。如果你訂閱了user,你可以對其發郵件諮詢使用過程中的各種問題。當然還可以提供你的相關信息,參與到貢獻者當中。

下載地址

http://trafodion.apache.org/download.html,如果想試用該產品可以直接下載,但對硬體還是有要求的,如果你的機器內存低於8GB,可能會碰到不少麻煩,所以希望還是在16GB以上內存的Linux機器上安裝試用。

代碼

https://github.com/apache/trafodion,代碼可以直接在Apache下面找到,如果有興趣想去編譯調試,你可能必須參考WIKI中的文章進行環境準備,這個也是本文要介紹的重點。

JIRA

https://issues.apache.org/jira/projects/TRAFODION,如果試用過程中發現BUG,希望你能給我們的JIRA中提交一個BUG,我們會儘快修復。

2、編譯相關代碼

如何編譯相關代碼?我們以前有一個step by step的文檔,介紹安裝哪些軟體,設置什麼環境變量,修改哪些系統配置,編譯安裝什麼第三方軟體。但整個步驟比較複雜,如果某一步沒有操作,或者操作不對,都有可能導致編譯失敗。所以我們寫了一個腳本,將這些所有的手動過程改成了一鍵式操作。準備環境不再像以前一樣複雜繁瑣,而是只需要執行一個命令,靜靜的等待所有的操作完成。但因為用戶的環境千差萬別,即使在我們的環境上安裝測試過無數次,也還是無法保證在你的環境上能夠正確無誤的運行。所以如果你發現這個一鍵式腳本報錯或者無法一鍵準備環境,請你報告一個JIRA或者幫我們修復相應的問題,我們感激不盡!

代碼編譯環境的準備分兩種情況,分別有兩個文章說明了操作步驟:

1、Step by step

https://cwiki.apache.org/confluence/display/TRAFODION/Create+Build+Environment

通過這種方式準備環境的話,你知道給你的環境中增加了什麼軟體,修改了你的什麼系統參數和環境變量。但這種方式適合高級用戶,對於初次接觸的小白來說,還是用一鍵式的腳本吧!

2、一鍵式準備環境

https://cwiki.apache.org/confluence/display/TRAFODION/Create+Build+Environment++By+One+Command

一鍵式準備環境也有一些前提條件,需要安裝yum,配置yum源,給當前用戶設置sudo權限等,這些都在文檔中做了說明。準備完畢後只需要執行下面命令即可(從目前我們嘗試的經驗來看,最好選擇CentOS 6X或者RedHat 6X嘗試): ./install/traf_checkset_env.sh。

如果使用了其它版本的系統,可能腳本需要做相應的調整,目前還沒有支持所有的作業系統版本,所以選擇其它版本會碰到一些麻煩。

3、如何編譯

開源軟體的編譯往往都非常簡單,只需要執行make all操作即可。這個編譯過程比較漫長,希望你耐心等待。

有些軟體在編譯過程中,需要下載和編譯。如果你的網絡速度慢或者無法上外網會導致編譯失敗,這時候可以連接外網下載這些軟體安裝以後再次嘗試編譯。如果一切順利的話,你的編譯日誌中不應該出現錯誤信息,並且結尾會顯示編譯成功,如果你看到編譯成功的字樣,那麼恭喜你正確搭建了一個編譯環境。


易鯨捷簡介

作為企業級融合分布式關係型資料庫的全球領軍者, 易鯨捷融合資料庫(EsgynDB)是一款基於Hadoop開放體系、適用於大數據平臺、擁有國產自主可控智慧財產權的新一代資料庫,支持OLTP、OLAP高性能混合負載處理,覆蓋傳統資料庫功能,實現大數據存儲、高並發處理需求。致力於解決企業、政府、網際網路行業在大數據時代面臨的複雜數據處理、分析與應用問題,為全面建設國家數據基礎設施提供關鍵技術支撐。

官網網址:www.esgyn.cn

微信公眾號:EsgynChina

相關焦點

  • 如何參與 Apache 項目社區
    Apache 項目的開發討論中去,或者更廣泛地說,如何參與到開源項目的開發討論中去,在開源日漸風靡的今天越來越成為一個新手常問的問題。其實參與開源項目並不困難,參與 Apache 項目更有一些具體的套路。我有幸在今年九月份成為 Apache Flink 的 Committer,本文以 Apache Flink 社區為例,介紹作為開發者,如何參與到 Apache 項目社區中去,如何做出自己的貢獻和發表自己的意見。
  • 華為深耕Apache社區,成為貢獻頂級項目
    美國時間2017年4月19日,Apache軟體基金會宣布,華為貢獻給Apache社區的開源項目CarbonData從Apache孵化器畢業,正式成為Apache頂級項目(TLP)。Apache? CarbonData?
  • 如何成為apache開源社區的貢獻者
    參與開源開發代碼從開源中學習成長參與開源作為一個程式設計師,給世界上頂級的apache社區貢獻一下自己的代碼,成為一個apache contributer,把這個寫到簡歷裡,是不是覺得很爽,下面我結合apache flink來簡單講講如何給apache
  • 源自清華的開源項目Apache®IoTDB™ 成為Apache頂級項目
    清華新聞網9月28日電 9月23日,美國東部時間上午11時, Apache軟體基金會(ASF)宣布Apache®IoTDB™成為Apache頂級項目。Apache IoTDB是首個由中國高校發起並孵化成功的Apache頂級項目。
  • 開源工業物聯網資料庫IoTDB畢業成為Apache頂級項目
    閱讀5分鐘全球最大的開源軟體基金會 Apache 軟體基金會於北京時間 2020 年 9 月 23 日宣布 Apache IoTDB 畢業成為 Apache 頂級項目2020 年 9月 16 日,經 Apache 董事會表決,Apache IoTDB 正式晉升為頂級項目
  • 什麼是 ALC (Apache Local Community) Beijing?
    作為全球最大開源消費國, ASF 在國內有廣泛的群眾基礎,如何將這些開源項目用戶發展轉換成為社區的貢獻者、開發者甚至成為開源項目的發起者、維護者是一個值得深思的問題。緣起作為發起人的姜寧,頗為憂傷的語氣回憶道:06 年的時候國內參與 Apache 軟基金會開發的人員很少,當時只有少數幾個在外企工作的人員有機會直接參與 ASF 項目的開發。當時有個問題一直困擾著我,本土的軟體開發人員這麼多,但有多少人能夠以開源項目維護人員的身份深度參與到開源項目開發中來。
  • Apache 基金會宣布 Apache Eagle 成為頂級項目
    ,正式升級成為頂級項目(TLP),這標誌著該項目的社區和產品依照ASF精英管理的流程和原則順利運作。團隊很快意識到這對整個社區也將很有用,所以於2015年10月將項目提交給Apache孵化器。從那時起,Eagle因為其廣泛的使用場景,比如系統/服務監控,應用性能監控和安全漏洞檢測,獲得了開發人員和各種組織的注意。
  • 分布式對象存儲Ozone從Apache基金會畢業,正式成為Apache頂級項目
    剛剛獲悉,Apache基金董事會通過一致表決,正式批准分布式文件對象存儲Ozone從Hadoop社區孵化成功,成為獨立的Apache頂級開源項目。這意味著,作為騰訊大數據團隊首個參與和主導的開源項目,Ozone已得到全球Apache技術專家的一致認可,成為世界頂級的存儲開源項目之一。
  • 連續三年蟬聯第一,Flink 榮膺全球最活躍的 Apache 開源項目
    而 Apache Flink 作為 Apache 軟體基金會 199 個頂級項目中的一員,在這份報告中,無論從社區用戶活躍度、開發者活躍度,還是曝光度等多個維度上,都取得了卓然的成績。Commits 提交:TOP 2開源項目在過去一年的新增提交(commit)數,是一種常用的衡量開源項目開發活躍度的指標。Apache 軟體基金會每年都會公布去年的最多提交數的前五名,而 Flink 在2020年度新增 commit 數目中排名第二,僅次於路由引擎構建構建軟體Apache Camel。
  • Apache 軟體基金會是如何運作的
    涵蓋:member 與 committer 的區別、誰決定什麼事、選舉是如何進行的、基礎設施又是如何工作的、董事會又是什麼、什麼是PMC、孵化器背後的哲學思想又是什麼、以及ASF是如何處理多年以來新項目和貢獻者的驚人增長所帶來的挑戰。本文將帶你走近 Apache 軟體基金會的幕後,一探其背後的運作機理。
  • Apache 年度報告出爐,HBase、Flink、Beam 成最活躍開源項目
    Apache 項目https://projects.apache.org/項目和子項目總數:339 個。頂級項目:206 個。Apche 孵化器的孵化項目:46 個。Apache 軟體基金會委員會(非項目):11 個。其他類別,包括運維 / 支持:60 個。
  • Apache SINGA已畢業成為Apache頂級項目!
    Apache SINGA已從Apache Incubator畢業並成為Apache頂級項目。SINGA項目始於2014年,由新加坡國立大學資料庫系統實驗室聯合浙江大學和網易共同開發完成,SINGA是一個開源的分布式、可擴展的深度學習平臺,它可以在機器集群上訓練大規模的機器學習模型,尤其是深度學習模型。
  • Windows系統下搭建Apache+多版本PHP開發環境
    我從事php相關工作兩年有餘,開發過程中為了省時省力,我一直使用網絡上提供的安裝包完成php開發環境的搭建。早前,在百度貼吧中發布了一個帖子,有些回應。其中有人問我:「Windows如何搭建php開發環境呢?」,我未曾多想便回復了個下載連結於他————他一定有些鄙夷了。為了擺脫這種負罪感,我還是自己實踐一次在windows系統下搭建Apache+多版本PHP開發環境吧。
  • NetBeans 成為 Apache 軟體基金會頂級項目
    4 月 24 日,Apache 軟體基金會宣布 Apache NetBeans 成為頂級項目(TLP,Top-Level Project )。
  • Apache基金會宣布騰訊大數據團隊主導的Ozone成為頂級開源項目
    【天極網IT新聞頻道】剛剛獲悉,Apache基金董事會通過一致表決,正式批准分布式文件對象存儲Ozone從Hadoop社區孵化成功,成為獨立的Apache頂級開源項目。這意味著,作為騰訊大數據團隊首個參與和主導的開源項目,Ozone已得到全球Apache技術專家的一致認可,成為世界頂級的存儲開源項目之一。
  • Apache® CarbonData™ 成 Apache 軟體基金會頂級項目
    Apache軟體基金會正式宣布CarbonData從Apache孵化器畢業,正式成為Apache頂級項目(TLP),這也是首個由中國公司發起並捐獻給
  • 如何為Apache Spark貢獻原始碼
    隨著社區正在努力準備Apache Spark的下一版本3.0,您可能會問自己「我如何參與其中?」。現在的Spark代碼已經很龐大,因此很難知道如何開始自己做出貢獻。Spark PMC & Committer Holden Karau以開發人員為中心,教你如何為Spark社區做貢獻,逐步發現好的問題點,格式化代碼,尋找代碼評審者以及在代碼評審過程中期望得到什麼。
  • apache實現託管Django項目
    我的環境:win10 、python3.7.8(64位) 、wampserver3.2.0_x64、Django-3.0.8-py3-none-any、mysqlclient-2.0.1-cp37-cp37m-win_amd641、首先需要 準備一個django項目
  • Apache軟體基金會宣布IoTDB成為Apache頂級項目
    9 月 23 日,Apache 軟體基金會宣布 Apache IoTDB 畢業,成為 Apache 頂級項目。Apache IoTDB 是一個開源物聯網原生資料庫,旨在滿足大規模物聯網和工業物聯網(IoT 和 IIoT)應用對數據、存儲和分析的嚴苛要求。該項目最早由清華大學大數據系統軟體團隊研發,並於 2018 年 11 月 18 日捐贈給 Apache 基金會。
  • OpenOffice 成為 Apache 頂級項目
    今年 6 月份,Oracle 宣布將 OpenOffice 贈送給 Apache 基金會,Apache 基金會通過投票接納了 OpenOffice,10月份的時候 OpenOffice 改名為 Apache OpenOffice ,今天 Apache 宣布 Apache OpenOffice 成為 Apache 基金會的頂級項目