Apache Doris 在数据仓库中的作用与应用实践

在当今数字化时代,企业数据呈爆炸式增长,数据仓库作为企业数据管理和分析的核心基础设施,其重要性不言而喻。而 Apache Doris,作为一款基于 MPP(Massively Parallel Processing,大规模并行处理)架构的高性能实时分析型数据库,在数据仓库领域正发挥着举足轻重的作用。

1.Doris 的基本概述

Apache Doris 最初源于百度广告报表业务的 Palo 项目,2017 年正式开源,2018 年 7 月由百度捐赠给 Apache 基金会进行孵化,并于 2022 年 6 月毕业成为 Apache 顶级项目。截至目前,其社区已汇聚来自不同行业数百家企业的 600 余位贡献者,每月活跃贡献者超 120 位,在全球超过 4000 家企业的生产环境中得以应用,覆盖互联网、金融、零售、电信、能源、制造、医疗等多个领域。

2.Doris 在数据仓库中的核心作用

2.1 极速查询,支撑高效决策

数据仓库的核心价值在于能够快速为企业决策提供数据支持。Doris 以其亚秒级的查询响应能力脱颖而出,在海量数据下也能迅速返回查询结果。这得益于其先进的技术架构:

列式存储:按列进行数据的编码压缩和读取,极大提高了数据压缩比,减少了不必要的数据扫描,有效降低了 I/O 负载,提升了查询性能。例如,对于一张包含用户多种属性及行为数据的宽表,使用列式存储,在查询特定用户属性(如年龄、性别)时,仅需读取相应列的数据,而非全表扫描。

向量化执行引擎:所有内存结构按列式布局,大幅减少虚函数调用,提升 Cache 命中率,充分利用 SIMD 指令,加速查询执行。以复杂的多表关联分析查询为例,向量化执行引擎可显著提升查询效率,使企业能在短时间内获取关键业务洞察。

MPP 架构:能够充分发挥集群中多台机器和多个核心的并行处理能力,将大规模查询任务分解并分发到多个节点同时处理,大大缩短了查询时间。在处理 PB 级数据量的分析任务时,MPP 架构优势尽显,可确保分析结果快速产出,助力企业及时做出决策。

2.2 实时数据处理,把握业务先机

在瞬息万变的商业环境中,实时数据处理能力对于企业把握市场动态、应对突发情况至关重要。Doris 支持实时数据摄入,无论是来自业务系统的交易数据,还是用户行为产生的实时日志数据,都能快速加载到数据仓库中进行分析。

例如,在电商领域,京东使用 Doris 处理广告报表业务,每日可摄入 100 亿行数据,查询并发 QPS 上万,99 分位的查询延时仅 150ms。通过实时分析用户的浏览、点击、购买等行为数据,电商企业能够实时调整营销策略,如实时推荐商品、优化广告投放策略等,从而提高用户转化率和销售额。

2.3 高并发支持,满足多样查询需求

企业数据仓库往往需要同时服务于多个部门、多种业务场景下的查询请求。Doris 设计上能够处理数千个并发用户和查询,无论是面向业务人员的高并发点查询,如实时查询某一客户的最新订单状态;还是面向分析师的高吞吐复杂分析查询,如跨多个维度对全量销售数据进行综合分析,Doris 都能轻松应对。这种高并发处理能力确保了不同用户在同一时间高效地获取所需数据,提升了企业整体的数据使用效率。

2.4 简化数据仓库架构,降低运维成本

传统数据仓库架构通常较为复杂,涉及多种技术组件和工具,增加了运维难度和成本。Doris 具有简洁的架构,仅包含 FE(Frontend) 和 BE(Backend) 两个主要进程:

FE(Frontend):负责用户请求的接入、查询解析与规划、元数据管理以及节点管理等工作,并将请求转发给对应的后端处理。同时,承担着 Doris 集群的负载均衡和故障转移功能,保障系统的高可用性。

BE(Backend):专注于数据存储和查询执行。

这种高度集成的架构设计极大地减少了分布式系统的运维复杂度,降低了企业在数据仓库运维方面的人力、物力投入。例如,在集群扩展时,只需简单添加 FE 和 BE 节点,Doris 便能自动完成节点的发现、数据的均衡等,无需复杂的人工干预。

2.5 丰富的数据模型,适配多元业务场景

不同业务场景对数据存储和处理的需求各异。Doris 支持多种数据模型,为企业提供了灵活的数据管理方式:

聚合模型(Aggregate Model):对于需要对大量数据进行预聚合处理的场景,如统计各类商品的销售总额、不同地区的用户访问量等,聚合模型能够将相同键值的数据进行合并,通过预聚合操作减少数据存储量,提升查询性能。

