SelectDB 技术分享

23 篇内容

工程实践SelectDB 技术分享

存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用 Apache Doris 4.2 引入 Peer Read 机制,实现存算分离架构下跨计算组缓存复用,...

文章讨论 Apache Doris 存算分离架构下各计算组本地 File Cache 不共享,导致冷查询延迟高、扩缩容后抖动和重复回源的问题,并介绍 4.2 的 Peer Read 机制。该机制在本地未命中时优先从同组或其他计算组读取缺失缓存块,通过 20 毫秒优先竞速、失败回源、写入组代为回源和本地回填,平衡延迟与对象存储开销。TPC-H 1TB 冷读总耗时从 323.3 秒降至 158.6 秒,减少约 51%;真实一写多读主键点查平均耗时从 4.45 秒降至 0.59 秒,提升约 7.5 倍。文中也说明其边界:4.2 中默认关闭且为实验特性,仅支持存算分离内表,会占用对端资源,跨可用区有流量成本,且不能替代本地缓存,仍比热读慢一个数量级。

推荐收录。文章不仅解释 Peer Read 的候选节点发现、缺失块传输、竞速与回源策略,还用 TPC-H 1TB 和真实主键点查数据验证收益与开销,属于可复用的缓存共享工程案例。适合 OLAP 数据库、存算分离和缓存系统工程师参考;启用前需评估跨计算组资源争用、跨可用区流量成本及其实验特性边界。

工程实践SelectDB 技术分享

Apache Doris + Vane:让多模态数据进入业务分析 通过 Vane 将客服录音、图片等非结构化数据加工为文本与向量,并整合进 Doris 数据库,与订单、工单及生产批次...

文章介绍 Apache Doris 与 Vane 组合,将客服录音等非结构化内容加工为文本、候选分类和向量,并与订单、工单、生产批次关联。Vane 以 SQL、Python UDF 和 AI Function 组织转写、分类、向量化及 Stream Load;Doris 则用倒排索引和 ANN 索引支持业务过滤、相似检索、关联追溯与批次汇总。文中给出建表、录音加工到检索分析的完整 SQL/代码示例,并列举制造企业在工艺异常和售后质量分析中的场景。其价值是把语义检索纳入既有 SQL 分析链路,但示例依赖演示数据和一对一业务关系假设,AI 分类需人工复核,也缺少性能与成本评估。

推荐收录为工程案例:文章不仅展示 Doris 与 Vane 的产品组合,还给出建表、索引、UDF、Prompt、向量化和 Stream Load 的可复现代码,并把相似检索与订单/批次追溯串成完整链路。适合数据平台、AI 工程化和售后质量分析读者参考。需注意其演示数据、业务关系假设和人工复核边界,不能直接视为生产性能结论。

技术文章SelectDB 技术分享

Apache Doris + Vane:让多模态数据进入业务分析 通过 Vane 将客服录音、图片等非结构化数据加工为文本与向量,并整合进 Doris 数据库,与订单、工单及生产批次...

文章介绍 Apache Doris 与 Vane 组合,将客服录音、图片等非结构化内容经 Vane 转写、分类和向量化后写入 Doris,并与订单、工单、生产批次关联。文中给出建表与倒排/ANN 索引、语音识别 UDF、LLM 分类与 embedding、Stream Load 写入、向量检索和批次统计的完整 SQL/代码链路。核心是把语义检索与业务分析放在同一数据体系:先用型号、时间等条件缩小范围,再做相似检索、业务追溯和批次汇总,并保留原始文件位置用于核查。该方案适合售后质量分析与工艺异常检索,但作为厂商教程,缺少大规模性能、成本和人工复核效果的量化验证。

推荐收录:文章不是泛泛介绍产品,而是给出了从多模态加工、索引设计到 Doris 查询与批次统计的可复现代码链路,对数据平台、搜索和售后质量分析团队有直接迁移价值。需要注意的是它属于厂商教程,缺少生产规模下的性能、成本、数据噪声和人工复核闭环验证,读者应结合自身场景评估。

工程实践SelectDB 技术分享

Apache Doris × Lance 性能提升 6 倍秘籍:延迟物化 本文介绍了 Apache Doris 与 Lance 结合实现的关键优化——延迟物化(Lazy Materialization,两阶段读取)...

