Detailed installation instructions for setting up MyRocks to use Linkbench for benchmarking.
sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison zlib-devel snappy-devel
sudo yum install gflags-devel readline-devel ncurses-devel openssl-devel lz4-devel gdb git
cd ~ mkdir git cd git git clone https://github.com/facebook/mysql-5.6.git
cd mysql-5.6/
git submodule init
git submodule update
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=system -DWITH_ZLIB=bundled -DMYSQL_MAINTAINER_MODE=0 -DENABLED_LOCAL_INFILE=1 -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/fb56
time make
sudo make install && make clean
cd /home/openxs
useradd -M mysql sudo passwd mysql EDIT etc/sudoers file to include mysql same as root privileges
su mysql
sudo vi fb56.cnf
[mysqld] rocksdb default-storage-engine=rocksdb skip-innodb default-tmp-storage-engine=MyISAM
log-bin binlog-format=ROW
cd dbs/fb56/
sudo scripts/mysql_install_db --defaults-file=/home/openxs/fb56.cnf
chown mysql /home/openxs/dbs/fb56/data/
bin/mysqld_safe --defaults-file=/home/openxs/fb56.cnf &
#MySQL SETUP -
cd /home/openxs/dbs/fb56 bin/mysql -uroot test
SET PASSWORD FOR 'root'@'localhost' = PASSWORD(βrootβ);
SET GLOBAL max_connections = 1024;
create database linkdb;
use linkdb;
CREATE TABLE linktable
(
id1
bigint(20) unsigned NOT NULL DEFAULT '0',
id1_type
int(10) unsigned NOT NULL DEFAULT '0',
id2
bigint(20) unsigned NOT NULL DEFAULT '0',
id2_type
int(10) unsigned NOT NULL DEFAULT '0',
link_type
bigint(20) unsigned NOT NULL DEFAULT '0',
visibility
tinyint(3) NOT NULL DEFAULT '0',
data
varchar(255) NOT NULL DEFAULT '',
time
bigint(20) unsigned NOT NULL DEFAULT '0',
version
int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (link_type, id1
,id2
) COMMENT 'cf_link_pk',
KEY id1_type
(id1
,link_type
,visibility
,time
,version
,data
) COMMENT 'rev:cf_link_id1_type'
) ENGINE=RocksDB DEFAULT COLLATE=latin1_bin;
CREATE TABLE counttable
(
id
bigint(20) unsigned NOT NULL DEFAULT '0',
link_type
bigint(20) unsigned NOT NULL DEFAULT '0',
count
int(10) unsigned NOT NULL DEFAULT '0',
time
bigint(20) unsigned NOT NULL DEFAULT '0',
version
bigint(20) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (id
,link_type
)
) ENGINE=RocksDB DEFAULT CHARSET=latin1;
CREATE TABLE nodetable
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
type
int(10) unsigned NOT NULL,
version
bigint(20) unsigned NOT NULL,
time
int(10) unsigned NOT NULL,
data
mediumtext NOT NULL,
PRIMARY KEY(id
)
) ENGINE=RocksDB DEFAULT CHARSET=latin1;
#LINKBENCH SETUP -
cd~/git
git clone https://github.com/facebookarchive/linkbench.git
mvn clean package -P fast-test
###inside the FBWorkload.properties file, make the maxid1 smaller vi config/FBWorkload.properties
maxid1 = 500000
vi config/
# MySQL connection information
host = localhost
user = root
password = root
# under Load Phase Configuration
loaders = 10
# under Request Phase Configuration
requesters = 20
requests = 10000
./bin/linkbench -c config/LinkConfigMysql.properties -l
./bin/linkbench -c config/LinkConfigMysql.properties -D warmup_time=1 -r
mysql> show engine rocksdb status\G