Doris 功能介绍-Proc 系统-dbs

Doris 功能介绍-Proc 系统-dbs,第1张

Doris 功能介绍-Proc 系统-/dbs



## Proc 系统



Proc 系统被设计为主要面向系统管理人员,方便其查看系统内部的一些运行状态。如表的tablet状态、集群均衡状态、各种作业的状态等等。是一个非常实用的功能。关于 Proc 系统介绍,可以参阅我们之前的文章: [Doris 功能介绍-Proc系统]


本文为 proc 目录系列介绍文章之一,介绍 "/dbs" 目录。


### proc "/dbs"



"/dbs" 目录主要用于查看 Doris 集群中各个数据库以及其中的表的元数据信息。这些信息包括表结构、分区物化视图、数据分片和副本等等。通过这个目录和其子目录,可以清楚的展示集群中的表元数据情况,以及定位一些如数据倾斜、副本故障等问题。


> 以下示例我们使用 SHOW PROC 语句进行展示。使用Web页面查看同理。


SHOW PROC "/dbs";


第1级目录,展示集群中所有数据库的信息。

mysql> show proc "/dbs";+-------+------------------------------------+----------+-------------+--------------------------+--------------+| DbId  | DbName                             | TableNum | Quota       | LastConsistencyCheckTime | ReplicaQuota |+-------+------------------------------------+----------+-------------+--------------------------+--------------+| 0     | default_cluster:information_schema | 17       | 1024.000 GB | NULL                     | 1073741824   || 10003 | default_cluster:db1                | 3        | 1024.000 GB | NULL                     | 1073741824   || 10013 | default_cluster:doris_audit_db__   | 1        | 1024.000 GB | NULL                     | 1073741824   |+-------+------------------------------------+----------+-------------+--------------------------+--------------+3 rows in set (0.00 sec)

* DbId:数据库id。

* DbName:数据库名称,其前缀 default_cluster 目前无意义,可以忽略。

* TableNum:数据库下表的数量。

* Quota:数据库的存储空间配额,默认1TB。

* LastConsistencyCheckTime:最近一次一致性检查的时间。

* ReplicaQuota:数据库的分片数量配额。


SHOW PROC "/dbs/DbId";


第2级目录,展示集群中指定数据库的下的表信息。

mysql> show proc "/dbs/10003";+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+| TableId | TableName | IndexNum | PartitionColumnName | PartitionNum | State  | Type | LastConsistencyCheckTime | ReplicaCount |+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+| 10063   | tbl1      | 1        | NULL                | 1            | NORMAL | OLAP | NULL                     | 1            || 10069   | tbl2      | 1        | k2                  | 2            | NORMAL | OLAP | NULL                     | 2            || 11007   | tbl3      | 1        | k1                  | 2            | NORMAL | OLAP | NULL                     | 2            |+---------+-----------+----------+---------------------+--------------+--------+------+--------------------------+--------------+


* TableId:表id。

* TableName:表名称。

* IndexNum:表物化视图的数量(物化视图包含base表本身)。

* PartitionColumnName:分区列名称。NULL表示无分区。

* PartitionNum:分区个数。无分区表的分区个数为1。

* State:表的状态。如在进行 Alter *** 作时,表的状态为 ALTER。

* Type:表类型。Doris 的表为 OLAP,而外部表可能有 MySQL、ES、Hive 等等。

* LastConsistencyCheckTime:最近一次一致性检查的时间。

* ReplicaCount:副本总数。该总数为(分区数 * 分桶数 * 副本数)。


SHOW PROC "/dbs/DbId/TableId";


第3级目录,展示集群中指定表的信息目录。

mysql> show proc "/dbs/10003/10063";+-----------------+| Nodes           |+-----------------+| partitions      || temp_partitions || index_schema    |+-----------------+

* partitions:进入分区信息目录。这一目录线路主要用于查看表的数据分片信息。

* temp_partition:进入临时分区信息目录。这一目录线路主要用于查看表的数据分片信息。

* index_scheme:进入表结构目录。


SHOW PROC "/dbs/DbId/TableId/partitions";

SHOW PROC "/dbs/DbId/TableId/temp_partitions";


第4级目录,展示集群中指定表的分区信息。partitions 展示正式分区, temp_partitions展示临时分区。

