Score
0
Watch 488 Star 562 Fork 496

GVPwangzhonnew / sequoiasql-mysqlC++GPL-2.0

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
巨杉数据库分布式兼容工具 SequoiaSQL,包含分布式数据库SequoiaDB的SQL引擎,以及兼容各种SQL语法协议的解析器。 SequoiaSQL项目目前已经完成了对MySQL和PostgreSQL的支持,并且已经打包进入产品中,投入用户的实际生产环境里使用。 spread retract

http://www.sequoiadb.com/cn/

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

SequoiaSQL - MySQL Storage Engine

SequoiaSQL - MySQL Storage Engine is a distributed MySQL storage engine.

It currently supports SequoiaDB 3.x as the backend database, and it will be extended to multiple databases such like MongoDB/Redis and etc...

In order to take advantages of scalability and performance, SequoiaSQL - MySQL Storage Engine can be used to replace InnoDB and store user data/index/lob in the backend distributed database.

Building

  1. Get boost-1.59.0, the source code of mysql-5.7.24 and SequoiaDB C++ driver 3.0.1.
  2. Clone the plugin code to the storage directory.
cd mysql-5.7.24/storage
git clone https://github.com/SequoiaDB/sequoiasql-mysql.git sequoiadb
  1. Build the plugin
cd mysql-5.7.24
cmake . -DWITH_BOOST=</path/to/boost_1_59_0/> -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DWITH_SDB_DRIVER=</path/to/sequoiadb/driver> -DCMAKE_BUILD_TYPE=Release
make install -j 4

By default, the sequoiadb storage engine is built into MySQL. You can add -DSDB_BUILT_IN=OFF to build it as a dynamic library.

Additional, we use two options to give plugin version and SequoiaDB C++ driver version:

-DSDB_PLUGIN_VERSION=<git commit short hash>
-DSDB_DRIVER_VERSION=<driver version>

For example: -DSDB_PLUGIN_VERSION=4811624 -DSDB_DRIVER_VERSION=3.0.1.

Coding Guidelines

According to MySQL coding guidelines, we use the Google C++ coding style.

We use clang-format to format source code by 'Google' style with some exceptions. The '.clang-format' file contains all the options we used.

The .clang-format file is dumped from the tool by following command:

clang-format -style=google -dump-config > .clang-format

And we changed following options:

SortIncludes: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false

You can directly use clang-format command line or the plugin in VSCode if you use VSCode. Remember to use the .clang-format file as style.

License

License under the GPL License, Version 2.0. See LICENSE for more information. Copyright (c) 2018, SequoiaDB and/or its affiliates. All rights reserved.

Comments ( 4 )

Sign in for post a comment

C++
1
https://gitee.com/wangzhonnew/sequoiasql-mysql.git
git@gitee.com:wangzhonnew/sequoiasql-mysql.git
wangzhonnew
sequoiasql-mysql
sequoiasql-mysql
master

Help Search