直接管理存储计算引擎

切换用户

部署 SequoiaDB 巨杉数据库的操作系统用户为 sdbadmin。

1)切换至 sdbadmin 用户;

> su - sdbadmin

Note:用户 sdbadmin 的密码为 sdbadmin

查看节点启动列表
查看 SequoiaDB 巨杉数据库引擎节点列表:

sdblist

Note:
请在这里输入引用内容
如果显示的节点数量与预期不符,请稍等初始化完成并重试该步骤。
C: 编目节点,S:协调节点,D:数据节点

集群节点启停

1)检查本机上 SequoiaDB 节点启动情况;

sdblist -l

2)停止本机上所有 SequoiaDB 巨杉数据库引擎节点;

sdbstop -t all

3)启动本机上所有 SequoiaDB 巨杉数据库引擎节点;

sdbstart -t all

集群管理操作

1)在 Linux 命令行中进入 SequoiaDB Shell 交互式界面;

sdb

2)使用 JavaScript 连接协调节点,并获取数据库连接;

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

3)查看集群拓扑结构;

db.list(SDB_LIST_GROUPS);

4) 检查集群节点状态,集群有异常节点时,在 "ErrNodes" 字段中列出;

db.snapshot(SDB_SNAP_DATABASE);

创建集合空间和集合

创建数据域、集合空间和集合为提供后续章节用于数据操作展示。

1)创建 company_domain 域;

db.createDomain("company_domain", [ "group1", "group2", "group3" ], { AutoSplit: true } );

域的详细说明
Note:

域(Domain)是由若干个复制组(ReplicaGroup)组成的逻辑单元。每个域都可以根据定义好的策略自动管理所属数据,如数据切片和数据隔离等。

2)创建 company 集合空间;

db.createCS("company", { "Domain": "company_domain" } );

3)创建 employee 集合 ;

db.company.createCL("employee", { "ShardingKey": { "_id": 1 }, "ShardingType": "hash", "ReplSize": -1, "Compressed": true, "CompressionType": "lzw", "AutoSplit": true, "EnsureShardingIndex": false } );

4)创建 manager 集合 ;

db.company.createCL("manager", { "ShardingKey": { "_id": 1 }, "ShardingType": "hash", "ReplSize": -1, "Compressed": true, "CompressionType": "lzw", "AutoSplit": true, "EnsureShardingIndex": false } );

巨杉数据库存储引擎的 CRUD 操作

用户可以直接使用 SequoiaDB Shell 提供的交互式 JavaScript 接口进行数据的插入、查询、更新与删除操作。

1)使用 insert() 向 SequoiaDB 巨杉数据库集合中写入记录;

db.company.employee.insert( { empno: 1, ename: "Jacky", age: 28, sex: "male" } );
db.company.employee.insert( { empno: 2, ename: "Abe", age: 36, sex: "female" } );
db.company.employee.insert( { empno: 3, ename: "Alice", age: 23, sex: "male"} );
db.company.employee.insert( { empno: 4, ename: "Jane", age: 25, sex: "female"} );
db.company.manager.insert( { empno: 1, department: "Sales Department" } );
db.company.manager.insert( { empno: 2, department: "Marketing Department" } );
db.company.manager.insert( { empno: 3, department: "Sales Department" } );
db.company.manager.insert( { empno: 4, department: "Marketing Department" } );

2)使用 find() 方法从集合中查询数据记录;

db.company.employee.find( { ename: "Abe" } );

3)使用 update() 方法将集合中的记录进行修改;

db.company.employee.update( { $set: { age: 29 } }, { empno: 1 } );

4)使用 remove() 方法从集合中删除数据;

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

5)使用 find() 方法从集合中查询数据记录;

db.company.employee.find();

巨杉数据库存储引擎的数据聚集操作

聚集框架提供了对集合中的原始数据记录进行统计计算的能力。通过使用聚集框架,用户能够直接从集合中提取数据记录并获取所需的统计结果。

详细了解 SequoiaDB 巨杉数据库聚集说明和使用方法:

SequoiaDB 聚集框架
1)统计集合 employee 中不同性别的平均年龄;

db.company.employee.aggregate( { "$group": { "_id": "$sex", "avg_age": { "$avg": "$age" }, "sex": "$sex" } } );
$group 操作将数据按照性别分组,$avg 计算出每个性别的年龄的平均值。
请在这里输入引用内容
$group 语法:{ $group: { _id:"$分组字段名", 显示字段名: { 聚集函数: "$字段名"},[显示字段名2: { 聚集函数: "$字段名"}, ...] } }

内置 SQL 的使用方法

SequoiaDB 巨杉数据库引擎支持内置SQL,用户能够直接在 SequoiaDB Shell 中使用 SQL 执行数据的 CRUD 、创建索引、创建集合空间和集合等操作,本小节展示单表和多表关联查询,更多使用方法请参考:

内置 SQL 语法
1)单表查询;

db.exec("SELECT * FROM company.manager");

exec :执行 SQL 的 select 语句。

execUpdate:执行 SQL 除 select 以外的其它语句。

2)多表关联查询;

db.exec("SELECT a.empno,a.ename,a.age,a.sex,b.department  FROM company.employee AS a INNER JOIN company.manager AS b ON a.empno=b.empno");

3)关闭 db数据库连接;

db.close();

4)退出 SequoiaDB Shell;

quit;

SequoiaDB 在存储计算引擎均提供接口可以执行管理操作、运行实例检查、数据增删改查等操作,同时本章节介绍了内置 SQL 的语法及使用。

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 18:05
点赞 评论 收藏
分享
舂锋:不能投什么岗都用一份简历,一般都是要看企业的岗位需求来写职业技能或者是项目经历,跟岗位相关的就写多一点。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务