mysql> show proc "/dbs/10003/10069/partitions"G*************************** 1. row ***************************             PartitionId: 10067           PartitionName: p1          VisibleVersion: 1      VisibleVersionTime: 2021-04-29 22:57:27      VisibleVersionHash: 0                   State: NORMAL            PartitionKey: k2                   Range: [types: [INT]; keys: [-2147483648]; ..types: [INT]; keys: [10]; )         DistributionKey: k1                 Buckets: 1          ReplicationNum: 1           StorageMedium: HDD            CooldownTime: 9999-12-31 23:59:59LastConsistencyCheckTime: NULL                DataSize: .000              IsInMemory: false

* PartitionId:分区id。

* PartitionName:分区名称。

* VisibleVersion:当前已生效的数据版本号。

* VisibleVersionHash:已废弃。无意义。

* State:分区状态。在进行 Alter *** 作时,分区状态为 ALTER。

* PartitionKey:分区列名称。
* Range:分区范围。types 表示类型,keys 表示范围值。左闭右开。

* DistributionKey:分桶列名称。

* Buckets:分桶数。

* ReplicationNum:这个分区下数据分片的副本数。

* StorageMedium:分级存储时,该分区当前的存储介质。

* CooldownTime:分级存储时,该分区数据进行介质间数据迁移的时间。

* LastConsistencyCheckTime:最近一次一致性检查的时间。

* DataSize:分区数据存储大小。该大小为分区下所有数据副本的总大小。

* IsInMemory:是否是内存分区。


SHOW PROC "/dbs/DbId/TableId/partitions/PartitionId";


第5级目录,展示集群中指定分区的物化视图信息。

mysql> show proc "/dbs/10003/10069/partitions/10067";+---------+-----------+--------+--------------------------+| IndexId | IndexName | State  | LastConsistencyCheckTime |+---------+-----------+--------+--------------------------+| 10070   | tbl2      | NORMAL | NULL                     |+---------+-----------+--------+--------------------------+

* IndexId:物化视图Id。

* IndexName:物化视图名称。base表也是一种物化视图,其名称和表名相同。

* State:物化视图状态。在进行 Alter *** 作时,物化视图状态为 ALTER。

* LastConsistencyCheckTime:最近一次一致性检查的时间。


SHOW PROC "/dbs/DbId/TableId/partitions/PartitionId/IndexId";


第6级目录,展示集群中指定物化视图中的数据分片信息。

mysql> show proc "/dbs/10003/10069/partitions/10067/10070"G*************************** 1. row ***************************               TabletId: 10071              ReplicaId: 10072              BackendId: 10002             SchemaHash: 1759126708                Version: 1            VersionHash: 0      LstSuccessVersion: 1  LstSuccessVersionHash: 0       LstFailedVersion: -1   LstFailedVersionHash: 0          LstFailedTime: NULL               DataSize: 0               RowCount: 0                  State: NORMALLstConsistencyCheckTime: NULL           CheckVersion: -1       CheckVersionHash: -1           VersionCount: 1               PathHash: 4154193535572215294                metaUrl: http://10.81.85.89:8042/api/meta/header/10071/1759126708       CompactionStatus: http://10.81.85.89:8042/api/compaction/show?tablet_id=10071&schema_hash=1759126708

* TabletId:数据分片ID。

* ReplicaId:副本ID。这里会展示一个数据分片的所有副本,每个副本都有不同的ID。

* BackendId:副本所在BE节点的ID。

* SchemaHash:已废弃,无意义。

* Version:该副本的生效数据版本号。

* VersionHash:已废弃,无意义。

* LstSuccessVersion:最后一次成功生效的数据版本号。

* LstSuccessVersionHash:已废弃,无意义。

* LstFailedVersion:最后一次失败的数据版本号。-1表示无失败。

* LstFailedVersionHash:已废弃,无意义。

* LstFailedTime:最后一次失败的时间。

* DataSize:副本数据大小。

* RowCount:副本中的数据行数。该行数为统计行数,不代表精确的数据行。

* State:副本状态。进行ALTER *** 作时,状态为 ALTER。
* LstConsistenycCheckTime:最近一次一致性检查的时间。

* CheckVersion:最近一次一致性检查使用的数据版本号。

* CheckVersionHash:已废弃,无意义。

* VersionCount:该副本的数据版本数,通常用于判断是否有数据版本堆积。

* PathHash:副本所在磁盘的路径Hash。

* metaUrl:副本元信息查看url。可以直接复制这个url在浏览器打开,查看副本的元信息。

* CompactionUrl:副本Comacption状态。可以直接复制这个url在浏览器打开,查看副本的版本详情和Compaction状态。