唯一模型(Unique Model):在一些对数据唯一性要求较高的场景,如用户信息表,确保每条记录的唯一性,对于相同键的数据进行覆盖更新,实现行级数据的精确管理。

明细模型(Duplicate Model):适用于需要完整保留原始数据的场景,如日志记录,不对数据进行聚合操作,原样存储,以便后续进行全量数据的深度分析。

2.6 数据湖联邦查询,打破数据孤岛

随着数据湖技术的兴起,企业往往同时拥有数据仓库和数据湖。Doris 支持对外部数据湖(如 Apache Hive、Apache Hudi、Apache Iceberg 等)中的外部表进行联邦查询。通过这种方式,企业无需将数据在数据湖和数据仓库之间来回复制,即可直接利用 Doris 强大的查询能力对数据湖中的数据进行分析,打破了数据孤岛,实现了数据的高效共享与统一分析,充分挖掘数据的潜在价值。

3.应用案例

3.1 小米基于 Doris 构建多维分析平台

当前 Apache Doris 在小米内部已经具有数十个集群、总体达到数百台 BE 节点的规模,其中单集群最大规模达到近百台节点,拥有数十个流式数据导入产品线,每日单表最大增量 120 亿、支持 PB 级别存储,单集群每天可以支持 2W 次以上的多维分析查询。

3.2 网易游戏湖仓一体架构下的高效数据实践

网易游戏通过引入 Apache Doris,成功构建了全新的湖仓一体架构,有效应对了数据规模爆炸式增长带来的挑战。每日新增数据达百 TB 级别的情况下,Doris 支撑起了从玩家基本行为到游戏内部复杂数据的分析任务。通过将数据实时写入 Doris,结合数据湖进行冷热数据分层存储,并利用 Doris 的 Hive Catalog 及 Iceberg Catalog 实现数据湖查询加速,新架构实现了存储与查询的统一,查询性能提升 10-20 倍。如今,十余集群稳定运行,为上百个项目提供日均数百万次查询服务,在游戏质量保障、性能监控等关键场景中发挥了重要作用 。

4.总结

Apache Doris 凭借其在查询性能、实时处理、高并发支持、架构简化、数据模型多样性以及数据湖联邦查询等方面的卓越表现,在数据仓库领域展现出了巨大的价值。它不仅能够帮助企业高效管理和分析海量数据,快速获取业务洞察,还能降低数据仓库的建设和运维成本,为企业数字化转型和业务创新提供坚实的数据基础。随着数据量的持续增长和企业对数据分析需求的不断提升,Apache Doris 有望在更多行业和场景中得到广泛应用,助力企业在激烈的市场竞争中脱颖而出。

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

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

相关文章

P1438 无聊的数列/P1253 扶苏的问题

因为这两天在写线性代数的作业,没怎么写题…… P1438 无聊的数列 题目背景 无聊的 YYB 总喜欢搞出一些正常人无法搞出的东西。有一天,无聊的 YYB 想出了一道无聊的题:无聊的数列。。。 题目描述 维护一个数列 ai​,支持两种操…

SpringBoot 自定义注解实现限流

SpringBoot 自定义注解实现限流 限流是为了防止服务器资源的过度消耗,通过一定的策略来控制访问频率,确保服务的高可用性和稳定性。其核心意义在于防止流量高峰时期接口过载,从而引起服务崩溃或响应延迟增加。本文将简述如何通过AOP和自定义…

Unity——QFramework框架 内置工具

QFramework 除了提供了一套架构之外,QFramework 还提供了可以脱离架构使用的工具 TypeEventSystem、EasyEvent、BindableProperty、IOCContainer。 这些工具并不是有意提供,而是 QFramework 的架构在设计之初是通过这几个工具组合使用而成的。 内置工具…

Vue3.5 企业级管理系统实战(二十二):动态菜单

在前几篇内容中已完成菜单、角色及菜单权限等相关开发,若要在左侧菜单根据用户角色动态展示菜单,需对 Sidebar 中的相关数据进行修改。鉴于其他相关方法及类型已在前文实现,本文不再重复阐述。 1 修改 Sidebar 组件 在 src/layout/componen…

014校园管理系统技术解析:构建智慧校园管理平台

校园管理系统技术解析:构建智慧校园管理平台 在教育信息化快速发展的当下,校园管理系统成为提升学校管理效率、优化校园服务的重要工具。该系统集成院校管理、投票管理等多个核心模块,面向管理员、用户和院内管理员三种角色,通过…

创新农业社会化服务 中和农信服务小农户的探索实践

在实现乡村振兴的道路上,如何让现代农业发展成果惠及广大小农户,是一个重要课题。作为国内领先的综合助农机构,中和农信多年来深耕农村市场,在服务小农户方面进行了诸多创新探索,走出了一条具有示范意义的农业社会化服…

