浏览器中地址栏输入: IP:8000 例如:10.17.4.170:8000
用户名/密码为 : admin / admin
Note:
1. 图形化中可以进行集合空间、集合信息查看,集合数据量查看、集合中数据的查看等。
2. SAC监控和部署中采集到的内存使用情况采集包含Cache,有时候看起来会内存占用比较高。
3. 数据库安装后默认没有用户名密码,即无鉴权,创建用户名密码之后开启鉴权。开启鉴权之后需要在SAC中配置用户的用户名密码 ,点击 “部署” - “鉴权” 输入用户名密码即可,位置如下图所示:
1.切换到sdbadmin用户(sdbadmin用户密码为sdbadmin)
$ su - sdbadmin
2.进入SDB Shell
[sdbadmin@sdbserver] $ sdb
3.创建sdb连接 (SDB Shell中语法使用JavaScript的语法)
> var db = new Sdb() //该语句连接的是localhost 11810 节点
4.如果连接其他机器的sdb,或数据库有用户名密码,按照如下方式连接
var db = new Sdb("197.3.84.200",11810,"username","password");
以下操作均在sdb shell创建sdb连接(第3部)执行之后再执行。
域(Domain)是由若干个复制组(ReplicaGroup)组成的逻辑单元。每个域都可以根据定义好的策略自动管理所属数据,如数据切片和数据隔离等。
语法: db.createDomain( , , [options] )
db.createDomain("domainName",['group','group2','group3'])
创建域官网文档: http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190774-edition_id-0
集合空间(CollectionSpace,简称cs),合空间(CollectionSpace)是数据库中存放集合的物理对象。任何一个集合必须属于一个且仅一个集合空间。
语法:db.createCS( , [options] )
db.createCS("csName",{ PageSize: 4096, Domain: "mydomain" })
创建集合空间官网文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190773-edition_id-0
集合(Collection)是数据库中存放文档的逻辑对象。任何一条文档必须属于一个且仅一个集合。
语法:db.collectionspace.createCL(,[options])
db.csName.createCL("clName",{ ShardingKey:{ age: 1 }, ShardingType: "hash", Partition: 4096, ReplSize: 1 } )
创建集合参数较多,容易出现问题,请详细参考官网文档:
http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190821-edition_id-0
在命令行查看集合空间,需要通过sdb的snapshot(快照),集合空间的快照标识: SDB_SNAP_COLLECTIONSPACES
语法:db.snapshot( 快照标识 )
db.snapshot(SDB_SNAP_COLLECTIONSPACES);
//SDB_SNAP_COLLECTIONSPACES 的快照编号为5 也可用以下命令查询,效果与上面命令相同
db.snapshot(5);
//支持JSON格式的条件查询,例如根据集合空间名字查询
db.snapshot(5,{"Name":"CollectionSpaceName"})
集合空间快照官网文档:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1479173716-edition_id-302
在命令行查看集合空间,需要通过sdb的snapshot(快照),集合的快照标识: SDB_SNAP_COLLECTIONS
语法:db.snapshot(SDB_SNAP_COLLECTIONS)
db.snapshot(SDB_SNAP_COLLECTIONS);
SDB_SNAP_COLLECTIONS 的快照编号为4 也可用以下命令查询,效果与上面命令相同
db.snapshot(4);
支持JSON格式的条件查询,例如根据集合空间名字查询
db.snapshot(4,{"Name":"csName.clName"})
集合快照官网文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190628-edition_id-0
(查询的匹配符可参考巨杉文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1464770442-edition_id-0)
db.csName.clName.count();
//统计符合条件 name 字段的值为”Tom”且 age 字段的值大于25的记录数
db.foo.bar.count( { name: "Tom", age: { $gt: 25 } } )
查询操作官方文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190828-edition_id-0
db.csName.clName.findOne()
(查询的匹配符可参考巨杉文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1464770442-edition_id-0)
//查询集合下的所有记录
> db.csName.clName.find()
//根据条件查询某一条记录
> db.csName.clName.find({{ age: { $gt: 25 }, name: "Tom" }})
查询操作官方文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190835-edition_id-0
db.foo.bar.listLobs()
查看官方文档地址:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190841-edition_id-302
- 读取集合下的一条Lob数据
语法:db.collectionspace.collection.getLob(,,[forced])
//将标示符为 5435e7b69487faa663000897 的 lob 写入本地 /opt/newlob 文件
> db.foo.bar.getLob( '5435e7b69487faa663000897', '/opt/newlob' )
> db.dropCS("csName");
- 删除集合
> db.csName.dropCL("clName");
- 删除集合下的数据 (可根据条件删除)
(删除的匹配符可参考巨杉文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1464770442-edition_id-0)
> db.cs.cl.remove();
删除符合条件 age 字段值大于等于20的记录
> db.foo.bar.remove( { age: { $gte: 20 } } )
删除操作官方文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190843-edition_id-0
语法:db.collectionspace.collection.createIndex(,,[isUnique],[enforced],[sortBufferSize])
//集合 bar 下为字段名 age 创建名为 ageIndex 的唯一索引,记录按 age 字段值的升序排序。
> db.foo.bar.createIndex( "ageIndex", { age: 1 }, true )
//集合 bar 创建唯一索引,并且索引字段不允许为 null 或者不存在 。
>db.foo.bar.createIndex( "ab", { a: 1, b: 1 }, { Unique: true, NotNull: true } )
创建索引操作可选参数较多,建议参考官方文档索引创建一节:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1432190830-edition_id-0
- 删除索引
语法:db.collectionspace.collection.dropIndex()
//删除集合 bar 下名为 ageIndex 的索引,假设 ageIndex 已存在。
> db.foo.bar.dropIndex("ageIndex")
SequoiaSQL-PostgreSQL是巨杉的sql实例,底层使用SequoiDB,通过PostgreSQL创建外表的方式操作巨杉引擎中的数据。目的是使用户通过sql的方式来进行数据操作。
Note:
*以下操作建立在数据库服务器安装SequoiaSQL-PostgreSQL实例并创建了实例(inst),并加载且配置了SequoiaD连接
创建实例可参考官方文档:http://doc.sequoiadb.com/cn/sequoiadb-cat_id-1519628019-edition_id-302
加载并配置连接可参考官方文档:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190715-edition_id-302*
1.切换到sdbadmin用户下
[root@sdbserver]$ su - sdbadmin
2.在PostgreSQL中创建数据库
// postgresql安装路径/bin/sdb_sql_ctl createdb 数据库名 实例名 (实例需要已经开启)
[sdbadmin@sdbserver]$ /opt/sequoiasql/postgresql/bin/sdb_sql_ctl createdb pgdb myinst
3.连接PostgreSQL
//psql -p 端口 数据库
[sdbadmin@sdbserver]$ psql -p 5432 pgdb
4.创建PostgreSQL中的外表关联SequoiaDB引擎
pgdb=# create foreign table test (name text, id numeric)
server sdb_server
options ( collectionspace 'foo', collection 'bar', decimal 'on' ) ;
具体参数可参照官方文档:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190715-edition_id-302
5.创建外表之后即可通过sql的方式操作外表访问数据
删除外表
pgdb=# drop foreign table foreignTableName;
Note:
1. 创建外表是指定字段类型请严格按照对照表对应,数据对应错误会导致在postgresql端查询外表,数据类型对应错误的字段查询不到数据。数据类型对应表可参照官方文档:http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190715-edition_id-302