如何参与Apache顶级项目Trafodion的开发

导语

易鲸捷数据库开源版本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的相关资源官方网站上也有大量的视频和文档资料,供大家参考和学习。

网站

文档

WIKI

https://cwiki.apache.org/confluence/display/TRAFODION,WIKI中记录了很多常见的操作步骤,例如:加入贡献者的操作步骤、准备编译环境的操作步骤、准备测试环境的操作步骤、执行回归测试用例的步骤等等。

虽然文档非常丰富,但对于很多人来说,读文档还是比较痛苦的,更何况还全是英文。这时候你可以加入该QQ群,里边有很多专家来帮你解答各种技术问题。

Mailing Lists

这里列出了所有可以订阅的邮件,如果你订阅了dev,可以收到所有的开发过程中讨论的相关邮件,也可以收到别人提出的问题和解答的过程。如果你订阅了user,你可以对其发邮件咨询使用过程中的各种问题。当然还可以提供你的相关信息,参与到贡献者当中。

下载地址

代码

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操作即可。这个编译过程比较漫长,希望你耐心等待。

有些软件在编译过程中,需要下载和编译。如果你的网络速度慢或者无法上外网会导致编译失败,这时候可以连接外网下载这些软件安装以后再次尝试编译。如果一切顺利的话,你的编译日志中不应该出现错误信息,并且结尾会显示编译成功,如果你看到编译成功的字样,那么恭喜你正确搭建了一个编译环境。

易鲸捷简介

易鲸捷™是帮助全球企业充分发挥大数据潜力的大数据融合解决方案的领导者。凭借业内首个针对大数据的一体化SQL数据库,该公司正在引领企业努力满足终端和云端不断增长的数据管理需求。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180713G0RCM400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券