[说明] Doris使用培训

news2024/11/25 7:15:15

参考文献

  • apache doris在蜀海供应链数仓建设中的实践

  • 应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设

一、doris的背景介绍

doris的使用场景

实时/离线一体的数仓

借用一句话: Uniq 模型拳打KUDU、HUDI,Aggregate 模型脚踢Kylin、ClickHouse,Duplicate 模型跟Hive 势不两立。Doris+Flink将会是实时数据仓库的重要基石。

doris选型依据

doris是一个rolap, 可以满足以下需求

  • 同时支持高并发点查询和高吞吐的Ad-hoc查询

  • 同时支持离线批量导入和实时数据导入

  • 同时支持明细和聚合查询

  • 兼容MySQL协议和标准SQL

  • 支持Rollup Table和Rollup Table的智能查询路由

  • 支持较好的多表Join策略和灵活的表达式查询

  • 支持Schema在线变更

  • 支持Range和Hash二级分区

相比较kylin, druid而言, Kylin 主要满足离线固化多维分析的需求,Druid 主要满足实时多维分析的需求。

对比其他的ROLAP系统,

  • SQL on Hadoop 系统:无法支持更新,性能也较差。

  • TiDB: TiDB 虽然当初号称可以支撑 100%的 TP 和 80%的 AP,但是架构设计主要是面向 TP 场景,缺少针对 AP 场景专门的优化,所以 OLAP 查询性能较差,TiDB 团队目前正在研发专门的 OLAP 产品:TiFlash,TiFlash 具有以下特点:列存,向量化执行,MPP,而这些特点 Doris 也都有。

  • SnappyData:SnappyData 是基于 Spark + GemFire 实现的内存数据库,机器成本较高,而我们机器资源很有限,此外 SnappyData 的计算是基于 JVM 的,会有 GC 问题,影响查询稳定性。

  • ClickHouse:Clickhouse 是一款单机性能十分彪悍的 OLAP 系统,但是当集群加减节点后,系统不能自动感知集群拓扑变化,也不能自动 balance 数据,导致运维成本很高,此外 Clickhouse 也不支持标准 SQL,我们用户接入的成本也很高。

为什么选择doris

Doris 的优点是功能强大,易用性好。 功能强大指可以满足我们用户的需求,易用性好主要指 兼容 Mysql 协议和语法,以及 Online Schema Change。

对平台侧来说,Doris 的优点是易运维,易扩展和高可用:

  • 易运维指 Doris 无外部系统依赖,部署和配置都很简单。

  • 易扩展指 Doris 可以一键加减节点,并自动均衡数据。

  • 高可用值 Dors 的 FE 和 BE 都可以容忍少数节点挂掉。

谁在用doris

olap引擎的三大类型:

名称

描述

细节数据存储位置

聚合后的数据存储位置

例子

ROLAP(Relational OLAP)

基于关系数据库的OLAP实现

关系型数据库

关系型数据库

ROLAP可选Presto、impala等,ClickHouse则是ROLAP的佼佼者。

MOLAP(Multidimensional OLAP)

基于多维数据组织的OLAP实现

数据立方体

数据立方体

Kylin、Druid

HOLAP(Hybrid OLAP)

基于混合数据组织的OLAP实现

关系型数据库

数据立方体

大数据篇:一文读懂@数据仓库

OLAP(总):Impala/Druid/Presto/Kylin/Clickhouse/Greenplum等对比

常见的doris数仓流程

doris的架构

doris架构简介

Doris (HOLAP),实时数据仓库的王者。_CesarChoy的博客-CSDN博客_doris 缺点

Doris是基于MPP架构的OLAP引擎,主要整合了Google Mesa(数据模型)、Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩)的技术。

FE:Doris的前端节点,以java语言为主,主要负责接受和返回客户端请求,元数据以及集群管理,查询计划生成等工作

BE:Doris的后端节点,以C++语言为主,主要负责数据存储与管理、查询计划执行等工作

新架构优点

