云服务器内容精选

  • 准备本地应用开发环境 在进行应用开发时,要准备的开发和运行环境如表1所示。 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows7以上版本。 运行环境:Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装JDK 开发和运行环境的基本配置,版本要求如下: 服务端和客户端仅支持集群自带的OpenJDK,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的: X86客户端: Oracle JDK:支持1.8版本; IBM JDK:支持1.8.0.7.20和1.8.0.6.15版本。 ARM客户端: OpenJDK:支持1.8.0_272版本(集群自带JDK,可通过集群客户端安装目录中“JDK”文件夹下获取)。 毕昇JDK:支持1.8.0_272版本。 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情可参考https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 毕昇JDK详细信息可参考https://www.hikunpeng.com/zh/developer/devkit/compiler/jdk。 安装和配置IntelliJ IDEA 开发环境的基本配置,建议使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 不同的IntelliJ IDEA不要使用相同的workspace和相同路径下的示例工程。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 华为提供开源镜像站,各服务样例工程依赖的Jar包通过华为开源镜像站下载,剩余所依赖的开源Jar包请直接从Maven中央库或者其他用户自定义的仓库地址下载,详情请参考配置华为开源镜像仓。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。 父主题: 准备Doris应用开发环境
  • 查看Linux调测结果 “doris-jdbc-example”样例运行成功后,显示信息如下: 2023-08-17 23:13:13,473 | INFO | main | Start execute doris example. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:41) 2023-08-17 23:13:13,885 | INFO | main | Start create database. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:44) 2023-08-17 23:13:13,949 | INFO | main | Database created successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:46) 2023-08-17 23:13:13,950 | INFO | main | Start create table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:49) 2023-08-17 23:13:14,132 | INFO | main | Table created successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:51) 2023-08-17 23:13:14,133 | INFO | main | Start to insert data into the table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:54) 2023-08-17 23:13:14,733 | INFO | main | Inserting data to the table succeeded. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:56) 2023-08-17 23:13:14,733 | INFO | main | Start to query table data. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:59) 2023-08-17 23:13:15,079 | INFO | main | Start to print query result. | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:121) 2023-08-17 23:13:15,079 | INFO | main | c1 c2 c3 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:126) 2023-08-17 23:13:15,079 | INFO | main | 0 0 0 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 1 10 100 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 2 20 200 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 3 30 300 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 4 40 400 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 5 50 500 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 6 60 600 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 7 70 700 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | 8 80 800 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | 9 90 900 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | Querying table data succeeded. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:61) 2023-08-17 23:13:15,081 | INFO | main | Start to delete the table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:64) 2023-08-17 23:13:15,114 | INFO | main | Table deleted successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:66) 2023-08-17 23:13:15,124 | INFO | main | Doris example execution successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:71) Doris对接SpringBoot运行结果 在浏览器中访问链接“http://样例运行节点IP地址:8080/doris/example/executesql”,IDEA正常打印日志,请求返回如下图所示: 图3 返回样例运行信息
  • 删除Doris表 本章节介绍删除Doris表样例代码。 以下代码片段在“JDBCExample”类中。 以Java JDBC方式执行SQl语句删除集群中的dbName.tableName表。 String dropSql = "drop table " + dbName + "." + tableName; public static void execDDL(Connection connection, String sql) throws Exception { try (PreparedStatement statement = connection.prepareStatement(sql)) { statement.execute(); } catch (Exception e) { logger.error("Execute sql {} failed.", sql, e); throw new Exception(e); } } 父主题: Doris JDBC接口调用样例程序
  • Doris应用开发开发流程介绍 开发流程中各阶段的说明如下图所示。 图1 Doris应用程序开发流程 表1 Doris应用开发的流程说明 阶段 说明 参考文档 准备开发环境 在进行应用开发前,需首先准备开发环境,推荐使用Java语言进行开发,使用IntelliJ IDEA工具,同时完成JDK、Maven等初始配置。 准备本地应用开发环境 准备连接集群配置文件 应用程序开发或运行过程中,需通过集群相关配置文件信息连接 MRS 集群,配置文件通常包括用于安全认证的用户文件,可从已创建好的MRS集群中获取相关内容。 用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts 域名 信息。 准备连接Doris集群配置文件 配置并导入样例工程 Doris提供了不同场景下的多种样例程序,用户可获取样例工程并导入本地开发环境中进行程序学习。 配置并导入JDBC样例工程 配置并导入SpringBoot样例工程 配置安全认证 使用JDBC或SpringBoot接口连接Doris时,需配置具有Doris管理员权限的用户进行安全认证。 根据业务场景开发程序 根据实际业务场景开发程序,调用组件接口实现对应功能。 Doris JDBC接口调用样例程序 编译并运行程序 将开发好的程序编译运行,用户可在本地Windows开发环境中进行程序调测运行,也可以将程序编译为Jar包后,提交到Linux节点上运行。 调测Doris应用 父主题: Doris开发指南(普通模式)
  • 配置运行环境网络 用于程序调测或运行的节点,需要与MRS集群内节点网络互通,同时配置hosts域名信息。 场景一:配置本地Windows开发环境与MRS集群节点内网络互通。 登录 FusionInsight Manager,在“主页”右上方单击“下载客户端”,“选择客户端类型”设置为“仅配置文件”,单击“确定”,等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。 例如,客户端配置文件压缩包为“FusionInsight_Cluster_1_Services_Client.tar”,解压后得到“FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar”,继续解压该文件。 复制解压目录下的“hosts”文件中的内容到本地hosts文件中。 在应用开发过程中,如需在本地Windows系统中调测应用程序,需要确保本地节点能与“hosts”文件中所列出的各主机在网络上互通。 Windows本地hosts文件存放路径举例:“C:\WINDOWS\system32\drivers\etc\hosts”。 场景二:配置Linux环境与MRS集群节点内网络互通。 在节点中安装MRS集群客户端。 例如客户端安装目录为“/opt/client”。 获取配置文件: 登录FusionInsight Manager,在“主页”右上方单击“下载客户端”,“选择客户端类型”设置为“仅配置文件”,勾选“仅保存到如下路径”,单击“确定”,下载客户端配置文件至集群主 OMS 点。 以root登录主OMS节点,进入客户端配置文件所在路径(默认为“/tmp/FusionInsight-Client/”)。 例如客户端软件包为“FusionInsight_Cluster_1_Services_Client.tar”,下载路径为主管理节点的“/tmp/FusionInsight-Client”: cd /tmp/FusionInsight-Client tar -xvf FusionInsight_Cluster_1_Services_Client.tar tar -xvf FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar cd FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles 检查客户端节点网络连接。 在安装客户端过程中,系统会自动配置客户端节点“hosts”文件,建议检查“/etc/hosts”文件内是否包含集群内节点的主机名信息,如未包含,需要手动复制解压目录下的“hosts”文件中的内容到客户端所在节点的hosts文件中,确保本地机器能与集群各主机在网络上互通。
  • Doris样例工程介绍 MRS样例工程获取地址为https://github.com/huaweicloud/huaweicloud-mrs-example,切换分支为与MRS集群相匹配的版本分支,然后下载压缩包到本地后解压,即可获取各组件对应的样例代码工程。 当前MRS提供以下Doris相关样例工程: 表1 Doris相关样例工程 样例工程位置 描述 doris-examples/doris-example Doris数据读写操作的应用开发示例。 通过调用Doris接口可实现创建用户表、向表中插入数据、查询表数据、删除表等功能,相关业务场景介绍请参见Doris JDBC接口调用样例程序。 springboot/doris-examples Doris数据读写操作的SpringBoot应用开发示例。 提供Doris对接SpringBoot的样例,样例介绍请参见配置并导入SpringBoot样例工程。
  • 常用概念 在Doris中,数据都以表(Table)的形式进行逻辑上的描述。 Row&Column 一张表包括行(Row)和列(Column): Row:即用户的一行数据。 Column: 用于描述一行数据中不同的字段。 Column可以分为两大类:Key和Value。从业务角度看,Key和Value可以分别对应维度列和指标列。从聚合模型的角度来说,Key列相同的行,会聚合成一行。其中Value列的聚合方式由用户在建表时指定。 Tablet&Partition 在Doris的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个Tablet包含若干数据行。各个Tablet之间的数据没有交集,并且在物理上是独立存储的。 多个Tablet在逻辑上归属于不同的分区(Partition)。一个Tablet只属于一个Partition,而一个Partition包含若干个Tablet。因为Tablet在物理上是独立存储的,所以可以视为Partition在物理上也是独立。Tablet是数据移动、复制等操作的最小物理存储单元。 若干个Partition组成一个Table。Partition可以视为是逻辑上最小的管理单元。数据的导入与删除,仅能针对一个Partition进行。 数据模型 Doris的数据模型主要分为三类:Aggregate、Unique、Duplicate。 Aggregate模型 导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合。 AggregationType目前有以下四种聚合方式: SUM:求和,多行的Value进行累加。 REPLACE:替代,下一批数据中的Value会替换之前导入过的行中的Value。 MAX:保留最大值。 MIN:保留最小值。 Unique模型 在某些多维分析场景下,用户更关注的是如何保证Key的唯一性,即如何获得Primary Key唯一性约束。因此,引入了Unique数据模型。 读时合并 Unique模型的读时合并实现完全可以用Aggregate模型中的REPLACE方式替代。其内部的实现方式和数据存储方式也完全一样。 写时合并 Unique模型的写时合并实现,查询性能更接近于Duplicate模型,在有主键约束需求的场景上相比Aggregate模型有较大的查询性能优势,尤其是在聚合查询以及需要用索引过滤大量数据的查询中。 在开启了写时合并选项的Unique表上,数据在导入阶段就会去将被覆盖和被更新的数据进行标记删除,同时将新的数据写入新的文件。在查询的时候,所有被标记删除的数据都会在文件级别被过滤掉,读取出来的数据就都是最新的数据,消除掉了读时合并中的数据聚合过程,并且能够在很多情况下支持多种谓词的下推。因此在许多场景都能带来比较大的性能提升,尤其是在有聚合查询的情况下。 Duplicate模型 在某些多维分析场景下,数据既没有主键,也没有聚合需求。可以引入Duplicate数据模型来满足这类需求。 这种数据模型区别于Aggregate和Unique模型。数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。 而在建表语句中指定的DUPLICATE KEY,只是用来指明底层数据按照那些列进行排序。 数据模型的选择建议 因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。 Aggregate模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count(*) 查询不友好。同时因为固定了Value列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。 Unique模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用ROLLUP等预聚合带来的查询优势。 对于聚合查询有较高性能需求的用户,推荐使用自1.2版本加入的写时合并实现。 Unique模型仅支持整行更新,如果用户既需要唯一主键约束,又需要更新部分列(例如将多张源表导入到一张Doris表的情形),则可以考虑使用Aggregate模型,同时将非主键列的聚合类型设置为REPLACE_IF_NOT_NULL。 Duplicate适合任意维度的Ad-hoc查询。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有Key列)。
  • 创建Doris连接 以下代码片段在“JDBCExample”类的“createConnection”方法中。 USER和PASSWD为在创建连接时用于进行安全认证的用户名和密码。 Class.forName(JDBC_DRIVER); String dbUrl = String.format(DB_URL_PATTERN, HOST, PORT); connection = DriverManager.getConnection(dbUrl, USER, PASSWD); 父主题: Doris JDBC接口调用样例程序
  • 查看Windows调测结果 Doris应用程序运行完成后,可通过如下方式查看运行情况。 通过IntelliJ IDEA运行结果查看应用程序运行情况。 通过Doris日志获取应用程序运行情况。 各样例程序运行结果如下: “doris-jdbc-example”样例运行成功后,显示信息如下: 2023-08-17 23:13:13,473 | INFO | main | Start execute doris example. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:41) 2023-08-17 23:13:13,885 | INFO | main | Start create database. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:44) 2023-08-17 23:13:13,949 | INFO | main | Database created successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:46) 2023-08-17 23:13:13,950 | INFO | main | Start create table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:49) 2023-08-17 23:13:14,132 | INFO | main | Table created successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:51) 2023-08-17 23:13:14,133 | INFO | main | Start to insert data into the table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:54) 2023-08-17 23:13:14,733 | INFO | main | Inserting data to the table succeeded. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:56) 2023-08-17 23:13:14,733 | INFO | main | Start to query table data. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:59) 2023-08-17 23:13:15,079 | INFO | main | Start to print query result. | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:121) 2023-08-17 23:13:15,079 | INFO | main | c1 c2 c3 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:126) 2023-08-17 23:13:15,079 | INFO | main | 0 0 0 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 1 10 100 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 2 20 200 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 3 30 300 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 4 40 400 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 5 50 500 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 6 60 600 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,080 | INFO | main | 7 70 700 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | 8 80 800 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | 9 90 900 | com.huawei.bigdata.doris.example.JDBCExample.query(JDBCExample.java:134) 2023-08-17 23:13:15,081 | INFO | main | Querying table data succeeded. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:61) 2023-08-17 23:13:15,081 | INFO | main | Start to delete the table. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:64) 2023-08-17 23:13:15,114 | INFO | main | Table deleted successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:66) 2023-08-17 23:13:15,124 | INFO | main | Doris example execution successfully. | com.huawei.bigdata.doris.example.JDBCExample.main(JDBCExample.java:71) Process finished with exit code 0 Doris对接SpringBoot运行结果 在浏览器中访问链接“http://样例运行节点IP地址:8080/doris/example/executesql”,IDEA正常打印日志,请求返回如下图所示: 图7 返回样例运行信息
  • Doris架构 Doris整体架构如下图所示,FE和BE节点可以横向无限扩展。 图1 Doris架构 表1 参数说明 名称 说明 MySQL Tools Doris采用MySQL协议,高度兼容MySQL语法,支持标准SQL,用户可以通过各类客户端工具来访问Doris,并支持与BI工具无缝对接。 FE 主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。 BE 主要负责存储数据、执行查询计划、副本负载均衡。 Leader Leader为Follower组中选举出来的一种角色。 Follower 一条元数据日志需要在多数Follower节点写入成功,才算成功。 Doris采用MPP的模型,节点间和节点内都是并行执行,适用于多个大表的分布式Join。 支持向量化的查询引擎、AQE( Adaptive Query Execution )技术、CBO 和 RBO 结合的优化策略、热数据缓存查询等。
  • Doris简介 Doris是一个基于MPP架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris能够较好的满足报表分析、即席查询、统一数仓构建、 数据湖 联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB实验平台、日志检索分析、用户画像分析、订单分析等应用。更多相关介绍请参见Apache Doris。 该组件当前为公测阶段,若需使用需联系技术支持申请白名单开通。
  • Doris基本概念 在Doris中,数据都以表(Table)的形式进行逻辑上的描述。 Row&Column 一张表包括行(Row)和列(Column): Row:即用户的一行数据。 Column: 用于描述一行数据中不同的字段。 Column可以分为两大类:Key和Value。从业务角度看,Key和Value可以分别对应维度列和指标列。从聚合模型的角度来说,Key列相同的行,会聚合成一行。其中Value列的聚合方式由用户在建表时指定。 Tablet&Partition 在Doris的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个Tablet包含若干数据行。各个Tablet之间的数据没有交集,并且在物理上是独立存储的。 多个Tablet在逻辑上归属于不同的分区(Partition)。一个Tablet只属于一个Partition,而一个Partition包含若干个Tablet。因为Tablet在物理上是独立存储的,所以可以视为Partition在物理上也是独立。Tablet是数据移动、复制等操作的最小物理存储单元。 若干个Partition组成一个Table。Partition可以视为是逻辑上最小的管理单元。数据的导入与删除,只能针对一个Partition进行。 数据模型 Doris的数据模型主要分为3类:Aggregate、Unique、Duplicate。 Aggregate模型 导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合。 AggregationType目前有以下四种聚合方式: SUM:求和,多行的Value进行累加。 REPLACE:替代,下一批数据中的Value会替换之前导入过的行中的Value。 MAX:保留最大值。 MIN:保留最小值。 Unique模型 在某些多维分析场景下,用户更关注的是如何保证Key的唯一性,即如何获得Primary Key唯一性约束。因此,引入了Unique数据模型。 读时合并 Unique模型的读时合并实现完全可以用Aggregate模型中的REPLACE方式替代,其内部的实现方式和数据存储方式也完全一样。 写时合并 Unique模型的写时合并实现,不同于Aggregate模型,查询性能更接近于Duplicate模型,在有主键约束需求的场景上相比Aggregate模型有较大的查询性能优势,尤其是在聚合查询以及需要用索引过滤大量数据的查询中。 在开启了写时合并选项的Unique表中,数据在导入阶段就会去将被覆盖和被更新的数据进行标记删除,同时将新的数据写入新的文件。在查询时,所有被标记删除的数据都会在文件级别被过滤,读取出的数据就都是最新的数据,消除了读时合并中的数据聚合过程,并且能够在很多情况下支持多种谓词的下推。因此在许多场景都能带来比较大的性能提升,尤其是在有聚合查询的情况下。 Duplicate模型 在某些多维分析场景下,数据既没有主键,也没有聚合需求。可以引入Duplicate数据模型来满足这类需求。 这种数据模型区别于Aggregate和Unique模型。数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。 而在建表语句中指定的DUPLICATE KEY,只是用来指明底层数据按照指定的列进行排序。 数据模型的选择建议 因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。 Aggregate模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count(*)查询不友好。同时因为固定了Value列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语义正确性。 Unique模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用ROLLUP等预聚合带来的查询优势。 Unique模型仅支持整行更新,如果用户既需要唯一主键约束,又需要更新部分列(例如将多张源表导入到一张Doris表的场景),则可以考虑使用Aggregate模型,同时将非主键列的聚合类型设置为REPLACE_IF_NOT_NULL。 Duplicate适合任意维度的Ad-hoc查询。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有Key列)。
  • BE节点支持的监控指标 BE节点监控指标如表2所示。 表2 BE节点支持的监控指标 指标名称 显示名称 含义 取值范围 监控周期(原始指标) 命名空间 doris_be_active_scan_context_count 由外部直接打开的scanner的个数 - ≥0 60s SYS.CloudTable doris_be_add_batch_task_queue_size 接收batch的线程池的队列大小 - ≥0 60s SYS.CloudTable doris_be_brpc_endpoint_stub_count 已创建的brpc stub的数量(BE) 这些stub用于BE之间的交互 ≥0 60s SYS.CloudTable doris_be_brpc_function_endpoint_stub_count 已创建的brpc stub的数量(Remote RPC) 这些stub用于和Remote RPC之间交互 ≥0 60s SYS.CloudTable doris_be_cache_usage_LastestSuccessChannelCache LRU ChannelCache使用率 LRU DataPageCache使用率 [0%,100%] 60s SYS.CloudTable doris_be_cache_usage_ratio_DataPageCache LRU DataPageCache使用率 - [0%,100%] 60s SYS.CloudTable doris_be_cache_usage_ratio_IndexPageCache LRU IndexPageCache使用率 - [0%,100%] 60s SYS.CloudTable doris_be_cache_usage_ratio_SegmentCache LRU SegmentCache使用率 - [0%,100%] 60s SYS.CloudTable doris_be_cache_hit_ratio_DataPageCache LRU DataPageCache命中率 数据Cache,直接影响查询效率 [0%,100%] 60s SYS.CloudTable doris_be_cache_hit_ratio_IndexPageCache LRU IndexPageCache命中率 索引Cache,直接影响查询效率 [0%,100%] 60s SYS.CloudTable doris_be_cache_hit_ratio_LastestSuccessChannelCache LRU ChannelCache命中率 - [0%,100%] 60s SYS.CloudTable doris_be_cache_hit_ratio_SegmentCache LRU SegmentCache命中率 - [0%,100%] 60s SYS.CloudTable doris_be_chunk_pool_local_core_alloc_count ChunkAllocator中,从绑定的core的内存队列中分配内存的次数 - ≥0 60s SYS.CloudTable doris_be_chunk_pool_other_core_alloc_count ChunkAllocator中,从其他的core的内存队列中分配内存的次数 - ≥0 60s SYS.CloudTable doris_be_chunk_pool_reserved_bytes ChunkAllocator中预留的内存大小 - ≥0 Byte 60s SYS.CloudTable doris_be_chunk_pool_system_alloc_cost_ns SystemAllocator申请内存的耗时 累计值通过斜率可以观测内存分配的耗时 ≥0 ns 60s SYS.CloudTable doris_be_chunk_pool_system_alloc_count SystemAllocator申请内存的次数 - ≥0 60s SYS.CloudTable doris_be_chunk_pool_system_free_cost_ns SystemAllocator释放内存的耗时累计值 通过斜率可以观测内存释放的耗时 ≥0 ns 60s SYS.CloudTable doris_be_chunk_pool_system_free_count SystemAllocator释放内存的次数 - ≥0 60s SYS.CloudTable doris_be_compaction_bytes_total_base Base Compaction的数据量 累计值 ≥0 Byte 60s SYS.CloudTable doris_be_compaction_bytes_total_cumulative Cumulative Compaction的数据量 累计值 ≥0 60s SYS.CloudTable doris_be_compaction_deltas_total_base Base Compaction处理的rowset个数 累计值 ≥0 60s SYS.CloudTable doris_be_compaction_deltas_total_cumulative Cumulative Compaction处理的rowset个数 累计值 ≥0 60s SYS.CloudTable doris_be_compaction_waitting_permits 正在等待Compaction令牌的数量 - ≥0 60s SYS.CloudTable doris_be_data_stream_receiver_count 数据接收端Receiver的数量 - ≥0 60s SYS.CloudTable doris_be_data_stream_receiver_count 数据接收端Receiver的数量 同doris_be_data_stream_receiver_count ≥0 60s SYS.CloudTable doris_be_fragment_request_duration_us 所有fragment intance的执行时间 累计值通过斜率观测 instance 的执行耗时 ≥0 us 60s SYS.CloudTable doris_be_fragment_requests_total 执行过的fragment instance的数量 累计值 ≥0 60s SYS.CloudTable doris_be_load_channel_count 当前打开的load channel个数 数值越大,说明当前正在执行的导入任务越多 ≥0 60s SYS.CloudTable doris_be_mem_consumption_tablet_meta tablet_meta模块的当前总内存开销 - ≥0 60s SYS.CloudTable doris_be_mem_consumption_load load模块的当前总内存开销 - ≥0 Byte 60s SYS.CloudTable doris_be_memory_allocated_bytes TcMalloc占用的虚拟内存的大小 - ≥0 Byte 60s SYS.CloudTable doris_be_memory_pool_bytes_total 所有MemPool当前占用的内存大小 - ≥0 Byte 60s SYS.CloudTable doris_be_memtable_flush_duration_us memtable写入磁盘的耗时 累计值通过斜率可以观测写入延迟 ≥0 us 60s SYS.CloudTable doris_be_memtable_flush_total memtable写入磁盘的个数 累计值通过斜率可以计算写入文件的频率 ≥0 60s SYS.CloudTable doris_be_meta_request_duration_read 访问RocksDB中的meta的读取耗时 - ≥0 us 60s SYS.CloudTable doris_be_meta_request_duration_write 访问RocksDB中的meta的写入耗时 - ≥0 us 60s SYS.CloudTable doris_be_meta_request_total_read 访问RocksDB中的meta的读取次数 累计值 ≥0 60s SYS.CloudTable doris_be_meta_request_total_write 访问RocksDB中的meta的写入次数 累计值 ≥0 60s SYS.CloudTable doris_be_plan_fragment_count 当前已接收的fragment instance的数量 观测是否出现instance堆积 ≥0 60s SYS.CloudTable doris_be_process_fd_num_limit_hard BE进程的文件句柄数硬限 - ≥0 60s SYS.CloudTable doris_be_process_fd_num_limit_soft BE进程的文件句柄数软限 - ≥0 60s SYS.CloudTable doris_be_process_fd_num_used BE进程已使用的文件句柄数 - ≥0 60s SYS.CloudTable doris_be_process_thread_num BE进程线程数 - ≥0 60s SYS.CloudTable doris_be_query_cache_memory_total_byte Query Cache占用字节数 - ≥0 Byte 60s SYS.CloudTable doris_be_query_cache_partition_total_count 当前Partition Cache缓存个数 - ≥0 60s SYS.CloudTable doris_be_query_cache_sql_total_count 当前SQL Cache缓存个数 - ≥0 60s SYS.CloudTable doris_be_query_scan_bytes 读取数据量的累计值 只统计读取Olap表的数据量 ≥0 Byte 60s SYS.CloudTable doris_be_query_scan_bytes_per_second 读取速率 - ≥0 Byte/s 60s SYS.CloudTable doris_be_query_scan_rows 读取行数 累计值只统计读取Olap表的数据量,通过斜率观测查询速率。 ≥0 60s SYS.CloudTable doris_be_result_block_queue_count 当前查询结果缓存中的fragment instance个数 该队列仅用于被外部系统直接读取时使用 ≥0 60s SYS.CloudTable doris_be_result_buffer_block_count 当前查询结果缓存中的query个数 该数值反映当前BE中有多少查询的结果正在等待FE消费 ≥0 60s SYS.CloudTable doris_be_routine_load_task_count 当前正在执行的routine load task个数 - ≥0 60s SYS.CloudTable doris_be_rowset_count_generated_and_in_use 自上次启动后,新增的并且正在使用的rowset id个数 - ≥0 60s SYS.CloudTable doris_be_scanner_thread_pool_queue_size 用于OlapScanner的线程池的当前排队数量 - ≥0 60s SYS.CloudTable doris_be_segment_read_segment_read_total 读取的segment的个数 累计值 ≥0 60s SYS.CloudTable doris_be_segment_read_segment_row_total 读取的segment的行数 累计值该数值也包含了被索引过滤的行数 ≥0 60s SYS.CloudTable doris_be_send_batch_thread_pool_queue_size 导入时用于发送数据包的线程池的排队个数 - ≥0 60s SYS.CloudTable doris_be_send_batch_thread_pool_thread_num 导入时用于发送数据包的线程池的线程数 - ≥0 60s SYS.CloudTable doris_be_small_file_cache_count 当前BE缓存的小文件数量 - ≥0 60s SYS.CloudTable doris_be_streaming_load_current_processing 当前正在运行的stream load任务数 仅包含curl命令发送的任务 ≥0 60s SYS.CloudTable doris_be_streaming_load_duration_ms 所有stream load任务执行时间的耗时 累计值 ≥0 60s SYS.CloudTable doris_be_streaming_load_requests_total stream load任务数 累计值通过斜率可观测任务提交频率。 ≥0 60s SYS.CloudTable doris_be_stream_load_pipe_count 当前stream load数据管道的个数 包括stream load和routine load任务 ≥0 60s SYS.CloudTable doris_be_stream_load_load_rows stream load最终导入的行数 包括stream load和routine load任务 ≥0 60s SYS.CloudTable doris_be_stream_load_receive_bytes stream load接收的字节数 包括stream load从http接收的数据,以及routine load从kafka读取的数据。 ≥0 Byte 60s SYS.CloudTable doris_be_tablet_base_max_compaction_score 当前最大的Base Compaction Score 该数值实时变化,有可能丢失峰值数据;数值越高,表示compaction堆积越严重。 ≥0 60s SYS.CloudTable doris_be_tablet_cumulative_max_compaction_score 当前最大的Cumulative Compaction Score - ≥0 60s SYS.CloudTable doris_be_thrift_connections_total_heartbeat 心跳服务的连接数 累计值 ≥0 60s SYS.CloudTable doris_be_thrift_connections_total_backend BE服务的连接数 累计值 ≥0 60s SYS.CloudTable doris_be_thrift_current_connections_heartbeat 心跳服务的当前连接数 - ≥0 60s SYS.CloudTable doris_be_thrift_current_connections_backend BE服务的当前连接数 - ≥0 60s SYS.CloudTable doris_be_timeout_canceled_fragment_count 因超时而被取消的fragment instance数量 这个值可能会被重复记录 ≥0 60s SYS.CloudTable doris_be_stream_load_txn_request_begin stream load开始事务数 包括stream load和routine load任务 ≥0 60s SYS.CloudTable doris_be_stream_load_txn_request_commit stream load执行成功的事务数 包括stream load和routine load任务 ≥0 60s SYS.CloudTable doris_be_stream_load_txn_request_rollback stream load执行失败的事务数 包括stream load和routine load任务 ≥0 60s SYS.CloudTable doris_be_unused_rowsets_count 当前已废弃的rowset的个数 这些rowset正常情况下会被定期删除 ≥0 60s SYS.CloudTable doris_be_load_bytes 通过tablet sink发送的数量 累计值可观测导入数据量 ≥0 Byte 60s SYS.CloudTable doris_be_load_rows 通过tablet sink发送的行数 累计值可观测导入数据量 ≥0 Byte 60s SYS.CloudTable doris_be_fragment_thread_pool_queue_size 当前查询执行线程池等待队列的长度 - ≥0 60s SYS.CloudTable doris_be_compaction_used_permits Compaction任务已使用的令牌数量 用于反映Compaction的资源消耗量 ≥0 60s SYS.CloudTable doris_be_upload_total_byte rowset数据量累计值 - ≥0 60s SYS.CloudTable light_work_active_threads light_work_active_threads brpc light线程池活跃线程数 ≥0 60s Service.CloudTable light_work_pool_queue_size light_work_pool_queue_size brpc light线程池队列最大长度,超过则阻塞提交work ≥0 60s Service.CloudTable fragment_thread_pool_queue_size fragment_thread_pool_queue_size 当前查询执行线程池等待队列的长度 ≥0 60s Service.CloudTable process_thread_num process_thread_num BE 进程线程数 ≥0 60s Service.CloudTable
  • FE节点支持的监控指标 FE节点监控指标如表1所示。 表1 FE节点支持的监控指标 指标名称 显示名称 含义 取值范围 监控周期(原始指标) 命名空间 doris_fe_image_clean_failed 清理历史元数据镜像文件失败的次数 不应失败,如失败,需人工介入 ≥0 60s SYS.CloudTable doris_fe_image_clean_success 清理历史元数据镜像文件成功的次数 - ≥0 60s SYS.CloudTable doris_fe_image_push_success 将元数据镜像文件推送给其他FE节点的成功的次数 - ≥0 60s SYS.CloudTable doris_fe_image_write_failed 生成元数据镜像文件失败的次数 不应失败,如失败,需人工介入 ≥0 60s SYS.CloudTable doris_fe_image_write_success 生成元数据镜像文件成功的次数 - ≥0 60s SYS.CloudTable doris_fe_max_journal_id 当前FE节点最大元数据日志ID 如果是Master FE,则是当前写入的最大ID,如果是非Master FE,则代表当前回放的元数据日志最大ID;用于观察多个FE之间的id是否差距过大,过大则表示元数据同步出现问题。 ≥0 60s SYS.CloudTable doris_fe_max_tablet_compaction_score 所有BE节点中最大的compaction score值 该值可以观测当前集群最大的 compaction score,以判断是否过高,如过高则可能出现查询或写入延迟。 ≥0 60s SYS.CloudTable doris_fe_qps 当前FE每秒查询数量(仅统计查询请求) QPS ≥0 60s SYS.CloudTable doris_fe_query_err 错误查询的累积值 - ≥0 60s SYS.CloudTable doris_fe_query_err_rate 每秒错误查询数 - ≥0 60s SYS.CloudTable doris_fe_query_latency_ms_99 查询请求延迟的99分位的查询延迟 - ≥0 ms 60s SYS.CloudTable doris_fe_query_latency_ms_999 查询请求延迟的999分位的查询延迟 - ≥0 ms 60s SYS.CloudTable doris_fe_query_olap_table 查询内部表(OlapTable)的请求个数 - ≥0 60s SYS.CloudTable doris_fe_query_total 所有查询请求数 - ≥0 60s SYS.CloudTable doris_fe_report_queue_size BE的各种定期汇报任务在FE端的队列长度 该值反映了汇报任务在 Master FE 节点上的阻塞程度,数值越大,表示FE处理能力不足。 ≥0 60s SYS.CloudTable doris_fe_request_total 所有通过MySQL端口接收的操作请求(包括查询和其他语句) - ≥0 60s SYS.CloudTable doris_fe_routine_load_error_rows 集群内所有Routine Load作业的错误行数总和 - ≥0 60s SYS.CloudTable doris_fe_routine_load_receive_bytes 集群内所有Routine Load作业接收的数据量大小 - ≥0 Byte 60s SYS.CloudTable doris_fe_routine_load_rows 集群内所有Routine Load作业接收的数据行数 - ≥0 60s SYS.CloudTable doris_fe_rps 当前FE每秒请求数量(包含查询以及其他各类语句) 和 QPS 配合来查看集群处理请求的量。 ≥0 60s SYS.CloudTable doris_fe_scheduled_tablet_num Master FE节点正在调度的tablet数量 包括正在修复的副本和正在均衡的副本;该数值可以反映当前集群,正在迁移的 tablet 数量;如果长时间有值,说明集群不稳定。 ≥0 60s SYS.CloudTable doris_fe_tablet_status_count_added Master FE节点被调度过的tablet数量 - ≥0 60s SYS.CloudTable doris_fe_tablet_status_count_in_sched Master FE节点被重复调度的tablet数量 - ≥0 60s SYS.CloudTable doris_fe_tablet_status_count_not_ready Master FE节点未满足调度触发条件的tablet数量 - ≥0 60s SYS.CloudTable doris_fe_tablet_status_count_total Master FE节点的被检查过的tablet数量 - ≥0 60s SYS.CloudTable doris_fe_tablet_status_count_unhealthy Master FE节点累积的被检查过的不健康的tablet数量 - ≥0 60s SYS.CloudTable doris_fe_txn_counter_begin 提交的事务数量 - ≥0 60s SYS.CloudTable doris_fe_txn_counter_failed 失败的事务数量 - ≥0 60s SYS.CloudTable doris_fe_txn_counter_reject 被拒绝的事务数量 如当前运行事务数大于阈值,则新的事务会被拒绝。 ≥0 60s SYS.CloudTable doris_fe_txn_counter_success 成功的事务数量 - ≥0 60s SYS.CloudTable doris_fe_txn_exec_latency_ms_99 99分位的事务执行耗时 - ≥0 ms 60s SYS.CloudTable doris_fe_txn_exec_latency_ms_999 999分位的事务执行耗时 - ≥0 ms 60s SYS.CloudTable doris_fe_txn_publish_latency_ms_99 99分位的事务publish耗时 - ≥0 ms 60s SYS.CloudTable doris_fe_txn_publish_latency_ms_999 999分位的事务publish耗时 - ≥0 ms 60s SYS.CloudTable jvm_heap_size_bytes_max 最大堆内存 观测JVM内存使用情况。 ≥0 Byte 60s SYS.CloudTable jvm_heap_size_bytes_committed 已申请的堆内存 观测JVM内存使用情况。 ≥0 Byte 60s SYS.CloudTable jvm_heap_size_bytes_used 已使用的堆内存 观测JVM内存使用情况。 ≥0 Byte 60s SYS.CloudTable jvm_non_heap_size_bytes_committed 已申请的堆外内存 - ≥0 Byte 60s SYS.CloudTable jvm_non_heap_size_bytes_used 已使用堆外内存 - ≥0 Byte 60s SYS.CloudTable jvm_old_gc_coun 老年代GC次数 观测是否出现长时间的FullGC。 ≥0 60s SYS.CloudTable jvm_old_gc_time 老年代GC耗时 观测是否出现长时间的FullGC。 ≥0 ms 60s SYS.CloudTable jvm_old_size_bytes_used 老年代内存占用 - ≥0 Byte 60s SYS.CloudTable jvm_old_size_bytes_peak_used 老年代内存占用峰值 - ≥0 Byte 60s SYS.CloudTable jvm_old_size_bytes_max 老年代内存最大值 - ≥0 Byte 60s SYS.CloudTable jvm_thread_new_count 线程数峰值 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_thread_new_count new状态的线程数 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_thread_runnable_count runnable状态的线程数 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_thread_blocked_count blocked状态的线程数 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_thread_waiting_count waiting状态的线程数 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_thread_terminated_coun terminated状态的线程数 观测JVM线程数是否合理。 ≥0 60s SYS.CloudTable jvm_young_gc_count 新生代GC次数 累计值 ≥0 60s SYS.CloudTable jvm_young_gc_time 新生代GC耗时 累计值 ≥0 ms 60s SYS.CloudTable jvm_young_size_bytes_used 新生代内存占用 - ≥0 Byte 60s SYS.CloudTable jvm_young_size_bytes_peak_used 新生代内存占用峰值 - ≥0 Byte 60s SYS.CloudTable jvm_young_size_bytes_max 新生代内存最大值 - ≥0 Byte 60s SYS.CloudTable doris_fe_cache_added_partition 新增的Partition Cache数量 累计值 ≥0 60s SYS.CloudTable doris_fe_cache_added_sql 新增的SQL Cache数量 累计值 ≥0 60s SYS.CloudTable doris_fe_cache_hit_partition 命中Partition Cache数 - ≥0 60s SYS.CloudTable doris_fe_cache_hit_sql 命中SQL Cache数 - ≥0 60s SYS.CloudTable doris_fe_connection_total 当前FE的MySQL端口连接数 用于监控查询连接数。如果连接数超限,则新的连接将无法接入 ≥0 60s SYS.CloudTable doris_fe_counter_hit_sql_block_rule 被SQL BLOCK RULE拦截的查询数量 - ≥0 60s SYS.CloudTable doris_fe_edit_log_clean_failed 清理历史元数据日志失败的次数 不应失败,如失败,需人工介入。 ≥0 60s SYS.CloudTable doris_fe_edit_log_clean_success 清理历史元数据日志成功的次数 - ≥0 60s SYS.CloudTable doris_fe_edit_log_read 元数据日志读取次数的计数 通过斜率观察元数据读取频率是否正常。 ≥0 60s SYS.CloudTable doris_fe_edit_log_write 元数据日志写入次数的计数 通过斜率观察元数据读取频率是否正常。 ≥0 60s SYS.CloudTable doris_fe_image_push_failed 将元数据镜像文件推送给其他FE节点的失败的次数 - ≥0 60s SYS.CloudTable doris_fe_thrift_rpc_total_{method_name} doris_fe_thrift_rpc_total_{method_name} FE thrift接口各个方法接收的RPC请求次数 ≥0 60s Service.CloudTable doris_fe_thrift_rpc_latency_ms_{method_name} doris_fe_thrift_rpc_latency_ms_{method_name} FE thrift接口各个方法接收的RPC请求耗时 ≥0 60s Service.CloudTable doris_fe_thread_pool_thrift_server_pool_active_thread_num doris_fe_thread_pool_thrift_server_pool_active_thread_num 线程池thrift-server-pool正在执行的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_thrift_server_pool_active_thread_pct doris_fe_thread_pool_thrift_server_pool_active_thread_pct 线程池thrift-server-pool正在执行的任务数占最大线程数的百分比 [0%,100%] 60s Service.CloudTable doris_fe_thread_pool_thrift_server_pool_task_in_queue doris_fe_thread_pool_thrift_server_pool_task_in_queue 线程池thrift-server-pool正在排队的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_thrift_server_pool_task_rejected doris_fe_thread_pool_thrift_server_pool_task_rejected 线程池thrift-server-pool拒绝的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_mysql_nio_pool_active_thread_num doris_fe_thread_pool_mysql_nio_pool_active_thread_num 线程池mysql-nio-pool正在执行的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_mysql_nio_pool_active_thread_pct doris_fe_thread_pool_mysql_nio_pool_active_thread_pct 线程池mysql-nio-pool正在执行的任务数占最大线程数的百分比 [0%,100%] 60s Service.CloudTable doris_fe_thread_pool_mysql_nio_pool_task_in_queue doris_fe_thread_pool_mysql_nio_pool_task_in_queue 线程池mysql-nio-pool正在排队的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_mysql_nio_pool_task_rejected doris_fe_thread_pool_mysql_nio_pool_task_rejected 线程池mysql-nio-pool拒绝的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_connect_scheduler_pool_active_thread_num doris_fe_thread_pool_connect_scheduler_pool_active_thread_num 线程池connect-scheduler-pool正在执行的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_connect_scheduler_pool_active_thread_pct doris_fe_thread_pool_connect_scheduler_pool_active_thread_pct 线程池connect-scheduler-pool正在执行的任务数占最大线程数的百分比 [0%,100%] 60s Service.CloudTable doris_fe_thread_pool_connect_scheduler_pool_task_in_queue doris_fe_thread_pool_connect_scheduler_pool_task_in_queue 线程池connect-scheduler-pool正在排队的任务数 ≥0 60s Service.CloudTable doris_fe_thread_pool_connect_scheduler_pool_task_rejected doris_fe_thread_pool_connect_scheduler_pool_task_rejected 线程池connect-scheduler-pool拒绝的任务数 ≥0 60s Service.CloudTable
  • 查看权限 登录 表格存储服务 管理控制台。 单击管理控制台左上角的,选择区域。 单击左侧集群管理,显示当前集群列表,选择需要操作的集群,进入用户管理页面。 单击操作列“查看权限”,弹出用户权限页面。 表2 查看权限 参数 说明 用户名 新建的用户名。 全局权限 查询、插入、更改、创建、删除。 各级权限 数据库和表:创建的数据库和表。 高危权限:创建表、删除表。 普通权限:查询、插入、更改。 支持查看账户对数据库的操作权限。