SHOW PROC "/dbs/DbId/TableId/partitions/PartitionId/IndexId/TabletID";


第7级目录,展示集群中指定数据分片的副本信息。

该级信息内容和上一级内容完全一致,不同在于这一级仅展示指定分片的副本信息。

mysql> show proc "/dbs/10003/10069/partitions/10067/10070/10071"G*************************** 1. row ***************************            ReplicaId: 10072            BackendId: 10002              Version: 1          VersionHash: 0    LstSuccessVersion: 1LstSuccessVersionHash: 0     LstFailedVersion: -1 LstFailedVersionHash: 0        LstFailedTime: NULL           SchemaHash: 1759126708             DataSize: 0             RowCount: 0                State: NORMAL                IsBad: false         VersionCount: 1             PathHash: 4154193535572215294              metaUrl: http://10.81.85.89:8042/api/meta/header/10071/1759126708     CompactionStatus: http://10.81.85.89:8042/api/compaction/show?tablet_id=10071&schema_hash=1759126708


SHOW PROC "/dbs/DbId/TableId/index_schema";


第4级目录,展示集群中指定表的所有物化视图。

mysql> show proc "/dbs/10003/10069/index_schema";+---------+-----------+---------------+------------+---------------------+-------------+------------------+| IndexId | IndexName | SchemaVersion | SchemaHash | ShortKeyColumnCount | StorageType | Keys             |+---------+-----------+---------------+------------+---------------------+-------------+------------------+| 10070   | tbl2      | 0             | 1759126708 | 2                   | COLUMN      | DUP_KEYS(k1, k2) |+---------+-----------+---------------+------------+---------------------+-------------+------------------+

* IndexId:物化视图id。

* IndexName:物化视图名称。base表也是一种物化视图,其名称和表名相同。

* SchemaVersion:表结构版本。通常进行一次 Schema Change 后,版本会递增。

* SchemaHash:已废弃,无意义。

* ShortKeyColumnCount:前缀索引的列数。

* StorageType:存储格式,目前仅有 COLUMN,即列存。

* Key:物化视图的存储模型,如 DUP_KEYS 表示 Duplicate Key 明细模型。其后列名称为存储模型的排序列或主键列。


SHOW PROC "/dbs/DbId/TableId/index_schema/IndexId";


第5级目录,展示集群中指定物化视图的表结果。这一级的结果和 DESC tbl_name; 语句的结果一致。

mysql> show proc "/dbs/10003/10069/index_schema/10070";+-------+------+------+------+---------+-------+| Field | Type | Null | Key  | Default | Extra |+-------+------+------+------+---------+-------+| k1    | INT  | Yes  | true | NULL    |       || k2    | INT  | Yes  | true | NULL    |       |+-------+------+------+------+---------+-------+


* Field:列名。

* Type:列类型。

* Null:是否允许为 null。

* Key:是否是 Key 列。对于Duplicate Key 明细模型。这里表示是否是排序列。

* Default:默认值。

* Extra:一些额外信息,如在 Aggregation Key 聚合模型下,会显示 value 列的聚合类型,如 SUM、MIN、MAX 等等。



END



proc "/dbs" 最主要的功能是查看表的分片信息。我们经常会在排查数据倾斜、副本状态、导入任务失败等问题时使用该功能。我们会在后续 问题排查 相关文章中进一步介绍如何使用这些信息排查问题。





【往期回顾】
【Doris Weekly】2021.04.13~2021.04.26 【Doris Weekly】2021.03.22 ~ 2021.04.11 【Doris Weekly】2020.03.08~2021.03.21



【精彩文章】
Doris 功能介绍-Proc 系统 Doris 功能介绍-导入分析 Doris 功能介绍-查询分析



百度数据仓库 Powered by Doris

基于 Apache Doris 的企业级数据仓库 托管服务


全新UI支持,更有新用户0元试用3个月优惠活动

登陆百度智能云官网搜索Doris,马上试用!



 百度 Doris 团队,诚邀对开源软件、分布式数据库感兴趣的小伙伴们

我们虚位以待!

简历发送至: [email protected]








欢迎扫码关注:

Apache Doris(incubating)官方公众号





相关链接:

Apache Doris官方网站:

http://doris.incubator.apache.org

Apache Doris Githu b:

https://github.com/apache/incubator-doris

Apache Doris 开发者邮件组:

[email protected]





本文分享自微信公众号 - ApacheDoris(gh_80d448709a68)。
如有侵权,请联系 [email protected] 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5713297.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)