Doris
文章平均质量分 65
勤径苦舟
书山有路勤为径,学海无涯苦作舟。
展开
-
Doris--基础--13.6--SQl函数--Bitmap函数
计算两个输入bitmap的交集,返回新的bitmap.原创 2023-03-10 13:39:59 · 190 阅读 · 0 评论 -
Doris--基础--13.5--SQl函数--聚合函数
返回类似于 COUNT(DISTINCT col) 结果的近似值聚合函数。它比 COUNT 和 DISTINCT 组合的速度更快,并使用固定大小的内存,因此对于高基数的列可以使用更少的内存。原创 2023-03-10 13:39:52 · 806 阅读 · 0 评论 -
Doris--基础--13.4--SQl函数--字符串函数
如果’str’字符串非空并且末尾不包含’trailing_char’字符,则将’trailing_char’字符附加到末尾。trailing_char只包含一个字符,如果包含多个字符,将返回NULL。原创 2023-03-10 13:39:44 · 2733 阅读 · 0 评论 -
Doris--基础--13.3--SQl函数--地理位置函数
将一个几何图形转化为WKT(Well Known Text)的表示形式。原创 2023-03-10 13:37:52 · 467 阅读 · 0 评论 -
Doris--基础--13.2--SQl函数--日期函数
转换datetime值dt,从 from_tz 转到 to_tz 时区,并返回的结果值。如果参数无效该函数返回NULL。原创 2023-03-10 13:39:30 · 8763 阅读 · 0 评论 -
Doris--基础--13.1--SQl函数--数学函数
功能: 返回参数的绝对值返回类型:double类型使用说明:使用该函数需要确保函数的返回值是整数。原创 2023-03-10 13:39:19 · 1013 阅读 · 0 评论 -
Doris--基础--12--Colocation Join
Colocation Join 功能,是将一组拥有相同 CGS(Colocation Group Schema) 的 Table 组成一个 CG(Colocation Group。使得当 CG 内的表进行分桶列上的 Join 操作时,可以通过直接进行本地数据 Join,减少数据在节点间的传输耗时。当对一个具有 Colocation 属性的表进行以下操作,Doris 会检查修改是否会违反 Colocation Group Schema,如果违反则会拒绝。该命令需要 ADMIN 权限。原创 2023-03-10 13:39:07 · 760 阅读 · 0 评论 -
Doris--基础--11--动态分区
对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。在某些使用场景下,用户会将表按照天进行分区划分数据,在没有动态分区功能的时候,用户需要手动管理分区数据。这会给使用方带来额外的维护成本。通过动态分区功能,用户可以在建表时设定动态分区的规则,FE 会启动一个后台线程,根据用户指定的规则创建或删除分区。2.2、运行时修改3、动态分区规则 参数3.1、配置文件fe.conf3.3、参数3.3.1、dynamic_partition.enable是否开启动态分区特性。值:TRUE原创 2023-03-10 13:37:10 · 3096 阅读 · 1 评论 -
Doris--基础--10--数据模型
数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。在建表语句中指定的 DUPLICATE KEY,只是用来指明底层数据按照那些列进行排序。适用场景:既没有聚合需求,又没有主键唯一性约束的原始数据的存储。原创 2023-03-10 13:36:59 · 1120 阅读 · 0 评论 -
Doris--基础--09--doris的高可用方案
当部署多个 FE 节点时,用户可以在多个fe上部署负载均衡 实现高可用。原创 2023-03-08 19:28:49 · 827 阅读 · 0 评论 -
Doris--基础--08--Broadcast/Shuffle Join
doris在join操作的时候时候,默认使用broadcast的方式进行join,即将小表通过广播的方式广播到大表所在的节点,形成内存hash,然后流式读出大表数据进行hashjoin。但如果小表的数据量也很大的时候,就会造成内存溢出,此时需要通过shuffle join的方式进行,也被称为partition join,即将大表小表都按照join的key进行hash,然后进行分布式join。原创 2023-03-08 19:30:22 · 348 阅读 · 0 评论 -
Doris--基础--07--修改查询超时时间
doris默认最长查询时间为300s, 如果仍然未完成, 会被cancel掉。原创 2023-03-08 19:30:14 · 1649 阅读 · 0 评论 -
Doris--基础--06--设置内存
【代码】Doris--基础--06--设置内存。原创 2023-03-08 19:30:05 · 3924 阅读 · 0 评论 -
Doris--基础--5.3--物化视图
第1层过滤,先判断查询Where中的谓词涉及到的数据是否能从物化视图中得到,也就是销售时间列是否在表中存在。第2层过滤,查询的分组列是否为候选集的分组列的子集,也就是销售员id是否为表中分组列的子集。则会导致这张物化视图的性价比不高,既占用了集群的存储资源,还不能为更多的查询服务。第3层过滤,查询的聚合列是否为候选集中聚合列的子集,也就是候选集中 是否存在SUM(sale_amt),这里Base表和mv_1物化视图表均满足标准。根据查询的条件,从 候选集 的所有物化视图中,找到最优的物化视图。原创 2023-03-08 19:28:00 · 2010 阅读 · 0 评论 -
Doris--基础--5.2--索引
因为建表时已经指定了列顺序,所以一个表只有一种前缀索引。这对于使用其他不能命中前缀索引的列作为条件进行的查询来说,效率上可能无法满足需求。因此,我们可以通过创建 ROLLUP 来人为的调整列顺序。原创 2023-03-08 19:29:35 · 992 阅读 · 0 评论 -
Doris--基础--5.1--Rollup
Rollup 建立之后,查询不需要指定 Rollup 进行查询。还是指定原有表进行查询即可。程序会自动判断是否应该使用 Rollup。是否命中 Rollup可以通过 EXPLAIN your_sql;比如需要查看某个城市的user_id数,那么可以建立一个只有user_id和city的rollup。原创 2023-03-08 19:27:43 · 158 阅读 · 0 评论 -
Doris--基础--4.2--数据导入--Insert Into
如果返回结果为 ERROR 1064 (HY000),则表示导入失败。如果返回结果为 Query OK,则表示执行成功。如果 rows affected 为 0,表示结果集为空,没有数据被导入。如果 rows affected 大于 0:如果 status 为 committed,表示数据还不可见。需要通过 show transaction 语句查看状态直到 visible如果 status 为 visible,表示数据导入成功。原创 2023-03-08 19:29:07 · 956 阅读 · 0 评论 -
Doris--基础--4.1--数据导入--介绍
doris原创 2023-03-08 19:27:15 · 552 阅读 · 0 评论 -
Doris--基础--3.8--SQL--表结构变更
对上面的 table11 添加一列。原创 2023-03-08 19:27:00 · 534 阅读 · 0 评论 -
Doris--基础--3.7--SQL--select
【代码】Doris--基础--3.7--SQL--select。原创 2023-03-07 09:47:36 · 82 阅读 · 0 评论 -
Doris--基础--3.4--SQL--表的基本概念
在 Doris 中,数据都以表(Table)的形式进行逻辑上的描述。原创 2023-03-07 09:45:31 · 230 阅读 · 0 评论 -
Doris--基础--3.3--SQL--帮助命令
【代码】Doris--基础--3.3--SQL--帮助命令。原创 2023-03-07 09:45:20 · 705 阅读 · 0 评论 -
Doris--基础--3.2--SQL--创建数据库并赋予权限
【代码】Doris--基础--3.2--SQL--创建数据库并赋予权限。原创 2023-03-07 09:45:06 · 728 阅读 · 0 评论 -
Doris--基础--3.1--SQL--账户管理
注意:新创建的普通用户默认没有任何权限。原创 2023-03-07 09:43:18 · 93 阅读 · 0 评论 -
Doris--基础--2.7--部署--常见问题
FE 进程启动后,会首先加载元数据,根据 FE 角色的不同,在日志中会看到 transfer from UNKNOWN to MASTER/FOLLOWER/OBSERVER。最终会看到 thrift server started 日志,并且可以通过 mysql 客户端连接到 FE,则表示 FE 启动成功。如果在 fe.log 中查看不到启动失败的信息,也许在 fe.out 中可以看到。原创 2023-03-07 09:44:28 · 1017 阅读 · 0 评论 -
Doris--基础--3.5--SQL--建表
上述表通过设置 replication_num 建的都是单副本的表,Doris建议用户采用默认的 3 副本设置,以保证高可用。可以对 Table 增加上卷表(Rollup)以提高查询性能,这部分可以参见高级使用指南关于 Rollup 的描述。注:表的数据量可以通过 show data 命令查看,表的数据量=size/ReplicaCount。详见 HELP LOAD。假设在有10台BE,每台BE一块磁盘的情况下。表的列的Null属性默认为true,会对查询性能有一定的影响。可以动态修改表的 Schema。原创 2023-03-07 09:47:12 · 5040 阅读 · 0 评论 -
Doris--基础--2.6--部署--BROKER
要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上,通过 sql 命令添加 Broker 节点列表。进入/home/hd/doris目录。原创 2023-03-07 09:42:37 · 219 阅读 · 0 评论 -
Doris--基础--2.5--部署--扩容和缩容
【代码】Doris--基础--2.5--部署--扩容和缩容。原创 2023-03-07 09:42:29 · 624 阅读 · 0 评论 -
Doris--基础--2.4--部署--集群部署
主机名操作系统版本IPCPU内存硬盘node01Centos/7.98C8G20Gnode02Centos/7.98C8G20Gnode03Centos/7.98C8G20G。原创 2023-03-05 16:02:26 · 250 阅读 · 0 评论 -
Doris--基础--2.3--部署--单机部署
单机部署Doris创建数据库、数据表、导入数据及查询。原创 2023-03-05 16:00:46 · 903 阅读 · 1 评论 -
Doris--基础--2.2--部署--理论
而在使用 ADD BACKEND 或 ADD FRONTEND 语句中,也需要指定和 priority_networks 配置匹配的 IP,否则集群无法建立。当配置完 priority_networks 并启动 FE 或 BE 后,只是保证了 FE 或 BE 自身的 IP 进行了正确的绑定。将源码编译生成的 output 下的 fe 文件夹拷贝到 FE 的节点指定部署路径下,并进入该目录。这时,必须 DROP 掉这个添加错误的 BE,重新使用正确的 IP 执行 ADD BACKEND。原创 2023-03-05 15:57:13 · 522 阅读 · 0 评论 -
Doris--基础--2.1--部署--源码编译(使用Docker开发镜像)
从 build-env-1.3.1 的docker镜像起,同时包含了 OpenJDK 8 和 OpenJDK 11,并且默认使用 OpenJDK 11 编译。如果你是第一次使用 build-env-for-0.15.0 或之后的版本,第一次编译的时候要使用如下命令。请确保编译使用的 JDK 版本和运行时使用的 JDK 版本一致,否则会导致非预期的运行错误。编译完成后,产出文件在 output/ 目录中。编译完成后,产出文件在 output/ 目录中。因为我的机器是支持的,所以我的编译命令如下。原创 2023-03-05 15:53:55 · 874 阅读 · 0 评论 -
Doris--基础--1.3--理论--架构
连续版本的Rowset合并的过程成称为Compaction,合并过程中会对数据进行压缩操作。假如有10台机器,在大数据量下,这种查询执行方式可以使得查询性能达到10倍的提升。在执行计划的时候,MPP 将其拆分成多份,分布到每台机器执行,最后再将结果汇总。该语句包含了合并、聚合计算、排序等多种操作;Doris主要整合了以下技术。因此选择了这三种技术的组合。假设我们有个如下的SQL语句。原创 2023-03-05 15:54:05 · 637 阅读 · 0 评论 -
Doris--基础--1.2--理论--OLTP、OLAP,HTAP
操作型处理,主要目标是做数据处理,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。OLTP示例:传统的关系型数据库系统(RDBMS),主要用于操作型处理。按数据存储格式划分如下。原创 2023-03-05 15:52:01 · 945 阅读 · 0 评论 -
Doris--基础--1.1--理论--介绍
MPP(Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。原创 2023-03-05 15:50:34 · 430 阅读 · 0 评论