StoneDB安装与配置指南
1. 项目基础介绍
StoneDB是一个开源的MySQL兼容的高性能混合事务/分析处理(HTAP)数据库。它为MySQL提供了分析处理(AP)能力,使得现有的系统可以无缝迁移到StoneDB而不需要更改任何代码。相比InnoDB,StoneDB提供了10倍的查询性能和10倍的加载性能,并且还提供了10:1到40:1的压缩比。
2. 主要编程语言
该项目主要使用C++编程语言。
3. 关键技术和框架
- MySQL兼容性:StoneDB能够兼容MySQL的语法和命令,使得迁移过程更为简便。
- RocksDB:用于存储和压缩数据,提供高效的键/值存储。
- Column Store:数据以列格式存储,适合于分析查询。
4. 安装和配置准备工作
在开始安装之前,请确保您的系统满足以下要求:
- 操作系统:CentOS 7.x 或更高版本、Ubuntu 20.04 或更高版本、Red Hat Enterprise Linux 7 (RHEL 7.x)
- 编译工具集:GCC 7.3 或更高版本
- 依赖包:Make 3.82 或更高版本、CMake 3.7.2 或更高版本、marisa 0.77、RocksDB 6.12.6、Boost 1.66
请先安装以上依赖项,确保您的系统环境适合编译和运行StoneDB。
5. 详细安装步骤
以下是在Ubuntu 20.04上编译安装StoneDB的步骤,其他操作系统请参考相应的文档。
步骤 1:安装依赖
sudo apt update
sudo apt install -y git make cmake g++ libmarisa-dev librocksdb-dev libboost-dev
步骤 2:克隆代码库
git clone https://github.com/stoneatom/stonedb.git
cd stonedb
步骤 3:编译
mkdir build
cd build
cmake ..
make
步骤 4:配置MySQL
安装完成后,需要配置MySQL。
编辑my.cnf文件,添加以下配置:
[mysqld]
default-storage-engine=tianmu
default-tmp-storage-engine=MyISAM
binlog-format=STATEMENT
步骤 5:初始化数据库
cd /path/to/your/path/bin
./mysql_install_db --basedir=/stonedb/install/ --datadir=/stonedb/install/data/ --user=mysql
或者对于5.7或更高版本:
./mysqld --initialize --basedir=/stonedb/install/ --datadir=/stonedb/install/data/ --user=mysql
步骤 6:启动数据库实例
mysqld_safe --defaults-file=/path/to/my.cnf --user=mysql &
步骤 7:创建StoneDB表
CREATE TABLE `example_table` (
`id1` bigint(20) NOT NULL DEFAULT '0',
`id1_type` int(10) NOT NULL DEFAULT '0',
`id2` bigint(20) NOT NULL DEFAULT '0',
`id2_type` int(10) NOT NULL DEFAULT '0',
`data` varchar(255) NOT NULL DEFAULT '',
`time` bigint(20) NOT NULL DEFAULT '0',
`version` int(11) NOT NULL DEFAULT '0',
) ENGINE=tianmu;
按照上述步骤操作,您应该能够成功安装并配置StoneDB数据库。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



