scdp v5考试 答案 供参考


第一题:
考试内容

1)到桌面目录( /home/shiyanlou )下,找到巨杉数据库引擎安装包,解压 sequoiadb-5.0.1-enterprise-linux_x86_64.tar.gz ;


tar -zxvf sequoiadb-5.0.1-enterprise-linux_x86_64.tar.gz

2)进入解压目录(sequoiadb-5.0.1/);

cd sequoiadb-5.0.1

3)为解压目录下的 run 包增加可执行权限;

chmod u+x sequoiadb-5.0.1-linux_x86_64-enterprise-installer.run
chmod u+x sequoiasql-mysql-5.0.1-linux_x86_64-enterprise-installer.run
chmod u+x sequoiasql-postgresql-5.0.1-x86_64-enterprise-installer.run
chmod u+x setup.sh


4)切换至 root 用户;

sudo su
 

    Note: 考试环境已经配置了 sudo 免密权限;

5)使用 setup.sh 脚本安装 SequoiaDB 和 MySQL;
./setup.sh
    

6)切换至 sdbadmin 用户,到 /opt/sequoiadb/tools/deploy 目录下,使用 quickDeploy.sh 部署 SequoiaDB (1个 SequoiaSQL-MySQL 数据库实例节点、1个引擎协调节点,1个编目节点与3个数据节点);

    Note:

    用户 sdbadmin 的密码为 sdbadmin





7)RR 隔离级别需要时间序列服务(STP)和全局事务的支持。将 mvccon 和 globtranson 为 true


 su - sdbadmin
sequoiadb  --version  
sdblist

 /opt/sequoiasql/mysql/bin/sdb_sql_ctl status


stpstart
sdb

var db = new Sdb("localhost", 11810);

db.updateConf({globtranson: true, mvccon: true, transisolation: 3}, {Global: true})


quit

sdbstop -t db;sdbstart -t db;



8)启动 STP

9)查看 SequoiaDB 版本信息,用 sdblist 命令查看部署节点情况;



10)登录 MySQL shell ;

/opt/sequoiasql/mysql/bin/mysql -h 127.0.0.1 -P 3306 -u root -proot

set global transaction_isolation ='repeatable-read';
set tx_isolation='repeatable-read';


11)创建数据库 company 和包含自增主键字段的 employee 表 ( empno INT AUTO_INCREMENT PRIMARY KEY , ename VARCHAR(128) , age INT ) ;

CREATE DATABASE company;
USE company;

CREATE TABLE employee
(
empno INT AUTO_INCREMENT PRIMARY KEY,
ename VARCHAR(128),
age INT
);

12)使用 insert into 向 employee 表中写入记录:

    ({ empno: 1, ename: "Bob", age: 29});


    INSERT INTO employee (ename, age) VALUES ("Jacky", 36);
INSERT INTO employee (ename, age) VALUES ("Alice", 18);



13)在 SequoiaDB Shell 进行数据的 CRUD 操作:

写入数据:
sdb
var db = new Sdb("localhost", 11810);


db.company.employee.find();

db.company.employee.insert( { ename: "Abe", age: 20 } );



db.company.employee.update( { $set: { ename: "Ben" } }, { ename: "Abe" } );

db.company.employee.remove( { ename: "Jane" } );


    { empno: 2, ename: "Abe", age: 18 }

    { empno: 3, ename: "Alice", age: 47 }

    { empno: 4, ename: "Jane", age: 29 }

查询数据:

    查询数据是否被正确写入;

更新数据:

    将 empno 为2的数据的 ename 改为"Tom",

删除数据:

    删除 empno 为4的数据;

14)在 MySQL 实例运用 SQL 语句创建多维分区表,要求创建数据库 company 将其映射至对应的 SequoiaDB 集合空间。创建多维分区表的表名为 goods;

    要求:

        goods表的结构为 (id INT NOT NULL, produced_date DATE, name VARCHAR(100), company VARCHAR(100))

        goods表的上层分区使用 RANGE 分区,日期小于 2000-01-01为分区 p1 、2000-01-01 至 2010-01-01 为分区 p2 、2010-01-01 至 2020-01-01 为分区 p3,分区字段为produced_date

