springAiDemo/data/doris_intro.md
kennethcheng 43891f876e feat: 添加 RAG 文档问答功能
- 新增 DocumentController 提供文档导入 API
- 新增 DocumentService 实现文档读取、分割、向量化存储
- 新增 RagConfig 配置 TokenTextSplitter
- 添加 doris_intro.md 作为示例 RAG 文档
- 启用 milvus-sdk-java 依赖
- 配置 SiliconFlow Embedding 服务 (BAAI/bge-large-zh-v1.5)
- 配置 Milvus 向量数据库连接
2026-04-19 14:18:42 +08:00

3.3 KiB
Raw Permalink Blame History

Apache Doris 简介

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。

核心特性

1. 极速易用

Apache Doris 采用了列式存储引擎通过向量化执行引擎和查询优化器能够在海量数据下实现亚秒级的查询响应。同时Doris 提供了标准 SQL 支持,用户无需学习新的查询语言,即可快速上手。

2. 高可用性

Doris 采用了多副本机制,数据自动备份,节点故障时可以自动切换,保证服务的高可用性。支持在线扩缩容,不影响业务运行。

3. 实时分析

Doris 支持实时数据导入和查询,数据导入后即可被查询,无需等待数据预处理。支持多种数据导入方式,包括 Stream Load、Broker Load、Routine Load 等。

4. 联邦查询

Doris 支持通过外部表的方式查询其他数据源,如 MySQL、Hive、Iceberg、Hudi 等,实现数据联邦查询,无需数据搬迁。

技术架构

Apache Doris 采用 MySQL 协议,高度兼容 MySQL 语法,支持标准 SQL。整体架构分为两层

Frontend (FE)

FE 主要负责:

  • 接收和解析用户请求
  • 查询规划和优化
  • 元数据管理
  • 集群管理

FE 节点分为 Follower 和 Observer 两种角色Follower 参与选举和写入Observer 只用于扩展查询能力。

Backend (BE)

BE 主要负责:

  • 数据存储
  • 查询执行
  • 数据导入

BE 节点负责数据的存储和计算,采用列式存储和向量化执行引擎,提供高性能的查询能力。

使用场景

1. 报表分析

适用于各类报表场景,支持复杂的多维分析,亚秒级响应,支持高并发查询。

2. 即席查询

支持灵活的即席查询,用户可以快速探索数据,发现业务洞察。

3. 实时数仓

构建实时数据仓库,支持实时数据导入和查询,满足实时分析需求。

4. 日志分析

适用于日志分析场景,支持海量日志数据的快速检索和分析。

数据导入

Apache Doris 支持多种数据导入方式:

Stream Load

通过 HTTP 协议导入数据,适用于实时数据导入场景。支持 CSV、JSON 等格式。

curl --location-trusted -u user:passwd \
    -H "column_separator:," \
    -T data.csv \
    http://fe_host:http_port/api/database/table/_stream_load

Broker Load

通过 Broker 进程访问外部存储系统(如 HDFS、S3导入数据适用于大批量数据导入。

Routine Load

从 Kafka 等消息队列持续消费数据并导入,适用于实时数据流场景。

查询优化

Apache Doris 提供了多种查询优化手段:

  1. 智能索引支持前缀索引、Bitmap 索引、Bloom Filter 索引等
  2. 分区分桶:通过合理的分区分桶策略,减少数据扫描量
  3. 物化视图:预计算常用查询结果,加速查询响应
  4. 查询缓存:缓存查询结果,避免重复计算

总结

Apache Doris 是一款高性能、易用的分析型数据库,适用于多种实时分析场景。通过 MPP 架构、列式存储、向量化执行等技术,提供亚秒级的查询响应能力。