Apache Doris

Apache Doris介绍

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

特点: 列示存储、mmp(大规模并行处理)、支持实时数据分析、高度兼容mysql协议、高并发和高通图的Ad-hoc查询、支出聚合+明细数据查询、无外部系统依赖。

底层架构:

Doris =

Google mesa(满足一系列复杂且具有挑战性的用户和系统需求,本身不提供SQL查询引擎)

+

Apache Lmpala(MPP SQL查询引擎,做更多的查询优化,但缺少较完美的分布式存储引擎)

+

Apache ORCFile(只访问查询涉及的列,大量降低系统I/O,有利于查询的并发处理)

软硬件需求

Linux操作系统版本需求

CentOS

7.1及以上

Ubuntu

16.04及以上

软件需求

Java

1.8

GCC

4.8.2及以上

开发测试环境

模版

CPU

内存

磁盘

网络

实例数量

Frontend

8核+

8GB+

SSD或SATA,10GB+

千兆网卡

1

Backend

8核+

16GB+

SSD或SATA,50GB+

千兆网卡

1-3*

生产环境

模版

CPU

内存

磁盘

网络

实例数量

Frontend

16核+

64GB+

SSD或RAID卡,100GB+

万兆网卡

1-3*

Backend

16核+

64GB+

SSD或SATA,100GB+

万兆网卡

3*

适用场景

  • 报表分析

实时看板;面相企业内部分析师和管理者的报表;面向用户或者客户的高并发报表分析。

  • 即席查询

面向分析师的自助分析,查询模式不固定,要求较高的吞吐。

  • 统一数仓构建

一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。

  • 数据湖联邦查询

通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

部署

用初始化脚本安装mysql数据库

curl-o online_index.sh https://sc-tools.uniscity.com/linux/script/online_index.sh

bash online_index.sh

安装包下载

#初始化目录
cd /opt 
mkdir doris1.2.4#查看系统CPU型号
uname -a#下载与系统cpu型号一致的包
wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz#解压
xz -d apache-doris-2.0.0-bin-x64.tar.gz
tar -xvf apache-doris-2.0.0-bin-x64.tar.gz

时钟设置

#同步时间,需要使⽤ ntpdate 命令,如果没有可以使⽤yum安装
yum install ntpdate#使⽤ntpdate同步⽹络上的时间服务器的时间,例如 : time.windows.com、 ntp.aliyun.com
ntpdate -u ntp.aliyun.com#可以将时间同步做成⼀个定时任务,每隔⼀段时间就同步⼀下⽹络的时间
crontab -e
* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com   #输入然后wq保存退出#查看crontab运行情况
crontab -l
tail -n 5 /var/log/cron

打开文件limits.conf

sudo vim /etc/security/limits.conf

在文件的末尾处添加或者修改

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

打开文件sysctl.conf

sudo vim /etc/sysctl.conf
# 添加
fs.file-max = 6553560
vm.max_map_count=2000000

FE配置

vim fe/conf/fe.conf#只需要修改priority_networks
priority_networks = 10.0.53.161/24

BE配置

vim be/conf/be.conf #需要修改JAVA_HOME和priority_networks即可
JAVA_HOME=/usr/local/java/jdk1.8.0_361/
priority_networks = 10.0.53.161/24

初始化

#启动fe
sh fe/bin/start_fe.sh --daemon#启动be
sh be/bin/start_be.sh --daemon#添加be到集群
alter system add backend "192.168.31.81:9050";#查看be状态
show PROC '/backends';
#查看fe状态
show frontends\G;

FE Web 登录页面

访问地址: http://localhost:8030/login
初始用户: root
密码:无

Doris的数据模型

Doris的数据模型主要分为3类:

  • Aggregate
  • Unique
  • Duplicate
Aggregate模型

适用于有固定模式的报表类查询场景。

表中的列按照是否设置AggregationType分为key(维度列)和Value(指标列)。没有设置AggregationType的称为Key,设置了AggregationType的称为Value。

导入数据时,Key列完全相同的行会聚合成一行,其Value列按照设置的AggregationType进行聚合。