文章介绍 Apache Doris 与 Lance 结合中的延迟物化(两阶段读取)优化:先用距离、分数及必要过滤列完成候选筛选和全局 TopN,再依据固定快照与 Lance 原生行 ID 批量回读仅用于输出的宽列。文中拆解了优化器如何判断列依赖、裁剪投影并保留隐藏行定位信息,以及分布式执行中如何按 BE 分组、去重、回读并恢复结果顺序。作者用 1.04 亿行、三组向量检索查询做开关对照,首次执行加速约 4.74~6.29 倍,重复执行最小耗时加速约 6.49~6.64 倍。文章也明确收益模型只覆盖可延迟输出列的逻辑数据量,实际收益受候选数、列宽、读放大、缓存、回读 RPC 和 ANN 计算等影响,适合宽列输出且 Top-K 远小于候选数的检索场景。

推荐收录。文章不仅给出“6 倍”结果,还完整展示了延迟物化在查询优化器、分布式执行和存储回读三层中的实现路径,并附有可复现的实验配置与收益边界。对数据库/OLAP 查询优化、向量检索系统和湖仓性能工程读者有较高迁移价值;但需注意数据来自厂商内部测试,实际部署应结合自身数据分布和瓶颈复核。

工程实践SelectDB 技术分享

Apache Doris × Lance 性能提升 6 倍秘籍:延迟物化 本文介绍了 Apache Doris 与 Lance 结合实现的关键优化——延迟物化(Lazy Materialization,两阶段读取)...

文章解析 Apache Doris 与 Lance 的延迟物化(两阶段读取)优化:先只读检索、过滤和排序所需列,TopN 后按行定位批量补齐宽输出列。内容覆盖优化器列依赖判断、投影裁剪、隐藏行定位,以及分布式执行中的固定快照、分组回读、去重和顺序恢复。1.04 亿行实测中,三组向量检索查询首次加速 4.74~6.29 倍,重复执行最小耗时加速 6.49~6.64 倍。收益来自减少落选候选的宽列读取、解码和传输;但逻辑数据量不等同真实下载量,输出列窄或瓶颈在 ANN/精排时收益有限。

推荐收录。文章不仅给出约 6 倍加速结论,还拆解了优化器列依赖判断、隐藏行定位、固定快照回读和分布式结果重组等关键实现,并说明适用与不适用场景。对做 OLAP、向量检索或查询引擎优化的读者,两阶段读取思路和性能验证方法可直接迁移;需注意数据来自厂商内部环境,具体倍数不宜外推。

技术文章SelectDB 技术分享

从实时入库到实时可用:Apache Doris 5.0 增量计算场景与实践 数据的实时写入只是第一步,如何让下游指标与宽表低延迟、低成本地同步变更,是实时数仓搭建的核心...

文章介绍 Apache Doris 5.0 的增量计算体系:Changelog 持久化行级新增、更新与删除,Table Stream 按分区维护消费位点,使下游能持续读取变化并在同一事务中提交结果与进度。基于此,物化视图增量维护(IVM)可对受支持的聚合与 Join 查询生成增量计划,避免每轮全量重算。文章结合订单指标、客户宽表、ODS 到 DWD 分层加工和 Flink 跨系统流出四个场景,给出建表、刷新、Stream 消费与 Connector 配置示例。作者也指出首次刷新需建立基线、异步刷新可能滞后,且 Flink 链路交付语义受 Checkpoint、日志保留、去重和 Sink 能力制约;作为厂商分享,版本依赖与性能收益仍需生产验证。

推荐收录:文章不仅介绍 Doris 5.0 的 Changelog、Table Stream 与 IVM 机制,还用四个可执行 SQL 场景说明增量指标、宽表维护、分层加工和跨系统流出的实现方式,并明确首次刷新、异步滞后和 Flink 交付语义等边界。适合实时数仓、OLAP 和流式数据管道开发者做选型与方案设计参考;需注意其厂商背景,性能与版本兼容性应结合生产环境验证。

技术文章SelectDB 技术分享

Apache Doris 基于 Lance 的向量检索深度解析 Apache Doris 5.0 多模湖仓预告(7)|技术解析篇:随着自动驾驶等多模态应用的发展,大规模数据查询需要同时满足...

文章解析 Apache Doris 直接查询 Lance 数据集的向量检索方案:FE 规划任务,BE 读取与检索,并通过 vector_search()/full_text_search() 把向量和全文检索嵌入 SQL 链路。核心机制包括按 Lance 物理索引段拆分并行检索、用 prefilter 控制先过滤再检索、Top-K 后按行号补读展示列,以及复用 Lance Session 缓存。检索结果可继续做 Join、聚合、排序和分页,未覆盖索引的分片退回 Flat Search 并参与全局 Top-K 合并。在 10 亿数据、Top-K 20000、召回率 95% 条件下,四条件过滤耗时 2.32 秒,Ray+pylance 为 25.228 秒;18 组测试中 Doris 有 16 组更低。作者指出测试未提供硬件与 BE 数量,也未逐项消融,实际收益需结合数据、索引和部署配置评估。

