Doris为什么国内大厂都会使用它

Apache Doris是一个高性能、实时的分析型数据库,源于百度并捐赠给Apache基金会。它支持SQL,兼容MySQL,适用于亿级数据检索。Doris具有简洁的架构,仅包含Frontend(FE)和Backend(BE)两个主进程,支持动态扩容和高可用。在OLAP对比中,Doris在运维成本、SQL兼容性和社区支持方面优于TIDB和ClickHouse。性能测试表明,Doris在大规模数据查询中表现出色。高可用测试验证了其在异常情况下的恢复能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Doris 介绍

官方地址:Apache Doris: Open-Source Real-Time Data Warehouse - Apache Doris

Apache Doris源于百度2008年启动的产品Palo在2018年捐献给Apache基金会,是一个基于 MPP 架构的高性能、实时的分析型数据库,他非常简单易用,而且性能还不错,仅需亚秒级响应时间即可获得查询结果,不仅支持高并发的查询场景,也可以支持高吞吐的复杂分析场景,比如你可以基于它做用户行为分析、日志检索平台、用户画像分析、订单分析等应用。

Doris的架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集

特性

这里特性很多,但是如果没接触过大数据的同学,可能不是特别了解,但是注意这个特性,支持SQL 语言,兼容MySQL,比如:通过Mybatis 写好 sql,就可以调用查询,而且他能支持亿级数据检索响应,以前还是想分库分表呢,现在有了它可以在考虑一下它了,看分库分表有必要吗,但是这里要注意下,它是一个 OLAP 引擎与 OLTP还是有点区别,如果业务场景,新增多后期更新少,同时查询场景多,那么可以在 mysql 中保存一段时间的热点数据,来进行相关业务操作,而报表查询都走Doris

这里可能有些人员不懂什么是 OLAP,下面是一个OLAP与OLTP对比图

架构

Doirs只有两个主进程模块。一个是 Frontend(FE),另一个是Backend(BE)

Frontend(FE)

主要负责用户请求的接入、查询计划的解析、元数据的存储和集群管理相关工作, Doris采用Paxos协议以及Memory + Checkpoint + Journal的机制来确保元数据的高性能及高可靠。

Leader、follower和 observer它们三个构成一个可靠的服务,保证单节点宕机的情况下,元数据能够实时地在线恢复,而不影响整个服务,与zookeeper角色一样。

Backend(BE)

BE主要负责数据存储、查询计划的执行。

  • BE管理tablet副本, tablet是table经过分区分桶形成的子表, 采用列式存储。

  • BE受FE指导, 创建或删除子表。

  • BE接收FE分发的物理执行计划与其他BE共同协作完成执行。

  • BE读本地的列存储引擎, 获取数据, 通过索引和谓词下沉快速过滤数据。

  • BE后台执行compact任务, 减少查询时的读放大。

以上FE和 BE支持动态弹性扩容,而且在扩容过程中对应用无影响,同时Doris 不依赖zkhdfs等,所以架构很简单,这种架构设计极大的简化了运维成本,其实一个好的产品就应该这样,把复杂留给自己,把简单留给用户

