易鯨捷資料庫開源版本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