推荐收录:文章具体公开了 Doris+Lance 的执行链路,包括按索引段并行、prefilter、按需补读列、缓存和 SQL 关联聚合,并用 10 亿规模 18 组测试展示 16 组耗时更低(四条件过滤 2.32s vs 25.228s)。适合数据库、OLAP、向量检索和多模湖仓方向读者,但需注意其为厂商测试,缺少硬件、BE 数量与逐项消融,实际收益应结合部署配置评估。

技术文章SelectDB 技术分享

Apache Doris x Fluss:面向湖流一体的统一查询与分析 实时分析如何同时兼顾最新事件、历史数据和不断更新的状态?Apache Doris 5.0 新增 Fluss Catalog,支持直...

文章介绍 Apache Doris 5.0 的 Fluss Catalog 与湖流一体查询方案:Fluss 用日志表追加事件、主键表维护当前值及变更日志,数据分 Log 与 Lake 两层;Doris 可直接查询 Fluss,Union Read 以 Paimon 湖快照为基线拼接 Fluss 增量,并支持表名、$lake、$log 三种读取范围及 auto/required/disabled 模式。作者以自动驾驶路测为例说明异常排查,并给出单机性能对比:Union Read 在计数、分组统计上比纯 JNI 读快数倍,但全表明细优势有限。未开启湖表自动合并时可能 OOM,可用 enable_jni_heap_admission 控制堆内存。当前功能仍为实验性,湖端仅支持 Paimon,测试为单机环境,实际使用需关注快照就绪、日志保留和主键尾部合并上限。

推荐收录:文章不仅介绍 Doris 5.0 Fluss Catalog 的产品集成,还展开 Fluss 日志表/主键表语义、Union Read 的湖快照与增量衔接、$lake/$log 读取范围及三种模式,并用单机测试量化纯 JNI 读与 Union Read 的耗时、CPU、磁盘和 OOM 边界。对做 OLAP、流式存储或湖仓一体的数据工程师和架构师有较高参考价值,读取范围选择、资源控制和验收模式可迁移到类似湖流查询系统。主要风险是厂商视角、单机 benchmark 绝对数值有限,且功能仍为实验性。

技术文章SelectDB 技术分享

Apache Doris 高性能 Open Lake Variant 读写技术解析 面对日志、事件、AI 调用等不断变化的半结构化数据,如何既保留灵活结构,又实现高效查询?从 Doris 4.2 ...

Doris 4.2 起可在 Iceberg、Paimon 上直接读写 VARIANT 半结构化数据。文章分三层讲解:值由 metadata 字段名字典与 value 二进制编码,可按路径拆成类型子列,类型不匹配的值保留在 residual/fallback;读取按文件与 Row Group 选择叶子投影、残余补齐或完整投影,并结合统计裁剪;执行层保留 Encoded、Typed、Shredded 三种形态并延迟物化,避免重建完整对象。写回时 Iceberg 经 Arrow 生成 Parquet,Paimon 经 JNI 交给原生 writer,当前不回写拆列文件。测试称相比 Spark 冷跑 15.10×、热跑 19.14×,拆列热跑 58.64×,但 SQL 示例未在集群执行。

Doris 团队完整拆解了 Variant 的编码、拆列、按路径读取与延迟物化机制,并给出可观测的 Profile 指标和冷热跑对比数据,可作为湖仓半结构化数据格式设计与查询优化的参考。适合从事 OLAP/湖仓选型、Parquet 列裁剪与执行引擎优化的工程师阅读;需注意性能数字来自厂商自测、不含导入耗时,SQL 示例也未实机验证。

技术文章SelectDB 技术分享

当 Variant 遇到 Lakehouse:Apache Doris 5.0 Variant 统一解决方案 Apache Doris 5.0 把 Variant 类型从内表扩展到了 Iceberg / Paimon 等开放湖格式,使用同...

文章介绍 Apache Doris 5.0 如何把内表 Variant 类型扩展到 Iceberg / Paimon 等开放湖格式,解决 JSON 半结构化数据在生产端(Flink/Spark 入湖)与消费端(Doris 分析)之间的割裂。作者以 AI Agent 轨迹、埋点和 IoT 遥测为例,说明双写同步带来的冗余存储、同步延迟与不一致,并结合 Parquet Variant 编码、Iceberg V3、Paimon 1.4 等标准化进展,提出上层统一类型与 SQL、中层统一执行算子、下层统一格式访问接口的三层方案,并给出 Agent 观测场景的查询、热数据入内表与结果回写 SQL 示例。文末对比内表与湖上 Variant 的能力并给出选型建议,但 Shredded 写入与读取性能细节留待后续文章,且缺少独立实测数据。

