When I first clone oceanbase 0.4 from github.com/alibaba/oceanbase, I found it's not well structured and intermediate files and exectuables are scattered within the whole project, which is not good. So I plan to replace automake with cmake, which is a much cleaner and powerful tool. Furthormore, some codes in this version are not normative. Maybe strict code review was not enforced at that development time. Since gcc 7.2 is being used, I made the code compilable with gcc 7.2. Many warnings exists if -Wall is on, but that's the later work to eliminate them.
Currently RootServer, UpdateServer, ProxyServer, MergeServer and their corresponding static libraries can be successfully built with cmake and gcc 7.2.
Original flags options seems to be very strict on gcc 7.2, which will lead to plenty of warnings with -Wall, or even error with -Werror. Maybe it's safe on gcc 4.x, but apparently not on gcc 7.x. So in order to compile OK, I remove -Wall and -Werror for the moment, which makes cmake building much quieter. Anyway I'll fix those warnings when available.
So building with cmake is quite easier, just do :
cd oceanbase
mkdir build; cd build
cmake .. -DTBLIB_ROOT=... -DEASY_ROOT=...(DRC_ROOT is not needed, actually I even don't know what DRC means)
make
After a period of time based on your machine's speed, you'll see static libraries in build/lib and exectuables in build/bin
Currently I just use as lease build options as I can to make building good. If some exectuable need special
options to make running normally, you should use them. Options I use for now comes from Makefiles generated
by sh build.sh init && ./configure && make
. ALL FLAGS are exported into flags.md when reference
is needed. Of course you can use automake's way to generate them.
Building with cmake is only tested on Centos 7.x.
Porting processs article could be found at OceanBase 0.4 从automake,gcc 4.x到cmake,gcc7.x
Have fun ~
OceanBase是阿里巴巴集团自主研发的可扩展的关系型数据库,实现了跨行跨表的事务,支持数千亿条记录、数百TB数据上的SQL操作。在阿里巴巴集团下,OceanBase数据库支持了多个重要业务的数据存储,包括收藏夹、直通车报表、天猫评价等。截止到2013年4月份,OceanBase线上业务的数据量已经超过一千亿条。
2013/10/31,合并最新的bugfix和特性到0.42分支上:
OceanBase发行日志:
-
2013/11/13:整理提交了V0.4.2代码和相关技术文档。
-
2013/04/28:整理提交了V0.4.1代码和相关技术文档。
-
2013/03/04:整理提交了V0.3.1代码和相关技术文档。
OceanBase客户端发行日志:
-
2013/11/13:整理提交了OceanBase JAVA客户端“oceanbase-core-1.2.3.jar”和相关技术文档。
-
2013/09/13:整理提交了OceanBase JAVA客户端V1.1.1代码和相关技术文档。
-
2013/07/29:整理提交了OceanBase C客户端和OceanBase JAVA客户端的RPM安装包。
OceanBase 0.4 版本特性如下,详细说明请参见“OceanBase 0.4 版本特性”:
-
使用libeasy网络框架代替了原来的tbnet,实现更高的网络处理性能。
-
全面支持MySQL协议。
-
支持SQL的客户端库。
-
全面支持SQL。
-
易用性改进。
当前OceanBase开源地址中主要维护0.4.2版本,如果您需要获取其他版本的源码和RPM包,请联系我们。
OceanBase开源地址如下:
-
OceanBase 源码:https://github.com/alibaba/oceanbase
-
OceanBase RPM包:https://github.com/alibaba/oceanbase_rpm_package
-
OceanBase 客户端:https://github.com/alibaba/oceanbase_client
OceanBase 0.4.2 产品文档如下表所示:
序号 | 文档名称 | 使用说明 | |
1 |
《OceanBase 0.4.2 描述》 | 该文档主要介绍OceanBase 0.4.2的架构、存储引擎和功能等信息。 | 下载 |
2 |
《OceanBase 0.4.2 安装指南》 | 该文档主要介绍OceanBase 0.4.2的安装过程。 | 下载 |
3 |
《OceanBase 0.4.2 配置指南》 | 该文档主要介绍搭建OceanBase 0.4.2的主备RootServer、主备UpdateServer和主备集群的方法。 | 下载 |
4 |
《OceanBase 0.4.2 快速入门》 | 该文档主要介绍如何快速入门OceanBase 0.4.2的方法。 | 下载 |
5 |
《OceanBase 0.4.2 客户端 用户指南》 | 该文档主要介绍OceanBase 0.4.2的Java客户端和C客户端的使用方法。 | 下载 |
6 |
《OceanBase 0.4.2 客户端 用户指南(阿里内部)》 | 该文档主要介绍OceanBase Java客户端和OceanBase C客户端的使用方法。与《OceanBase 0.4.2 客户端 用户指南》相比,本文档增加了OceanBase配置中心和OceanBase Java客户端中的阿里内部模块“oceanbase.jar”的介绍。 |
下载 |
7 |
《OceanBase 0.4.2 SQL 参考指南》 | 该文档主要介绍OceanBase 0.4.2支持的SQL语言、语法规则和使用方法等。 | 下载 |
8 |
《OceanBase 0.4.2 参考指南》 | 该文档主要介绍OceanBase 0.4.2的日志参考、系统结果码和术语等信息。 | 下载 |
9 |
《OceanBase 0.4.2 升级指导书》 | 本文档主要介绍OceanBase 0.4.1版本升级到0.4.2版本的详细方法。 | 下载 |
OceanBase 0.4.1 产品文档如下表所示:
序号 | 文档名称 | 使用说明 | |
1 |
《OceanBase 0.4.1 描述》 | 该文档主要介绍OceanBase 0.4.1的架构、存储引擎和功能等信息。 | 下载 |
2 |
《OceanBase 0.4.1 安装指南》 | 该文档主要介绍OceanBase 0.4.1的安装过程。 | 下载 |
3 |
《OceanBase 0.4.1 配置指南》 | 该文档主要介绍搭建OceanBase 0.4.1的主备RootServer、主备UpdateServer和主备集群的方法。 | 下载 |
4 |
《OceanBase 0.4.1 快速入门》 | 该文档主要介绍如何快速入门OceanBase 0.4.1的方法。 | 下载 |
5 |
《OceanBase 0.4.1 客户端 用户指南》 | 该文档主要介绍OceanBase 0.4.1的Java客户端和C客户端的使用方法。 | 下载 |
6 |
《OceanBase 0.4.1 客户端 用户指南(阿里内部)》 | 该文档主要介绍OceanBase Java客户端和OceanBase C客户端的使用方法。与《OceanBase 0.4.1 客户端 用户指南》相比,本文档增加了OceanBase配置中心和OceanBase Java客户端中的阿里内部模块“oceanbase.jar”的介绍。 |
下载 |
7 |
《OceanBase 0.4.1 SQL 参考指南》 | 该文档主要介绍OceanBase 0.4.1支持的SQL语言、语法规则和使用方法等。 | 下载 |
8 |
《OceanBase 0.4.1 参考指南》 | 该文档主要介绍OceanBase 0.4.1的日志参考、系统结果码和术语等信息。 | 下载 |