AggregationType目前有以下方式:

  1. SUM:求和,多行的Value累加。
  2. REPLACE:替代,下一批数据的Value会替换之前导入的行中的Value。
  3. MAx:保留最大值。
  4. MIN:保留最小值。

在建表语句后添加以下语句声明Key列:

AGGREGATE KEY();
Unique模型

适用于需要保证主键唯一性的多维分析场景。

读时合并

Unique的读时合并可以用聚合模型中的REPLACE方式替代。

写时合并

Unique的写时合并不同于聚合模式的读时合并,其通过在写入时做额外的工作,实现了最优的查询性能。

在建表语句后添加以下语句声明唯一主键和写时合并:

UNIQUE KEY()
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"enable_unique_key_merge_on_write" = "true"
);
Duplicate模型

适用于任意维度的Ad-hoc查询,不受聚合模型的约束。

区别于上述2种模型,Duplicate模型的数据完全按照导入文件中的数据进行存储,不进行任何聚合。

在建表语句后添加以下语句声明排序依赖的键值:

DUPLICATE KEY();

当创建表的时候没有指定Unique、Aggregate或Duplicate时,会默认创建一个Duplicate模型的表,并自动指定排序列。

如果不需要排序时可以在表属性配置中添加如下语句:

PROPERTIES (
"enable_duplicate_without_keys_by_default" = "true"
);

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go:前后端分离