推荐收录:文章完整呈现了从问题(半结构化数据生产者与消费者割裂)到方案(统一类型/SQL、统一算子、统一格式接口)的设计脉络,并梳理 Parquet、Iceberg、Paimon 的 Variant 标准化时间线,对评估湖仓一体与半结构化数据分析的数据库、数据平台工程师有直接参考价值。需注意其来自 Doris 厂商,Shredded 写入与性能实测尚未给出,选型结论宜结合后续技术文章与自测验证。

工程实践SelectDB 技术分享

Apache Doris+ Paimon 2.0:构建 Agentic AI 数据闭环 通过统一 SQL 打通向量检索、实时分析与结果写回,共同为 Agent 构建新鲜、可信、可验证的业务上下文 湖仓...

文章围绕“Agentic AI 需要持续可行动的数据闭环”这一目标,指出传统 BI 只回答因果、RAG 只返回相关文档,而 Agent 还需要结合订单、库存、设备状态等实时业务事实进行关联分析和决策,并能够写回行动结果。为此,文章提出 Paimon 2.0 与 Apache Doris 的分工共治方案:Paimon 2.0 通过 BLOB、VECTOR、VARIANT、Data Evolution、Global Row ID 和 Global Index 支持多模态数据的持续演进与索引;Doris 通过 Paimon Catalog 保持快照读取语义,将 Vector Index 作为查询计划中的候选生成阶段,在 MPP 引擎中完成过滤、Join、聚合与全局 Top-K,并支持标准 SQL 的 INSERT、UPDATE、DELETE、MERGE 等写回操作,从而形成“感知—检索—分析—行动—反馈”闭环。文章还以工业故障诊断场景为例,介绍了快手在 Paimon 湖表上做千万到亿级向量检索的生产实践:召回率 96.0%~99.6%,在远端 Alluxio 缓存下与 Doris 内表对比的查询耗时为后者的 1.07~4.18 倍。文末给出了建目录、查询和写回的简单 SQL 示例。需要说明的是,部分能力仍属发版预告,性能数据依赖缓存配置,读者需结合实际版本和场景验证。

推荐收录。文章不是简单的产品宣传,而是具体展示了如何用 Paimon 2.0 的开放数据格式与 Doris 的 SQL 执行能力构建 Agent 可用的实时上下文,包括向量索引下推、候选裁剪、快照一致读取和 SQL 写回等关键设计,并给出了快手亿级向量检索的召回率与性能对比数据,证据相对直接。适合正在规划 Agent 数据平台、实时湖仓或多模检索架构的数据工程师和架构师参考;其“避免复制第二份数据进独立向量库”的架构思路具有可迁移价值,但能力成熟度和性能需要结合具体版本、缓存和硬件条件验证。

工程实践SelectDB 技术分享

15 分钟搭建 PostgreSQL + Apache Iceberg + Apache Doris 的湖仓分析平台 搭建一条 CDC 实时数据同步链路,往往意味着要部署 Kafka、Debezium 等额外组件。有没...

文章以 PostgreSQL + Apache Iceberg + Apache Doris 为例,介绍如何用 OLake 快速搭建端到端的 CDC 湖仓分析链路。作者拆解了各组件角色:OLake 通过读取 PostgreSQL WAL 捕获变更并写入 Iceberg,Doris 作为查询引擎直接读取 Iceberg 表,并给出选择 Doris 的五个理由,包括全向量化执行、支持主流 Catalog、原生处理 Delete File、Time Travel 以及谓词下推和分区裁剪。随后提供完整部署命令和配置步骤,声称在一台小规格 Linux 实例上十几分钟即可跑通。文章还总结了生产环境关键注意事项,如控制文件大小、设计分区策略、定期执行 Snapshot 过期清理与 Compaction,以及按基础设施选择 Catalog。最后列举了业务实时看板、即席分析、SQL 分析平台和历史分析等应用场景。整体方案可快速复现,但 Demo 中使用本地 REST Catalog 属于简化做法,生产高可用与权限体系仍需另行设计。