USE company;

        goods表的下层分区使用 HASH 分区,分区字段为 id

        在表中插入记录 (id:10001, produced_date :'2012-10-01', name:'SDB', company:'SequoiaDB')


INSERT INTO goods(id, produced_date, name, company) VALUES(1, '1991-03-23', 'SDB', 'SequoiaDB');

USE company;
CREATE TABLE goods2(
    id INT NOT NULL,
    produced_date DATE,
    name VARCHAR(100),
    company VARCHAR(100)
)
PARTITION BY RANGE COLUMNS(produced_date)
SUBPARTITION BY HASH(id)
SUBPARTITIONS 4(
     PARTITION p1 VALUES LESS THAN('2000-01-01'),
    PARTITION p2 VALUES LESS THAN('2010-01-01'),
    PARTITION p3 VALUES LESS THAN('2020-01-01')
);


第二题
1)到桌面目录( /home/shiyanlou/sequoiadb-5.0.1 )下,找到SequoiaSQL-MariaDB 实例安装包 ;


cd /home/shiyanlou/sequoiadb-5.0.1

2)切换至 root 用户;

sudo su
 

    Note: 考试环境已经配置了 sudo 免密权限;

2)安装 SequoiaSQL-MariaDB 实例 ;

./sequoiasql-mariadb-5.0.1-linux_x86_64-enterprise-installer.run   --mode text

3)切换到 sdbadmin 用户创建 SequoiaSQL-MariaDB 实例;

su - sdbadmin
 /opt/sequoiasql/mariadb
 bin/sdb_maria_ctl addinst myinst -D database/6101/
 bin/sdb_maria_ctl status

 cd /opt/sequoiasql/mariadb/
/opt/sequoiasql/mariadb/bin/mariadb -S database/6101/mysqld.sock -u sdbadmin

CREATE DATABASE company;
USE company;



4)创建数据库 company;

5)创建包含自增主键字段的 employee 表,字段为:( empno INT, ename VARCHAR(128), age INT );
CREATE TABLE employee
(
empno INT AUTO_INCREMENT PRIMARY KEY,
ename VARCHAR(128),
age INT
);


6)写入如下两条数据:

    (ename, age) VALUES ("Jacky", 36);
    (ename, age) VALUES ("Alice", 18);

INSERT INTO employee (ename, age) VALUES ("Jacky", 36);
INSERT INTO employee (ename, age) VALUES ("Alice", 18);




7)配置协调节点,使其能够兼容 mongodb 4.x 版本协议,并使用 MongoDB Shell 验证是否能够进行数据操作。

sdb
 

2)通过 javascript 语言连接协调节点,获取数据库连接;

var db = new Sdb("localhost", 11810);
 

3)查询 employee 集合中的数据是否与 MongoDB Shell 操作的结果一致;

db.company.employee.find();
 

3)退出 SequoiaDB Shell;

quit;




su - sdbadmin

 /home/sdbadmin/package/mongodb/mongo --version
echo 'fap=fapmongo3' >> /opt/sequoiadb/conf/local/11810/sdb.conf

如需兼容 mongodb 2.x 版本,应添加配置“fap=fapmongo2”;如需兼容 mongodb 3.x 版本或者 mongodb 4.x 版本,应添加配置“fap=fapmongo3”

4)停止协调节点;

/opt/sequoiadb/bin/sdbstop -p 11810
[copy]

5)启动协调节点;

/opt/sequoiadb/bin/sdbstart -p 11810
[copy]

6) 查看 fap 端口是否已经启动

sudo netstat -anp | grep 11817

posted @ 2021-05-31 10:43  da0h1  阅读(195)  评论(0编辑  收藏  举报