03-12
<think>好的,我现在需要处理用户关于Apache Doris的查询。首先,用户提供了两个引用链接,我需要仔细查看这些资料,确保回答准确。用户希望了解Apache Doris的数据库介绍和使用场景,所以得从这两个方面入手。 先看引用[1],里面提到Apache Doris的前身是百度Doris团队开发的,后来部分成员离职创业,基于之前的版本做了DorisDB,也就是StarRocks的前身。这可能涉及Doris的起源和发展历程,需要在介绍部分提到。同时,引用中还提到了Doris使用场景,比如实时数据分析、多维度查询等,这些是用户关心的重点,需要详细说明。 引用[2]是关于单机部署流程的,里面提到了下载二进制安装包、传输到Linux系统,以及具体的wget命令。这部分内容可能需要放在使用部分,比如部署步骤,但用户的问题主要是介绍和使用场景,所以可能需要简要提及部署方法,或者作为使用的一部分。 接下来,我需要组织回答结构。根据用户的要求,回答需要结构清晰,分点说明。先介绍Apache Doris的基本情况,包括定义、特点和适用场景。然后说明其使用场景,具体举几个例子,比如实时数据分析、日志分析、数据仓库等,每个场景可以简要说明Doris的优势所在。最后,可能需要提到如何部署或使用,但根据用户的问题,可能不需要太详细的步骤,而是概括性的描述,比如支持标准SQL、高并发查询等。 需要注意的是,用户要求使用中文回答,并且行内数学公式用$...$,独立公式用$$...$$。不过当前问题涉及数据库技术,可能数学公式较少,但如果有性能指标或算法,可能需要用LaTeX表达。例如,如果提到查询延迟在毫秒级,可以写成$<100ms$。不过目前资料中没有涉及太多数学内容,可能需要根据情况处理。 另外,用户要求生成相关问题,需要根据回答内容提出几个相关问题,比如技术架构、性能优化、应用案例等。需要确保问题与Doris相关,并且能够引导用户进一步探索。 检查是否有遗漏的信息。引用[1]中提到Doris适用于实时分析、多维度查询和高并发场景,这些都需要在回答中体现。引用[2]中的部署步骤可能作为使用部分的一个小点,但用户可能更关注应用场景而非具体安装步骤,所以可能简要提及部署简便即可。 最后,确保回答符合格式要求,没有使用markdown,分点清晰,正确引用来源。引用标识要放在相关句子的末尾,例如在介绍使用场景时引用[^1],在部署方法时引用[^2]。 总结回答结构: 1. Apache Doris简介:定义、起源、特点。 2. 核心特点:列式存储、MPP架构、易用性、高性能。 3. 使用场景:实时分析、日志分析、数据仓库、即席查询。 4. 使用方式:部署、数据导入、查询。 5. 相关问题。 现在需要将这些内容用中文流畅表达,并自然插入引用标识。确保技术术语准确,比如MPP架构、OLAP等。同时,避免使用复杂术语时适当解释,比如说明列式存储的优势,提高查询效率。</think>### Apache Doris 数据库介绍 Apache Doris 是一款高性能、实时的分析型数据库,适用于在线分析处理(OLAP)场景。其前身是百度 Doris 团队开发的分布式数据库系统,后成为 Apache 顶级项目。Doris 采用**列式存储**和**MPP(大规模并行处理)架构**,支持高并发查询、实时数据更新和多维分析,具备低延迟(毫秒级响应)和高吞吐量的特点[^1]。 #### 核心特点 1. **列式存储与压缩**:数据按列存储,减少 I/O 开销,并通过压缩算法降低存储成本。 2. **分布式 MPP 架构**:支持水平扩展,节点间并行计算,适用于 PB 级数据分析。 3. **易用性**:兼容 MySQL 协议,支持标准 SQL,提供与 BI 工具无缝集成。 4. **实时性**:支持数据实时写入与查询,适用于流批一体场景。 ### 使用场景 1. **实时数据分析** - 例如:电商实时订单分析、广告点击率统计,支持在数据写入后 $<1s$ 内查询[^1]。 2. **日志分析** - 快速分析海量日志数据,如用户行为日志、系统监控日志。 3. **数据仓库加速** - 作为查询加速层,提升传统数据仓库(如 Hive)的响应速度。 4. **即席查询(Ad-hoc)** - 支持复杂多维度查询,满足业务灵活分析需求。 ### 如何使用 1. **部署** - 通过二进制安装包快速部署单机或集群环境,支持 Linux 系统(参考命令): ```bash wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.1.7-bin-x64.tar.gz ``` [^2] 2. **数据导入** - 支持 Kafka、MySQL、HDFS 等多种数据源,通过 Broker Load 或 Stream Load 实现实时/批量导入。 3. **查询** - 使用标准 SQL 或 BI 工具(如 Tableau)直接连接 Doris 进行数据分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

softshow1026

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值