这篇文章不是简单的产品介绍,而是给出了从组件选型、部署命令到生产调优的完整工程实践路径,其 OLake + Iceberg + Doris 的示例可直接用作实时湖仓链路的前期验证。适合正在评估 CDC 数据同步、开放湖仓架构或希望快速搭建可运行 Demo 的架构师和平台工程师。文章对文件大小、分区、表维护等注意事项的归纳可迁移到其他 Iceberg 湖仓场景,但需注意 OLake 仍属相对年轻的开源项目,并且部分性能结论来自官方或商业方的公开数据,迁移到大生产规模前应做独立验证。

工程实践SelectDB 技术分享

97% 召回率、900 QPS:Apache Doris 4.1 生产级向量检索的工程实践 针对大模型应用中专用向量库成本高、混合查询难的痛点,本文深入拆解 Apache Doris 4.1 原生...

文章针对大模型应用中专用向量库成本高、混合查询难的问题,深入剖析 Apache Doris 4.1 原生向量检索的工程设计。作者先比较专用向量数据库、关系型数据库扩展和分析型数据库原生支持三条路径,论证原生集成路线的优势。随后详细阐述 IVF 索引降低内存、IVF_ON_DISK 冷热分层、SQ/PQ 量化压缩以及 ANN Index Only Scan 优化查询性能的具体实现和 DDL 示例。文章还演示了结构化过滤联合查询与基于 RRF 的多路召回融合在 SQL 中的落地方式,并给出 VectorDBBench 基准数据。测试表明该方案在 100 万 768 维向量上取得 900 QPS、97% 召回率,构建速度最快,形成成本与性能的均衡。不过文中基准硬件规格不一,实际部署需根据工作负载进行验证。

推荐收录,因为文章不是简单的功能罗列,而是系统拆解了 Doris 4.1 向量检索的工程实现,包括 IVF 降本、磁盘索引、量化压缩、Index Only Scan 等关键设计,并提供了混合检索的 SQL 实现和基准数据。适合数据库内核、AI 基础设施和 RAG 系统开发者参考,其存储分层、覆盖索引和融合排序思路可迁移到其他 OLAP 或向量检索场景。需注意部分内容来自厂商,基准配置存在差异,应结合自身负载验证。

技术文章SelectDB 技术分享

强行拍平?全表扫描? AI Agent 动态 JSON 的观测分析 如何保留 JSON 灵活性的同时,获得列式存储的查询性能? Apache Doris 2026/5/12

本文从 AI Agent 日志观测场景切入,指出 Agent 执行流具有嵌套数组、动态 Schema 和非确定性推理等特点,传统扁平日志模型无法还原完整执行树,而全量拍平会破坏上下文关系并导致频繁 DDL,直接存为 String 又会造成全表扫描和 JSON 解析性能瓶颈。作者提出让数据库原生支持半结构化数据,以 Apache Doris/SelectDB 的 VARIANT 类型为例,解释自动子列提取如何保留列式扫描性能和压缩率,倒排索引如何加速长文本和 JSON 内部关键字检索。文章进一步给出动静分离的混合建模实践:高频标量字段用标准列,动态嵌套对象用 VARIANT 列,关键排障字段建立倒排索引,并附建表与查询示例。内容主要基于 Doris/SelectDB 引擎,未提供跨引擎量化对比,但方案思路可迁移到 ClickHouse JSON 类型等类似系统。

推荐收录,因为文章直面 AI Agent 日志观测中 JSON 处理的核心矛盾,清晰对比了全量拍平、String 存储与半结构化原生支持三条路线的优劣,并提供可落地的混合建模 DDL/DML 示例。适合负责可观测性平台、日志分析或 OLAP 数据建模的工程师参考,其动静分离、自动子列提取与倒排索引组合的设计方法可以迁移到其他支持半结构化类型的列式数据库。

工程实践SelectDB 技术分享

时间序列近邻关联性能实测:Doris ASOF JOIN 领先 ClickHouse、DuckDB Doris 在 4.0.5 和 4.1.0 版本引入的 ASOF JOIN,把时间序列近邻关联做成一个能在大规模、...

文章对 Apache Doris 4.0.5/4.1.0 引入的 ASOF JOIN 进行系统性能实测,该功能面向时间序列近邻关联,可在按业务键分组后找到不晚于左侧记录的最近右侧记录,适用于交易行情补全、事件归因等场景。测试设计覆盖大小表组合、1 亿行对 1 亿行、不同 NDV、长序列、短序列、乱序存储和过滤条件等六大类典型场景,并与 ClickHouse、DuckDB 在相同硬件和并发参数下对比。结果显示 Doris 在绝大多数用例中显著领先,例如大小表 JOIN 低至 0.15-0.38 秒,1 亿对 1 亿约 0.97-1.13 秒,短序列和乱序场景优势更明显。文章强调该实现具有低延迟和高稳定性,适合大规模、复杂分布的真实业务。需注意内容来自 SelectDB 官方技术团队,测试带有厂商视角,但其测试设计和场景覆盖可作为数据库选型与性能评估参考。