1.前端代码 新建一个前端文件夹,在该文件夹下新建一个.html文件,写入自己的html代码。 前端搞定。 2.后端代码 其核心是挂载路由接受前端传来的数据核心代码如下: func main() { // 服务运行提示 fmt.Println("go web server is runn…

CUDA 学习(2)——CUDA 介绍

GeForce 256 是英伟达 1999 年开发的第一个 GPU,最初用作显示器上渲染高端图形,只用于像素计算。 在早期,OpenGL 和 DirectX 等图形 API 是与 GPU 唯一的交互方式。后来,人们意识到 GPU 除了用于渲染图形图像外,还可以…

C语言【文件操作】详解中

引言 介绍和文件操作中文件的顺序读写相关的函数 看这篇博文前,希望您先仔细看一下这篇博文,理解一下文件指针和流的概念:C语言【文件操作】详解上-CSDN博客文章浏览阅读606次,点赞26次,收藏4次。先整体认识一下文件是…

损失函数理解(二)——交叉熵损失

损失函数的目的是为了定量描述不同模型(例如神经网络模型和人脑模型)的差异。 交叉熵,顾名思义,与熵有关,先把模型换成熵这么一个数值,然后用这个数值比较不同模型之间的差异。 为什么要做这一步转换&…

学习笔记--基于Sa-Token 实现Java项目单点登录+同端互斥检测

目录 同端互斥登录 单点登录SSO 架构选型 模式二: URL重定向传播 前后端分离 整体流程 准备工作 搭建客户端 搭建认证中心SSO Server 环境配置 开放认证接口 启动类 跨域处理 同端互斥登录 同端互斥登陆 模块 同端互斥登录指:同一类型设备上只允许单地…

蓝桥杯 小球反弹

问题描述 有一个长方形,长为 343720 单位长度,宽为 233333 单位长度。 在其内部左上角顶点有一小球(无视其体积),其初速度方向如图所示,且保持运动速率不变。分解到长宽两个方向上的速率之比为&#xff1…

PyCharm中使用pip安装PyTorch(从0开始仅需两步)

无需 anaconda,只使用 pip 也可以在 PyCharm 集成环境中配置深度学习 PyTorch。 本文全部信息及示范来自 PyTorch 官网。 以防你是super小白: PyCharm 中的命令是在 Python Console 中运行,界面左下角竖排图标第一个。 1. 安装前置包 numpy …

在刀刃上发力:如何精准把握计划关键节点

关键路径分析是项目管理中的一种重要方法,它通过在甘特图中识别出项目中最长、最关键的路径,来确定项目的最短完成时间。 关键路径上的任务都是项目成功的关键因素,任何延误都可能导致整个项目的延期。关键路径分析对于项目管理者来说至关重要…

Burp Suite 代理配置全流程指南

目录 一、基础环境准备 1.1 安装与启动 1.2 环境变量配置 二、核心代理配置 2.1 Burp 代理监听设置 2.2 浏览器代理配置 Firefox Chrome/Edge 代理插件推荐 三、HTTPS 流量拦截 3.1 证书安装流程 3.2 移动端配置 四、高级功能应用 4.1 流量操作 4.2 HTTP 历史记…

【数据分享】我国乡镇(街道)行政区划数据(免费获取/Shp格式)

行政区划边界矢量数据是我们在各项研究中最常用的数据。之前我们分享过2024年我国省市县行政区划矢量数据(可查看之前的文章获悉详情),很多小伙伴拿到数据后咨询有没有精细到乡镇(街道)的行政区划矢量数据!…

考研复习之队列

循环队列 队列为满的条件 队列为满的条件需要特殊处理,因为当队列满时,队尾指针的下一个位置应该是队头指针。但是,我们不能直接比较 rear 1 和 front 是否相等,因为 rear 1 可能会超出数组索引的范围。因此,我们需…

如果我没安装office,只安装了wps,python 如何通过win32com.client.Dispatch操作ppt?

文章目录 win32com.client.Dispatch是干嘛的?什么是Windows COM组件COM和dll有关系吗?python 如何通过win32com.client.Dispatch操作ppt?如果我没安装office,只安装了wps,python 如何通过win32com.client.Dispatch操作ppt?附录:完整报错信息win32com.client.Dispatch是干…

介绍一个测试boostrap表格插件的好网站!

最近在开发一个物业管理系统。用到bootstrap的表格插件bootstrap table,官方地址: https://bootstrap-table.com/ 因为是英文界面,对国人不是很友好。后来发现了小书童网站 IT小书童 - 为程序员提供优质教程和文档 网站: IT小…

七、服务器远程桌面报错

🌻🌻目录🌻🌻 一、远程桌面报错-用户账户限制(例如,时间限制)会阻止你登录。 一、远程桌面报错-用户账户限制(例如,时间限制)会阻止你登录。 原因是被远程的系…

不做颠覆者,甘为连接器,在技术叠层中培育智能新物种

--- 一、技术融合的必然:从“非此即彼”到“兼容共生” 当大模型的热浪撞上传统IT的礁石,企业智能化的真相浮出水面: 新旧技术的“量子纠缠”:MySQL与向量数据库共享数据总线,规则引擎与大模型共处决策链路 需求进…

# [RPA] 使用八爪鱼进行高效网页数据采集

在许多行业中,数据是核心资产。然而,虽然许多网站的文本内容可以免费访问,但手动一条一条采集,不仅耗时耗力,还容易出错。这种情况下,使用自动化工具来提高采集效率就显得尤为重要。本文将介绍 八爪鱼 这一…

Blazor+PWA技术打造全平台音乐播放器-从音频缓存到离线播放的实践之路

基于PWA技术打造全平台音乐播放器:从音频缓存到离线播放的实践之路 这篇文章是自己的想法结合AI之后润色的。在数字音乐领域,用户期望随时随地享受音乐,无论是手机还是电脑,无论是在线还是离线。**渐进式Web应用(PWA&…

众乐影音-安卓NAS-Player的安装和设置说明

众乐影音是耘想公司基于原有的安卓NAS,增加影音和图片播放功能后,推出的一款新概念NAS-Player。它不仅可以接收手机端推送的视频,音频和图片文件进行播放,还可以把任何一台安卓设备,比如手机、机顶盒、各种安卓盒子等&…

Linux shell脚本-概述、语法定义、自定义变量、环境变量、预设变量、变量的特殊用法(转义字符、单双引号、大小括号)的验证

目录 1.shell概述 1.1作为应用程序: 1.2 shell 作为一门语言 2.shell 语法 2.1 shell脚本的定义与执行 (1)新建文件 (2)程序开头第一行 必须写shell的类型 (3)程序编写完后&#xff0c…

redis集群的原理是什么?

大家好,我是锋哥。今天分享关于【redis集群的原理是什么?】面试题。希望对大家有帮助; redis集群的原理是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 集群(Redis Cluster)是一种分布式解决方案&…