6.3 day 35

知识点回顾: 三种不同的模型可视化方法:推荐torchinfo打印summary权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式 可视化 理解深度学习网络最重要的2点: 1.了解损失如何定…

【如何在IntelliJ IDEA中新建Spring Boot项目(基于JDK 21 + Maven)】

AA. 我的开发环境配置与核心工具链解析 一、开发环境全览 C:\Users\Again>java -version java version "21.0.1" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 21.0.112-LTS-29) Java HotSpot(TM) 64-Bit Server VM (build 21.0.112-LTS-29, mixed m…

【C++高级主题】多重继承下的类作用域

目录 一、类作用域与名字查找规则:理解二义性的根源 1.1 类作用域的基本概念 1.2 单继承的名字查找流程 1.3 多重继承的名字查找特殊性 1.4 关键规则:“最近” 作用域优先,但多重继承无 “最近” 二、多重继承二义性的典型类型与代码示…

登录vmware vcenter报vSphere Client service has stopped working错误

一、问题 登录vmware vcenter时发现报vSphere Client service has stopped working错误,导致vcenter控制台进不去 二、解决办法 打开vmware vcenter管理https://vcenterIP:5480,选择VMware vSphere Client,重启该服务后恢复正常。

MySQL关系型数据库学习

学习参考链接:https://www.runoob.com/mysql/mysql-tutorial.html Windows 安装MYSQL服务端的步骤:https://www.runoob.com/w3cnote/windows10-mysql-installer.html 1. 概念学习 MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不…

web攻防之SSTI 注入漏洞

知识简介 : 模版引擎和框架的区别 ssti的中文翻译 : 服务端的模版的注入 模版引擎 :前端的用于装饰优化html的模版 最简单的就是在腾讯会议中的聊天功能 框架 : 这个是一套独立存在的逻辑 如TP他是一个区别于php语法的后端逻辑…

【清晰教程】利用Git工具将本地项目push上传至GitHub仓库中

Git 是一个分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目版本管理。GitHub 是一个基于 Git 的代码托管平台,提供了额外的协作和社交功能,使项目管理更加高效。它们为项目代码管理、团队协作和持…

极简以太彩光网络解决方案4.0正式发布,“彩光”重构园区网络极简之道

5月28日下午,锐捷网络在京举办以“光,本该如此‘简单’”为主题的发布会,正式发布极简以太彩光网络解决方案4.0。作为“彩光”方案的全新进化版本,极简以太彩光4.0从用户需求出发,聚焦场景洞察,开启了一场从底层基因出发的极简革命,通过架构、部署、运维等多维度的创新升级,以强…

Selenium 中 JavaScript 点击的优势及使用场景

*在 Selenium 自动化测试中,使用 JavaScript 执行点击操作(如driver.execute_script("arguments[0].click();", element))相比直接调用element.click()有以下几个主要优势: 1. 绕过元素不可点击的限制 问题场景&#x…

CppCon 2014 学习:Cross platform GUID association with types

类型的 GUID(全局唯一标识符) 是在 COM 编程(Component Object Model) 和某些大型 C 架构(如 Office、DirectX、跨 DLL 接口)中关联类型信息和实现运行时类型识别与动态接口查询的重要机制。 下面我们分层解…

Android 11以上App主动连接WIFI的完整方案

早期Android版本App内连接指定的WIFI还是比较简单的,但是随着Android版本的提升,限制也越来越多。以下是一套完整的Android 11以上的WIFI应用内主动连接方案。 第一步:添加到建议连接: val wifiManager getSystemService(WIFI_…

让AI弹琴作曲不再是梦:Python+深度学习玩转自动化音乐创作

让AI弹琴作曲不再是梦:Python+深度学习玩转自动化音乐创作 一、AI也能谱出动人的旋律?真不是科幻! 还记得小时候学钢琴时老师的那句经典:“感觉不到情绪的乐句,是没灵魂的。” 当时我一边练琴一边想:要是有个机器能帮我写谱、调性又不跑调就好了! 结果几年后,真被我碰…

机器学习:集成学习概念、分类、随机森林

本文目录: 一、集成学习概念**核心思想:** 二、集成学习分类(一)Bagging集成(二)Boosting集成(三)两种集成方法对比 三、随机森林 一、集成学习概念 集成学习是一种通过结合多个基学习器&#…

YOLO机械臂丨使用unity搭建仿真环境,YOLO算法识别,Moveit2控制

文章目录 前言搭建开发环境在window中安装Unity创建Docker容器,并安装相关软件运行测试改进添加删除节点前的函数调用 报错❌框选节点的时候报错❌如果无法控制机械臂,查看rviz2的终端,应该会有❌规划路径超出范围 参考 前言 本项目介绍通过…