云服务器内容精选
-
开启冷热分离步骤 登录 表格存储服务 管理控制台。 控制台左上角,选择区域。 单击左侧“集群管理”,进入集群管理界面。 单击集群管理界面右上角的“购买集群”。 进入创建集群界面,在集群购买页面选择Doris数据库引擎并勾选是否开启冷热分离按钮,创建后的集群就开启了冷热分离特性。 创建集群可以参考创建Doris集群。 如果在创建集群的时候未开启冷热分离特性,可在集群详请页面或者集群列表的操作列开启冷热分离。 注意使用Doris集群不要长时间处于高负载(高CPU、高内存、高磁盘使用率等)状态,否则影响冷热分离的速率。如果业务需要可进行集群扩容,请参见扩容集群。
-
前提条件 已创建包含Doris服务的集群,集群内各服务运行正常。 待连接Doris数据库的节点与 MRS 集群网络互通。 创建具有Doris管理权限的用户。 集群已启用Kerberos认证(安全模式) 在 FusionInsight Manager中创建一个人机用户,例如“dorisuser”,创建一个拥有“Doris管理员权限”的角色绑定给该用户。 使用新建的用户dorisuser重新登录FusionInsight Manager,修改该用户初始密码。 集群未启用Kerberos认证(普通模式) 使用admin用户连接Doris后,创建具有管理员权限的角色并绑定给用户。 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris。 已准备待导入至Doris的数据文件。
-
背景 在数据分析的实际场景中,冷热数据面临着不同的查询频次及响应速度要求。而随着历史数据的不断增多,如果我们将所有数据存储在本地,将造成大量的资源浪费。冷热分离特性可将冷热数据分开存储,将冷热数据分别存储在成本不同的存储介质上。热数据提高时效数据的查询速度和响应能力,冷数据降低存储成本。我们还可以根据实际业务需求进行灵活的配置和调整,以满足不同场景的要求。冷热分离一般适用于以下需求场景: 数据存储周期长:面对历史数据的不断增加,存储成本也随之增加。 冷热数据访问频率及性能要求不同:热数据访问频率高且需要快速响应,而冷数据访问频率低且响应速度要求不高。
-
原理介绍 创建表:CloudTable Doris通过文件系统在本地数据目录创建目录。 写数据:调用文件系统相关功能,生成文件到本地数据目录下。 合并数据:定期读取数据文件rowset,判断数据时间戳和时间线。如果当前时间减去写入时间小于TTL设置的值,则文件不移动。如果当前时间减去写入时间大于TTL设置的值,则会在系统后台执行并调用OBS SDK数据写入OBS,随后将本地文件删除。 查询数据:用户在表上进行对应的查询时,Doris会根据对应Partition使用的Policy信息找到对应的OBS并行文件系统的相关路径,并根据不同Tablet下的Rowset信息下载查询所需的数据到本地进行运算。
-
Aggregate模型 建Aggregate模型表语句示例如下: CREATE TABLE IF NOT EXISTS example_db.example_tbl ( `user_id` LARGEINT NOT NULL COMMENT "用户id", `date` DATE NOT NULL COMMENT "数据灌入日期时间", `city` VARCHAR(20) COMMENT "用户所在城市", `age` SMALLINT COMMENT "用户年龄", `gender` TINYINT COMMENT "用户性别", `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间", `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费", `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间", `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间" ) AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `gender`) DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" ); 当导入数据时,对于Key列相同的行会聚合成一行,而Value列会按照设置的AggregationType进行聚合。 AggregationType目前有以下四种聚合方式: SUM:求和,多行的Value进行累加。 REPLACE:替代,下一批数据中的Value会替换之前导入过的行中的Value。 MAX:保留最大值。 MIN:保留最小值。 表中的列按照是否设置了AggregationType,分为Key (维度列) 和Value(指标列)。例如,没有设置AggregationType的,如user_id、date、age等称为Key,而设置了AggregationType的称为Value。
-
Unique模型 读时合并 这类表没有聚合需求,只需保证主键(user_id和username)的唯一性。且Unique模型的读时合并实现完全可以用Aggregate模型中的REPLACE方式替代。建表示例如下: CREATE TABLE IF NOT EXISTS example_db.example_tbl ( `user_id` LARGEINT NOT NULL COMMENT "用户id", `username` VARCHAR(50) NOT NULL COMMENT "用户昵称", `city` VARCHAR(20) COMMENT "用户所在城市", `age` SMALLINT COMMENT "用户年龄", `gender` TINYINT COMMENT "用户性别", `phone` LARGEINT COMMENT "用户电话", `address` VARCHAR(500) COMMENT "用户地址", `register_time` DATETIME COMMENT "用户注册时间" ) UNIQUE KEY(`user_id`, `username`) DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" );
-
Duplicate模型 数据既没有主键,也没有聚合需求时,可以使用Duplicate数据模型建表。Duplicate模型数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。 而在建表语句中指定的DUPLICATE KEY,只是用来指明底层数据按照指定的列进行排序。 建Duplicate模型表语句如下: CREATE TABLE IF NOT EXISTS example_db.example_tbl ( `timestamp` DATETIME NOT NULL COMMENT "日志时间", `type` INT NOT NULL COMMENT "日志类型", `error_code` INT COMMENT "错误码", `error_msg` VARCHAR(1024) COMMENT "错误详细信息", `op_id` BIGINT COMMENT "负责人id", `op_time` DATETIME COMMENT "处理时间" ) DUPLICATE KEY(`timestamp`, `type`, `error_code`) DISTRIBUTED BY HASH(`type`) BUCKETS 1 PROPERTIES ( "replication_allocation" = "tag.location.default: 1" );
-
数据模型的选择建议 因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。 Aggregate模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,适合有固定模式的报表类查询场景,但是该模型不适用于count(*)查询。同时因为固定了Value列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语义正确性。 Unique模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用ROLLUP等预聚合带来的查询优势。 对于聚合查询有较高性能需求的用户,推荐使用写时合并实现。 Unique模型仅支持整行更新,如果用户既需要唯一主键约束,又需要更新部分列(例如将多张源表导入到一张Doris表的场景),则可以考虑使用Aggregate模型,同时将非主键列的聚合类型设置为REPLACE_IF_NOT_NULL。 Duplicate适合任意维度的Ad-hoc查询。虽然无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有Key列)。
-
前提条件 已创建包含Doris服务的集群,集群内各服务运行正常。 待连接Doris数据库的节点与MRS集群网络互通。 创建具有Doris管理权限的用户。 集群已启用Kerberos认证(安全模式) 在FusionInsight Manager中创建一个人机用户,例如“dorisuser”,创建一个拥有“Doris管理员权限”的角色绑定给该用户。 使用新建的用户dorisuser重新登录FusionInsight Manager,修改该用户初始密码。 集群未启用Kerberos认证(普通模式) 使用admin用户连接Doris后,创建具有管理员权限的角色并绑定给用户。 已安装MySQL客户端,相关操作可参考使用MySQL客户端连接Doris。 如果Doris通过Broker Load跨集群导入数据,需要配置跨集群互信,相关操作可参考配置跨Manager集群互信。
-
操作场景 Doris作为一个ROLAP模式的数据库,底层需依赖强大的关系型数据库引擎作为支撑。高并发、聚合查询等是常见的查询场景,但由于MRS Doris不支持慢查询管理,缺少运维监控能力,在实际问题定界过程中无法可视化地获取查询SQL的执行信息。因此需要新增Doris慢查询管理功能来提高Doris的运维监控能力。 需开启Doris慢查询功能才能在Manager界面可视化显示并管理Doris慢查询信息。默认情况下,为了减少慢查询对环境资源的影响,Doris慢查询功能是关闭的,可通过配置自定义参数“query_history_enable”开启该功能。 该功能仅适用于MRS 3.5.0及之后版本集群。
-
慢查询参数说明 表2 慢查询参数说明 参数名称 参数说明 查询id 内部生成的唯一ID。 查询语句 具体慢查询的SQL语句。 开始时间 执行慢查询SQL语句的开始时间。 结束时间 执行慢查询SQL语句的结束时间。 数据库 慢查询语句中表所在的数据库名称。 实例名称 仅在“正在进行的慢查询”页签显示,表示执行当前慢SQL查询任务的FE实例节点。 占用的内存空间 仅在“已经结束的查询”页签显示,执行慢SQL消耗的内存空间大小,单位是字节。 查询时长 慢查询SQL语句当前累计执行的时间,单位是秒。 用户 执行慢查询SQL语句的Doris用户。 客户端IP 提交该慢查询SQL语句的客户端IP。 状态 慢查询SQL语句的执行状态,包括: 正在运行:正在运行的慢查询SQL语句。 已取消:在“正在进行的慢查询”页签中单击慢查询SQL语句“操作”列的“终止”,即可结束对应慢查询SQL语句。 已结束:已经正常运行完成的慢查询SQL语句。 操作 仅在“正在进行的慢查询”页签显示,表示当前查询出来的慢SQL语句,可以单击“终止”结束该慢SQL语句查询。
-
创建Doris租户 登录FusionInsight Manager,单击“租户资源”。 在“租户资源管理”页面单击,打开添加租户的配置页面,参见表1为租户配置属性。 表1 租户参数介绍 参数名称 描述 名称 指定当前租户的名称,长度为3~50个字符,可包含数字、字母或下划线(_),但不支持创建仅包含数字的Doris租户名称。 根据业务需求规划租户的名称,不得与当前集群中已有的角色、HDFS目录或者Yarn队列重名。 租户类型 选择“叶子租户”。 说明: 创建Doris租户,租户类型只能选择“叶子租户”。 计算资源 只创建Doris相关租户时,不选择“Yarn”。 存储资源 只创建Doris相关租户时,不选择“HDFS”。 服务 单击“关联服务”,在关联服务配置以下参数并单击“确定”: “服务”:选择“Doris”。 “关联类型”:默认“共享”。 以下参数详细说明可参见表1。 “CPU配额权重”:租户占用CPU资源的相对权重,即相对占比,竞争时生效。 “内存限额占比”:租户最大占用内存资源的百分比,如该值设置为“10”,则当前租户在不同BE节点内存可用为:BE可用内存 * 10%。因为Doris存在默认租户normal,占用了90%,所以其他租户可设置上限为10%,若总和超过100%,Doris租户将创建失败。 “并发数”:租户最大可运行查询任务的并发数,超过并发数的查询会进入等待队列。 “队列长度”:租户最大等待执行的查询任务数。 “队列等待时长(毫秒)”:租户等待执行的查询任务的最大等待时长,单位为毫秒。 “开启内存软隔离”:默认关闭内存软隔离。如果开启内存软隔离,在资源充足时,可超额占用限额以外内存,在资源紧张时,才会释放多占用的内存。如果关闭内存软隔离,则该Workload Group为内存硬隔离,超过内存可用限额时,部分SQL将被取消或者拒绝执行。 描述 配置当前租户的描述信息。 单击“确定”,等待界面提示租户创建成功。 Doris租户创建完成后,可以在“租户资源管理”列表中查看并修改租户资源。 在FusionInsight Manager页面,选择“租户资源”,在租户列表中选中需要查看的Doris租户,查看租户概述和资源配额。 选择“资源”,单击“资源详情”后的,对租户资源进行修改。 修改完成后,单击“确定”,返回“资源”页面,展示修改后的资源详情。 在“概述”的“资源配额”是静态的,并不是实时刷新,只在加载时更新。 因为Doris租户代表的是Workload Group,是对组内任务在单个实例节点的计算资源限制,所以“资源配额”和“图表”都是对指标均值的监控,“图表”每30秒刷新一次。
-
SDK 服务通过MySQL协议与Doris建立连接,部分语言的SDK已经提供了高可用能力,例如MySQL JDBC可以使用自动重试机制,建立连接时通过如下配置设置数据源: jdbc:mysql:loadbalance://[host1][:port],[host2][:port][,[host3][:port]]...[/[database]][?propertyName1=propertyValue1[&propertyName2=propertyValue2]...] 详细内容可参考https://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-j2ee-concepts-managing-load-balanced-connections.html。
-
原因分析 Doris支持一个BE节点配置多个存储路径,并支持指定路径的存储介质属性,如SSD或HDD。通常情况下,每块盘配置一个存储路径即可。 如果“be.conf”中只配置了SSD的介质,而FE中参数“default_storage_medium”默认为HDD,因此建表时会发现没有HDD介质的存储而报错。Doris并不会自动感知存储路径所在磁盘的实际存储介质类型,需要用户在路径配置中显式的表示。“.HDD”和“.SSD”只是用于标识存储目录“相对”的“低速”和“高速”之分,而并不是标识实际的存储介质类型,所以如果BE节点上的存储路径没有介质区别,则无需填写后缀。
-
基础概念 Internal Catalog Doris原有的Database和Table都将归属于Internal Catalog。Internal Catalog是内置的默认Catalog,用户不可修改或删除。 External Catalog 可以通过CREATE CATA LOG 命令创建一个External Catalog,创建后,可以通过SHOW CATALOGS命令查看已创建的Catalog。 切换Catalog 用户登录Doris后,默认进入Internal Catalog,因此默认的数据库使用和之前版本并无差别,可以直接使用SHOW DATABASES,USE DB等命令查看和切换数据库。 用户可以通过SWITCH命令切换Catalog,例如: SWITCH internal; SWITCH hive_catalog; 切换后,可以直接通过SHOW DATABASES,USE DB等命令查看和切换对应Catalog中的Database。Doris会自动同步Catalog中的Database和Table。用户可以像使用Internal Catalog一样,对External Catalog中的数据进行查看和访问。 当前,Doris只支持对External Catalog中的数据进行只读访问。 删除Catalog External Catalog中的Database和Table都是只读的,但是可以删除Catalog(Internal Catalog无法删除)。可以通过DROP CATALOG命令删除一个External Catalog。 该操作仅会删除Doris中该Catalog的映射信息,并不会修改或变更任何外部数据目录的内容。 Resource Resource是一组配置的集合。用户可以通过CREATE RESOURCE命令创建一个Resource,之后可以在创建Catalog时使用这个Resource。 一个Resource可以被多个Catalog使用,以复用其中的配置。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格