推荐收录,因为文章提供了 ASOF JOIN 系统化的性能基准测试,从测试设计、环境配置到多维度场景结果均有详细说明,对需要处理时间序列近邻关联的数据库工程师和架构师有直接参考价值。其可迁移价值在于展示了如何设计覆盖真实业务复杂度的数据库功能基准测试,但需注意来源为厂商官方,数据结论应结合独立验证或实际业务场景再判断。

工程实践SelectDB 技术分享

秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率 阿里云 SelectDB Serverless 可实现资源按需供给与按使用量计费,在负载高峰时补齐资源,...

文章讨论云数仓资源管理中长期存在的矛盾:业务负载波动大,固定规格资源常按峰值锁定,导致平均利用率低;传统存算分离架构弹性慢,扩容伴随缓存预热和数据重分布,容易引发查询延迟抖动。作者提出 SelectDB Serverless 的解决方案,通过计算、缓存、存储三层独立解耦,支持秒级原地纵向伸缩,单集群最高16倍弹性区间,并采用“扩快缩慢”策略——CPU 5秒均值或内存瞬时利用率超过60%触发扩容,CPU与内存同时低于30%且持续1分钟才渐进缩容,同时引入AI辅助决策。文章还给出选型参考:峰谷特征明显、可释放计算资源超过28%时Serverless才具成本优势;纵向弹性有16倍边界,极端场景需横向伸缩约3分钟。内容主要基于产品设计与机制说明,缺少独立用户验证数据。

推荐收录,因为它不只是产品宣传,而是提供了具体的弹性架构设计:三层资源解耦、扩缩容触发阈值、原地纵向伸缩机制和选型成本阈值,对云数仓、Serverless 或弹性架构设计的读者有直接参考价值。可迁移的是“扩快缩慢”的弹性策略和计算/缓存/存储解耦思路;需注意其厂商视角,部分性能数据未经独立验证。

技术文章SelectDB 技术分享

Apache Doris 在 AgentLogsBench 中领先,支撑 Agent 可观测性生产负载 Agent 可观测性需要一种能够统一承载多种访问模式的新型系统能力 Apache Doris可观测性与...

文章分析了 AI Agent 生产环境中可观测性负载的新特点:文本主体大且无结构、关键字段高度动态、trace 有序嵌套、看板需与持续写入并存。作者指出传统搜索、OLAP、文档库难以单独胜任,需要统一混合负载数据系统。AgentLogsBench 用单表 1 亿行 observation 数据评测六种引擎,覆盖 trace 回放、短语搜索、动态 JSON 过滤和实时聚合。结果显示 Apache Doris 综合 slowdown 1.28 领先,hot/cold 均第一,但在长文本 cold phrase search 上仍落后 Elasticsearch。文章解释了 Doris 领先原因包括倒排索引、VARIANT 子列、按 trace_id 分布与排序键、分区裁剪和缓存机制。该文可作为选型或理解混合负载数据系统的参考,但数据来自合成 benchmark,结果需结合实际验证。

推荐收录,因为文章不是空泛宣传,而是给出了 Agent 可观测性基准的具体设计、完整查询负载和跨系统实测数据,并逐项解释 Doris 架构优化如何影响性能。适合从事可观测性、OLAP 或 AI 平台基础设施的读者,用于理解混合负载系统选型与优化。可迁移价值在于把文本搜索、动态 JSON、trace 回放和实时聚合放在同一存储上权衡;主要风险是来自 SelectDB 官方且数据为合成,需结合其他评测交叉验证。

技术文章SelectDB 技术分享

Apache Doris 4.1 全面增强 Iceberg:支持 UPDATE、MERGE INTO 与 Iceberg V3 在已有查询能力的基础上,Doris 进一步支持了 UPDATE、DELETE、MERGE INTO 等数据...

