- 概述
- 快照视图
- 列表视图
- SQL到SequoiaDB映射表
- cond(<cond>)
- sel(<sel>)
- sort(<sort>)
- options(<options>)
- skip(<skip>)
- limit(<limit>)
- SQL使用命令位置参数
概述
监控是一种监视当前系统状态的方式。在 SequoiaDB 中,用户可以使用快照(SNAPSHOT)与列表(LIST)命令进行系统监控。
快照视图
快照是一种得到系统当前状态的命令,主要分为以下类型:
快照标示 | 对应 sdbshell 接口标示 | 快照类型 | 描述 |
---|
$SNAPSHOT_CONTEXT | SDB_SNAP_CONTEXTS | 上下文快照 | 上下文快照列出当前数据库节点中所有的会话所对应的上下文 |
$SNAPSHOT_CONTEXT_CUR | SDB_SNAP_CONTEXTS_CURRENT | 当前会话上下文快照 | 当前上下文快照列出当前数据库节点中当前会话所对应的上下文 |
$SNAPSHOT_SESSION | SDB_SNAP_SESSIONS | 会话快照 | 会话快照列出当前数据库节点中所有的会话 |
$SNAPSHOT_SESSION_CUR | SDB_SNAP_SESSIONS_CURRENT | 当前会话快照 | 当前会话快照列出当前数据库节点中当前的会话 |
$SNAPSHOT_CL | SDB_SNAP_COLLECTIONS | 集合快照 | 集合快照列出当前数据库节点或集群中所有非临时集合 |
$SNAPSHOT_CS | SDB_SNAP_COLLECTIONSPACES | 集合空间快照 | 集合空间快照列出当前数据库节点或集群中所有集合空间(编目集合空间除外) |
$SNAPSHOT_DB | SDB_SNAP_DATABASE | 数据库快照 | 数据库快照列出当前数据库节点的数据库监视信息 |
$SNAPSHOT_SYSTEM | SDB_SNAP_SYSTEM | 系统快照 | 系统快照列出当前数据库节点的系统监视信息 |
$SNAPSHOT_CATA | SDB_SNAP_CATALOG | 编目信息快照 | 用于查看编目信息 |
$SNAPSHOT_TRANS | SDB_SNAP_TRANSACTIONS | 事务快照 | 事务快照列出数据库中正在进行的事务信息 |
$SNAPSHOT_TRANS_CUR | SDB_SNAP_TRANSACTIONS_CURRENT | 当前事务快照 | 当前事务快照列出当前会话正在进行的事务信息 |
$SNAPSHOT_ACCESSPLANS | SDB_SNAP_ACCESSPLANS | 访问计划缓存快照 | 访问计划缓存快照列出数据库中缓存的访问计划的信息 |
$SNAPSHOT_HEALTH | SDB_SNAP_HEALTH | 节点健康检测快照 | 节点健康检测快照列出数据库中所有节点的健康信息 |
$SNAPSHOT_CONFIGS | SDB_SNAP_CONFIGS | 配置快照 | 配置快照列出数据库中指定节点的配置信息 |
$SNAPSHOT_SEQUENCES | SDB_SNAP_SEQUENCES | 序列快照 | 序列快照列出当前数据库的全部序列信息 |
$SNAPSHOT_SVCTASKS | SDB_SNAP_SVCTASKS | 服务任务快照 | 服务任务快照列出当前数据库节点中服务任务的统计信息 |
列表视图
列表是一种轻量级的得到系统当前状态的命令,主要分为以下类型:
列表标示 | 对应 sdbshell 接口标示 | 列表类型 | 描述 |
---|
$LIST_CONTEXT | SDB_LIST_CONTEXTS | 上下文列表 | 上下文列表列出当前数据库节点中所有的会话所对应的上下文 |
$LIST_CONTEXT_CUR | SDB_LIST_CONTEXTS_CURRENT | 当前会话上下文列表 | 当前上下文列表列出当前数据库节点中当前会话所对应的上下文 |
$LIST_SESSION | SDB_LIST_SESSIONS | 会话列表 | 会话列表列出当前数据库节点中所有的会话 |
$LIST_SESSION_CUR | SDB_LIST_SESSIONS_CURRENT | 当前会话列表 | 当前会话列表列出当前数据库节点中当前的会话 |
$LIST_CL | SDB_LIST_COLLECTIONS | 集合列表 | 集合列表列出当前数据库节点或集群中所有非临时集合 |
$LIST_CS | SDB_LIST_COLLECTIONSPACES | 集合空间列表 | 集合空间列表列出当前数据库节点或集群中所有集合空间(编目集合空间除外) |
$LIST_SU | SDB_LIST_STORAGEUNITS | 存储单元列表 | 存储单元列表列出当前数据库节点的全部存储单元信息 |
$LIST_GROUP | SDB_LIST_GROUPS | 分区组列表 | 分区组列表列出当前集群中的所有分区信息 |
$LIST_TRANS | SDB_LIST_TRANSACTIONS | 事务列表 | 事务列表列出数据库中正在进行的事务信息 |
$LIST_TRANS_CUR | SDB_LIST_TRANSACTIONS_CURRENT | 当前事务列表 | 当前事务列表列出当前会话正在进行的事务信息 |
$LIST_SEQUENCES | SDB_LIST_SEQUENCES | 序列列表 | 序列列表列出当前数据库中所有的序列信息 |
$LIST_BACKUP | SDB_LIST_BACKUPS | 备份列表 | 备份列表列出当前数据库的备份信息 |
$LIST_SVCTASKS | SDB_LIST_SVCTASKS | 服务任务列表 | 服务任务列表列出当前数据库节点中所有的服务任务 |
$LIST_USER | SDB_LIST_USERS | 用户列表 | 用户列表列出当前集群中的所有用户信息 |
SQL到SequoiaDB映射表
下表列出了 SQL 快照查询语句的操作在 API 中对应的快照操作:
SQL 语句 | API 语句 |
---|
select <sel> from $<snapshot> where <cond> order by <sort> | db.snapshot( , [cond], [sel], [sort] ) |
db.exec( "select from $SNAPSHOT_CONTEXT where SessionID = 20" ) | 过滤指定条件的记录。db.snapshot(SDB_SNAP_CONTEXTS, { SessionID: 20 } ) |
db.exec( " select NodeName from $SNAPSHOT_CONTEXT " ) | 只显示记录的指定字段。db.snapshot(SDB_SNAP_CONTEXTS, {}, { NodeName:""} ) |
db.exec( " select from $SNAPSHOT_CONTEXT order by SessionID" ) | 根据指定字段进行排序。db.snapshot(SDB_SNAP_CONTEXTS, {}, {}, { "SessionID": 1 } ) |
下面列出了 SQL 快照查询语句的操作在 API 中使用指定快照查询参数的对应快照操作:
- select <sel> from $<snapshot>
- where <cond>
- order by <sort>
- limit <limit>
- offset <skip> /*+use_option(<options>)*/
对应
- SdbSnapshotOption[.cond(<cond>)]
- [.sel(<sel>)]
- [.sort(<sort>)]
- [.options(<options>)]
- [.skip(<skip>)]
- [.limit(<limit>)]
cond(<cond>)
SQL 语句 | API 语句 |
---|
db.exec( "select * from $SNAPSHOT_CONTEXT where SessionID = 22" ) | db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( { SessionID: 22 } ) ) |
sel(<sel>)
SQL 语句 | API 语句 |
---|
db.exec( "select SessionID from $SNAPSHOT_CONTEXT" ) | db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).sel( { SessionID: "" } ) ) |
sort(<sort>)
SQL 语句 | API 语句 |
---|
db.exec( " select * from $SNAPSHOT_CONTEXT order by SessionID" ) | db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).sort( { SessionID: 1 } ) ) |
options(<options>)
SQL 语句 | API 语句 |
---|
db.exec('select from $SNAPSHOT_CONFIGS where GroupName = "db1" and ServiceName = "20000" /+use_option(Mode, local) use_option(Expand, false)*/') | db.snapshot( SDB_SNAP_CONFIGS, new SdbSnapshotOption().cond( { GroupName:'db1', ServiceName:'20000' } ).options( { "Mode": "local", "Expand": false } ) ) |
skip(<skip>)
SQL 语句 | API 语句 |
---|
db.exec( " select * from $SNAPSHOT_CONTEXT offset 2" ) | db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).skip( 2 ) ) |
limit(<limit>)
SQL 语句 | API 语句 |
---|
db.exec( "select * from $SNAPSHOT_CONTEXT limit 1" ) | db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).limit( 1 ) ) |
SQL使用命令位置参数
命令位置参数 是用于控制命令执行的位置信息。SQL 可以用 where 语句来使用命令位置参数。
示例
- > db.exec("select * from $SNAPSHOT_CONTEXT where Role = 'catalog'")
- {
- "NodeName": "hostname:30000",
- "SessionID": 21,
- "Contexts": [
- {
- "ContextID": 7764,
- "Type": "DUMP",
- "Description": "IsOpened:1,IsTrans:0,HitEnd:0,BufferSize:0",
- "DataRead": 0,
- "IndexRead": 0,
- "QueryTimeSpent": 0,
- "StartTimestamp": "2019-06-26-17.55.42.355666"
- }
- ]
- }
- ...
- > db.exec("select * from $SNAPSHOT_CONTEXT where Global = false")
- {
- "NodeName": "hostname:50000",
- "SessionID": 10,
- "Contexts": [
- {
- "ContextID": 70,
- "Type": "DUMP",
- "Description": "IsOpened:1,IsTrans:0,HitEnd:0,BufferSize:0",
- "DataRead": 0,
- "IndexRead": 0,
- "QueryTimeSpent": 0,
- "StartTimestamp": "2019-06-26-17.56.55.916040"
- }
- ]
- }