•数据导入方式简单,我们针对不同业务场景使用了三种导入方式

1.Routin load : 异构实时异步数据导入(这种主要使用在一些临时的数据接入)

2.Stream Load :业务数据实时异步数据接入(我们封装了业务数据零代码入仓,后面我会介绍)

3.Insert into :定时通过 DWD 层数仓表生成 DWS/ADS 层数仓表

•数据链路缩短,数据实时性更高

•数仓使用成本降低

  1. Doris 支持 MySQL 协议,数据分析师可以直接进行自助取数。

  2. Doris 不依赖 Hadoop 生态圈组件,降低了架构的复杂度,大大降低运维成本

  3. Doris 同时支持离线批量和实时数据,一个框架搞定一切

二、doris原理和使用

doris的数据模型

数据模型、ROLLUP 及前缀索引 - Apache Doris

doris的底层数据组织方式

分区与分桶​

Doris 支持两层的数据划分。第一层是 Partition,支持 Range 和 List 的划分方式。第二层是 Bucket(Tablet),仅支持 Hash 的划分方式。

动态分区

创建doris表的时候支持动态分区,比如按照时间的HOUR、DAY、WEEK、    

MONTH    的时间方式创建动态分区表

动态分区 - Apache Doris

数据导入

导入总览 - Apache Doris

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[LeetCode 1775]通过最少操作数使数组的和相等

题目描述 题目链接:[LeetCode 1775]通过最少操作数使数组的和相等 给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。 每次操作中,你可以选择 任意 数组中的任意一个整数&a…

openEuler kubesphere kubekey 安装 ceph csi 及使用实例

按照官方文档,很轻松就可以进行安装, 安装过程中遇到一些疑问, 在安装后也得到清晰的理解 1. /root/ceph-csi-rbd.yaml 这里面的clusterId 按理说应该是ceph的clusterId, 不过官方文档并没有首重强调修改,暂时保持默认 下面6789端口就是我们在物理机上安装的ceph mon的主机i…

PCB设计指南:安规、布局布线、EMC、热设计、工艺

文章目录Part 1 安规距离要求部分一、爬电距离和电气间隙距离要求:Part 2 抗干扰、EMC部分一、长线路抗干扰二、小信号走线尽量远离大电流走线,忌平行,D>2.0mm。三、小信号线处理:电路板布线尽量集中,减少布板面积提…

广州蓝景分享—实用的CSS技巧,助你成为更好的开发者

Hello~~各位小伙伴,相信在前端开发项目中,CSS实现如修改输入占位符样式,多行文本溢出,隐藏滚动条,修改光标颜色,水平和垂直居中等等,这些都是我们非常熟悉的开发场景!前端开发者几乎…

HashMap部分源码解析

作者:~小明学编程 文章专栏:Java数据结构 格言:目之所及皆为回忆,心之所想皆为过往 目录 前言 常量字段 构造方法 put方法 确定初始容量 为何我们的数组的大小要是2的n次幂 hash为何要异或其高位 扩容机制 前言 我们在前…

极客时间Kafka - 04 Kafka生产者和消费者拦截器

文章目录1. 什么是拦截器?2. Kafka 拦截器3. 典型使用场景4. 案例分享1. 什么是拦截器? 如果你用过 Spring Interceptor 或是 Apache Flume,那么应该不会对拦截器这个概念感到陌生,其基本思想就是允许应用程序在不修改逻辑的情况…

无人机边缘计算中的计算卸载——Stackelberg博弈方法论文复现附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

不会还有人不会热修复吧?

Class流派原理 基本原理:加载类的时候是找element,每个element对于一个dex。我要把我修复的那个类单独放到dex插入dexlist前面,在你做类加载从前往后找优先从你的dex加载加载的就是你修复后的class.这就是 实现代码 通过context拿到pathClassLoader&am…

Qt跨平台截图工具