本文介绍 Apache Doris 4.1 对 Iceberg 的能力扩展,从仅支持查询扩大到 UPDATE、DELETE、MERGE INTO 等 DML、表结构管理与日常维护,并完整支持 Iceberg V3。文章重点解析 Deletion Vector 机制:V3 用位图记录失效行并写入 Puffin 文件,使删除文件数量与数据文件同阶,文中测试显示文件数从336降至17、删除信息存储从98MiB降至3.8MiB、高删除比例查询时间降至约1/3。同时介绍 Row Lineage 提供的 _row_id 和 _last_updated_sequence_number 系统列,用于稳定行标识和增量变化识别,可配合 Time Travel 定位记录。作者也说明这些能力仅适用于 format-version=3 且需 Doris 4.1+,收益受数据规模和文件布局影响,Row Lineage 不等同审计系统。文章最后给出五分钟入门步骤并展望 Variant 读写和增量物化视图。

推荐收录,因为文章不是单纯的产品发布,而是提供了 Iceberg V3 关键机制(Deletion Vector、Row Lineage)的清晰解释、具体 SQL 示例和量化测试结果,并明确标注了版本、格式和场景边界。适合从事湖仓一体、Doris 或 Iceberg 数据管线的工程师理解如何在 OLAP 引擎中收敛查询、修改和维护,其关于减少删除文件开销和行级增量识别的思路具有可迁移价值。

工程实践SelectDB 技术分享

Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍 我们基于开源分析型数据库 Apache Doris,针对包含 1.35 亿条数据的亚马逊评论数据集进行...

文章介绍 Apache Doris 内置倒排索引解决 OLAP 稀疏扫描问题的技术机制与实测效果。针对传统 OLAP 依赖列存、排序和 Zone Maps 在稀疏查询下全表扫描的局限,文章详细解析了三种索引结构:字符串精确匹配用 Posting List,数值范围过滤用 BKD 树,非结构化文本检索用分词器结合倒排列表。在 1.35 亿条亚马逊评论数据集上,50 并发测试显示全文检索提速 59 倍,按 ID 点查提速 156 倍,多维组合查询提速 10 倍。同时评估了资源开销:新增 7 个索引后存储从 26GB 增至 47GB,写入耗时增加约 6%,主要来自大文本列。结论认为 OLAP 内置倒排索引可简化 Elasticsearch+OLAP 双引擎架构,但应根据查询特征选择性建索引以控制成本。

推荐收录,因为文章基于 1.35 亿条真实数据给出可复现的建表、索引和查询测试,定量对比了性能提升与存储/写入开销。适合数据库内核开发者、 OLAP 架构师和数据平台团队参考,其倒排索引设计思路可迁移到类似分析型系统或评估 Elasticsearch 替代方案。需要注意的是测试仅基于单节点和特定数据集,索引列选择需按业务权衡。

技术文章SelectDB 技术分享

宽表元数据膨胀怎么解?Doris Segment V3 对比 Parquet、Lance 要让查询真正只为目标列付出元数据成本,思路无非有三种:让 Footer 更容易定位,把重型列元数据...

文章围绕宽表场景下 Footer 元数据膨胀问题展开,对比 Parquet、Lance 与 Doris Segment V3 的解决思路。作者首先指出列式存储中 Footer 会随列数和 Row Group 增长,在数千列、复杂 JSON/Variant 子列时可达数 MB 甚至数十 MB,拖慢查询启动与元数据解析。随后分析三种格式的约束:Parquet 受生态兼容限制,通过 FlatBuffer 随机访问、裁剪冗余和兼容扩展降低开销;Lance 从文件结构重设计,将列元数据独立存储并放弃传统 Row Group;Doris 则在保留 OLAP 能力前提下,将每列 ColumnMetaPB 外置到独立 Column Meta Region(CMR),并在 Footer 中仅保留轻量目录,同时为 Variant 增加路径索引。性能测试显示极端宽表下 Segment 打开时间从 65 秒降至 4 秒,内存从 60 GB 降至不足 1 GB。适用边界是数千列宽表、复杂 Variant 和大量 Segment 场景,窄表收益有限。

推荐收录,因为文章对列式存储元数据膨胀问题提供了清晰的问题拆解和三种主流格式的取舍对比,并详细说明了 Doris Segment V3 的 CMR 外置、Variant 路径索引以及性能验证数据。适合数据库内核、存储引擎、数据仓库以及对宽表/半结构化数据查询优化感兴趣的工程师阅读。可迁移价值在于理解文件格式设计中的兼容性、功能完整性与查询性能之间的权衡;主要风险是内容带有 Apache Doris 厂商视角,但对 Parquet 和 Lance 的分析仍较客观。

技术文章SelectDB 技术分享

Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍 为什么同样都支持 JSON,不同数据库在 Agent 日志场景下的性能...

