云服务器内容精选
-
准备本地应用开发环境 在进行应用开发时,要准备的开发和运行环境如表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 查看权限 参数 说明 用户名 新建的用户名。 全局权限 查询、插入、更改、创建、删除。 各级权限 数据库和表:创建的数据库和表。 高危权限:创建表、删除表。 普通权限:查询、插入、更改。 支持查看账户对数据库的操作权限。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格