热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[说明]Doris使用培训

参考文献apachedoris在蜀海供应链数仓建设中的实践应用实践|数仓体系效率全面提升!同程数科基于ApacheDoris的数据仓库建设一、doris的背景介绍

参考文献


  • 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


推荐阅读
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • Explain如何助力SQL语句的优化及其分析方法
    本文介绍了Explain如何助力SQL语句的优化以及分析方法。Explain是一个数据库SQL语句的模拟器,通过对SQL语句的模拟返回一个性能分析表,从而帮助工程师了解程序运行缓慢的原因。文章还介绍了Explain运行方法以及如何分析Explain表格中各个字段的含义。MySQL 5.5开始支持Explain功能,但仅限于select语句,而MySQL 5.7逐渐支持对update、delete和insert语句的模拟和分析。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • Hive的数据表创建数据文件inner_table.dat创建表hive>createtableinner_table(keystri ... [详细]
author-avatar
天狼飞虎神印
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有