Qt跨平台截图工具 文章目录Qt跨平台截图工具1、概述2、实现效果3、软件构成4、关键代码5、源代码更多精彩内容👉个人内容分类汇总 👈👉Qt自定义模块、工具👈 1、概述 Qt版本:V5.12.5兼容系统: Windows&…

2022,记录与华为的这场会议

一、数据治理团体标准发布会 11月26日,中国计算机用户协会信息科技审计分会联合华为与擎创科技共同举办了“金融行业运维数据治理团体标准应用研讨暨2022年度调研报告线上发布会”。来自国家开发银行、中国建设银行、中国邮政储蓄银行、招商银行、兴业银行、中信银行…

【LeetCode_字符串_逻辑分析】9. 回文数

目录考察点第一次:2022年12月7日10:16:33解题思路代码展示题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左…

340页11万字智慧政务大数据资源平台大数据底座数据治理建设方案

目 录 第一章 项目概况 1.1 项目名称 1.2 项目单位 1.3 项目建设依据 1.4 项目建设内容和目标 1.4.1 建设内容 1.4.2 建设目标 1.5 项目投资估算及建设周期 1.5.1 项目投资估算 1.5.2 服务周期 第二章 现状 2.1 项目单位概况 2.1.1 单位职责、内设及下属机构、人员…

【配准图像】

MU-Net: A MULTISCALE UNSUPERVISED NETWORK FOR REMOTE SENSING IMAGE REGISTRATION (MU-Net:一种多尺度无监督遥感图像配准网络) 多传感器或多模态图像对的配准是许多遥感应用的基础性任务。为了实现高精度、低成本的遥感图像配准&#x…

彻底搞懂JS原型与原型链

说到JavaScript的原型和原型链,相关文章已有不少,但是大都晦涩难懂。本文将换一个角度出发,先理解原型和原型链是什么,有什么作用,再去分析那些令人头疼的关系。 一、引用类型皆为对象 原型和原型链都是来源于对象而…

浅谈Linux内核编程规范与代码风格

1 缩进 Tab的宽度是八个字符,因此缩进的宽度也是八个字符。有些异教徒想让缩进变成四个字符,甚至是两个字符的宽度,这些人和那些把 PI 定义为 3 的人是一个路子的。 注意:缩进的全部意义在于清晰地定义语句块的开始与结束&#…

《MongoDB》Mongo Shell中的基本操作-删除操作一览

前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 来个关注吧,点个赞…

分布式事务,单JVM进程与多数据库,分布式事务技术选型,0-1过程,代码全。

由于很多小白程序员在单一JVM进程配合多数据库的架构环境中,总是考虑一主多从的mysql集群环境。还不知道mysql集群数据库按照表纵向分割以后,也是可以走数据库使用事务的。那么这里使用到的就是分布式事务,XA协议。现在大部分主流的数据库都支持XA协议。这里不用太多废话,直…

【Web智能聊天客服】之JavaScript、jQuery、AJAX讲解及实例(超详细必看 附源码)

觉得有帮助请点赞关注收藏~~~ 一、JavaScript基础 Javascript是网页编程语言&#xff0c;决定网页元素的动作。HTML页面中通过<script></script>指定Javascript内容&#xff0c;通过//或者 /* */执行代码的备注功能&#xff0c;并且区分大小写。 1&#xff1a;变…

《视觉SLAM十四讲》示例程序编译报错处理(上)

高翔博士《视觉SLAM十四讲》这本书中的代码很不错&#xff0c;适合初学者。可惜有一些可能因为版本的问题会报错&#xff0c;本文总结一下我遇到的问题。 在slambook2/3rdparty文件夹git submodule update&#xff0c;这个版本是和书中的版本一致的。但我已经重新安装了新版Ei…

Webpack中的高级特性

自从webpack4以后&#xff0c;官方帮我们集成了很多特性&#xff0c;比如在生产模式下代码压缩自动开启等&#xff0c;这篇文章我们一起来探讨一下webpack给我们提供的高级特性助力开发。 探索webpack的高级特性 特性&#xff1a;treeShaking 顾名思义treeShaking&#xff0…