文章围绕 Agent 日志中动态 JSON payload 的性能挑战展开,基于 AgentLogsBench 基准测试对比了 Apache Doris、ClickHouse、Elasticsearch/OpenSearch 和 DuckDB/Parquet Variant。作者剖析了 Doris VARIANT 将常用 JSON Path 转化为列式 subcolumns 的机制,并通过高频路径列式化、低频路径 sparse columns 和 Storage Format V3 来优化宽 JSON 查询。测试显示 Doris 在动态字段聚合、rollup 和低基数过滤上延迟优势明显,平均比 ClickHouse 快 7.4 倍,比 Elasticsearch 快 2.4 倍,存储占用接近 ClickHouse 且远低于 Elasticsearch。文章还分析了其他系统的取舍,如 Elasticsearch 搜索强但动态聚合成本高、ClickHouse 压缩好但长尾路径查询慢、DuckDB/Parquet Variant 开放格式强但在线分析不足。结论指出,将动态 JSON 纳入列式存储、索引和向量化执行链路是决定搜索后分析体验的关键。边界在于结果来自厂商基准,可能带有一定倾向性,但技术原理和权衡分析具有参考价值。

推荐收录。文章不仅给出了性能对比数据,还深入解释了 Doris VARIANT 的 subcolumnization、Storage Format V3 机制,并对比了 ClickHouse、Elasticsearch、DuckDB/Parquet Variant 的架构取舍,技术细节和可迁移性强。适合数据库内核、OLAP、可观测性和大数据工程师理解动态 JSON 在不同系统中的处理方式,为 Agent 日志分析、技术选型和优化提供依据。尽管来自商业公司,但内容以基准和原理为主,推广成分较低,长期参考价值较高。

技术文章SelectDB 技术分享

Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑 Doris Python UDF 提供的不只是一个函数扩展机制,而是一条连接 Doris 高...

文章系统介绍 Apache Doris 的 Python UDF 功能,旨在让 SQL 直接调用 Python 生态以应对 AI 和实时分析中日益复杂的业务逻辑。核心方法是通过 Arrow RecordBatch 批量传输数据到独立 Python Server 执行,并支持 Pandas Series 向量化计算,减少跨语言和跨进程开销。Doris Python UDF 完整支持标量 UDF、UDAF 和 UDTF,提供内联与 ZIP 模块化加载方式,并内置进程隔离、复用和自愈机制以保证生产环境稳定性。文中给出支付风险分级和金额分桶等示例,展示在数据不离开分析链路的情况下完成规则判断、特征加工和模型打分。该能力已在 SelectDB 商业化产品中提供,适合需要将 Python 逻辑嵌入实时分析查询的场景,但部署前需在所有 BE 节点配置 Python 环境并安装 pandas/pyarrow。

本文对 Doris Python UDF 的设计机制、使用方式和生产化保障做了完整阐述,包含 Arrow 批量执行、向量化优化和故障恢复等关键细节,而非泛泛介绍。适合数据库内核开发者、数据工程师和需要在 SQL 引擎中集成 Python 生态的读者,可迁移到其他分析型数据库的扩展机制设计,帮助理解如何平衡灵活性、性能与可运维性。

技术文章SelectDB 技术分享

Apache Doris 4.1 Spill to Disk:避免运行内存密集型查询发生 OOM Apache Doris 4.1 的 Spill to Disk 是一套深度融合了内存预留、智能调度、压力感知的现代化...

文章系统解析了 Apache Doris 4.1 的 Spill to Disk 机制,用于避免哈希关联、聚合、排序等内存密集型查询触发 OOM。核心增强包括核心算子全覆盖、递归重分区应对数据倾斜,以及基于内存压力感知的主动落盘触发。文章详细说明了由控制层、算子层、基础设施层和内存管理层组成的统一架构,以及预留、暂停、落盘、恢复四阶段流程。针对 Hash Join、Aggregation、Sort 分别给出了化整为零、临时状态落盘和外部归并排序的具体实现策略。基准测试显示,在单 BE 16GB 内存下运行 TPC-DS 10TB 查询,复杂查询全部完成且内存被控制在 8GB 以内,部分场景落盘数据量超过 1000GB,验证了以磁盘 I/O 换取内存空间的可行性。当前 Intersect/Except 算子暂不支持直接 Spill,需要通过等价 Join 改写。

推荐收录,因为文章不仅介绍功能,还深入解释了内存压力感知、算子级落盘策略和统一架构设计,并给出了可验证的基准测试数据。对从事数据库内核开发、性能调优或超大规模分析查询的读者具有直接参考价值,其“预留-暂停-落盘-恢复”的资源控制方法和外部归并排序等思路也可迁移到其他内存受限的查询引擎中。