OLTP-BenchBase 新手笔记

一、OLTP-Bench

它是一个DBMS SQL基准测试框架,在2013年发表于PVLDB. 之前是叫做OLTP-Bench,后来经过不断的更新拓展成为现在的benchbase
建立BenchBase的操作,就按照README中的Quick Start来操作即可.
需要注意的是jdk的版本问题,最好用openjdk17安装jdk的博客参考这篇

# 更新软件源
sudo apt update
# 查找openjdk,找到自己想要的版本
sudo apt search openjdk
# 安装openjdk
sudo apt install openjdk-17-jdk

1. 构建BenchBase

git clone --depth 1 https://github.com/cmu-db/benchbase.git
cd benchbase
./mvnw clean package -P mysql

在这里编译会报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
参考博客的解决方法,在pom.xml加入下面配置:

.....
<build>
  <plugins>
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-surefire-plugin</artifactId>  
        <version>2.4.2</version>  
        <configuration>  
          <skipTests>true</skipTests>  
        </configuration>  
    </plugin>    </plugins>
</build>.....

2. 进入target文件夹

cd target
tar xvzf benchbase-mysql.tgz 
cd benchbase-mysql           

3. 在benchbase-x-y-z文件夹中,可以跑tpc-c等基准测试

(跑测试之前要配置对应的MySQL或者postgreSQL,见第二部分)
注意一定要创建一个标准数据库,叫benchbase!!!

二、配置MySQL和PostgreSQL

此时,我们想要跑基准测试,还需要配置虚拟机中的MySQL

1. MySQL的安装

[参考博客]
(https://blog.csdn.net/u011726005/article/details/106963535/)

在benchbase-x-y-z文件夹下,有config文件夹,里面是不同数据库的参数配置文件。
以mysql文件夹里的sample_tpcc_config.xml为例,看到首先需要创建个名为benchbase的数据库,然后用户名为admin,密码为password.

# 登录mysql
sudo mysql -u root -p

# 建立数据库
create database benchbase;

# 创建用户并授权
create user 'admin'@'%' identified by 'password';
grant all privileges on *.* to 'admin';

# 一定要刷新权限
FLUSH PRIVILEGES;

2. PostgreSQL及可视化界面的安装

(1)pgsql

与MySQL安装类似,同样需要创建个名为benchbase的数据库,然后用户名为admin,密码为password.
Ubuntu中使用PgAdmin4参考Stack Overflow的回答,在pgadmin中有图形化的窗口,直接可以看到事务执行的状态

# 启动psql
sudo systemctl start postgresql

# 查看状态
sudo systemctl status postgresql

# 切换用户
sudo su - postgres 
psql benchbase

(2) pgadmin4连接远程数据库

这里的主要操作包括:配置ssh、修改pg_hba.conf等配置文件和最终根据端口以及密码等连接数据库
参考博文1
参考博文2

三、远程访问数据库

通过上一步配置好的ssh访问远程主机,有两种方式:一种是代码中的私钥公钥,或者直接用主机用户名和密码的方式访问
虚拟机的ip地址用如下命令查看:

ifconfig  // 注意这里是ifconfig不是ipconfig

安装openssh-server

sudo apt-get install openssh-server
service ssh restart

默认22号端口是关闭的,记得打开

sudo apt-get install ufw

sudo ufw enable
 
sudo ufw allow 22

remote connect to PostgreSQL
对应的GitHub仓库

posted @ 2021-12-22 19:08  麦特·莱博  阅读(501)  评论(0)    收藏  举报