Doris Catalog 已上线!性能提升 200x,全面优于 JDBC Catalog,跨集群查询迈入高性能分析时代

宝塔 Apache 部署 Node.js 项目:挂到子路径,不影响同机其他站点 阅读详情

“统一”是 Apache Doris 长期以来秉持的设计理念之一。在这一理念指引下,构建完善的 Catalog 生态是实现异构数据源统一查询分析的关键。目前,Doris 已支持 Iceberg、Paimon、Hudi 等数据湖 Catalog,以及 JDBC Catalog,用户无需迁移数据,即可对不同数据湖和传统数据库进行联邦查询分析。

本文聚焦 Doris 多集群间的查询分析。实现跨 Doris 集群的分析通查需要通过 JDBC Catalog,但该方式存在明显短板,比如协议开销较大、无法复用 Doris 查询优化策略、查询性能受限等等。同时,随着生产环境中多 Doris 集群部署愈加普遍,跨集群的数据联动分析需求也日益增长。在这种情况下,JDBC Catalog 很难满足用户的性能要求。

为此,Apache Doris 4.0.2 版本推出重磅特性:Doris Catalog。该功能专为跨 Doris 集群联邦分析设计,支持通过 Arrow Flight 和虚拟集群两种模式,进行更高效、更贴合原生优化的跨集群查询。

特此说明:Doris Catalog 当前为实验性特,欢迎大家体验并反馈,我们将持续优化

Doris Catalog vs. JDBC Catalog

JDBC Catalog 主要借助 MySQL 兼容的 JDBC 协议访问其他 Doris 集群数据。由前文可知,该方式在跨集群大数据量交互时性能受限,难以满足联邦分析高吞吐与低延迟的性能要求。不同于 JDBC Catalog 的交互方式, Doris Catalog 通过 Arrow Flight 或虚拟集群这两种方式,能够直接、高效的访问其他 Doris 集群,进行多集群联邦分析。

01 功能对比

那么,与 JDBC Catalog 相比,Doris Catalog 到底具备哪些能力优势呢?

01 功能对比.png

02 性能对比

为了更直观地展示二者在实际查询中的表现,我们基于跨集群的 TPC-DS 查询场景,对比了 Doris Catalog(两种连接模式) 与 JDBC Catalog 的执行性能。以下是测试结果概要:

02 性能对比.png

结果显示,在涉及聚合、Join 等复杂查询场景下,Doris Catalog 相比 JDBC Catalog 展现出不同程度的性能优势。其中,在单表聚合查询场景下优势尤为突出:Doris Catalog(虚拟集群)的查询耗时仅为 0.21 秒,相较于 JDBC Catalog,速度提升超过 200 倍。

具体测试如下:

  1. 在单表简单查询(直接查询远端集群)模式下:Doris Catalog 与 JDBC Catalog 基本持平。
SELECT
    ss_sold_date_sk,
    ss_store_sk,
    ss_item_sk,
    ss_ticket_number,
    ss_quantity,
    ss_sales_price,
    ss_ext_sales_price,
    ss_net_profit
FROM jdbc_mode.tpcds100.store_sales
WHERE ss_sold_date_sk = 2450816
  AND ss_store_sk = 10
  AND ss_quantity BETWEEN 1 AND 3
LIMIT 100;

02 性能对比-1.png

  1. 在单表聚合查询(直接查询远端集群)模式下:Doris Catalog 两种模式均优于 JDBC Catalog,Doris Catalog(虚拟集群)的查询耗时仅为 0.21 秒,相较于 JDBC Catalog,速度提升超过 200 倍。
SELECT
    ss_sold_date_sk,
    ss_store_sk,
    SUM(ss_ext_sales_price) AS total_sales,
    SUM(ss_net_profit)      AS total_profit,
    COUNT(*)                AS txn_cnt
FROM tpcds100.store_sales
WHERE ss_sold_date_sk BETWEEN 2450816 AND 2451179
GROUP BY
    ss_sold_date_sk,
    ss_store_sk
ORDER BY
    ss_sold_date_sk,
    ss_store_sk
LIMIT 100;

02 性能对比-2.png

  1. 在多表关联查询(两个大表分别存储在本地和远端集群,进行关联查询)模式下:Doris Catalog 两种模式均优于 JDBC Catalog,相较于 JDBC Catalog,速度提升约 42%。
SELECT count(ss_item_sk), count(store_sales_amt), count(catalog_sales_amt) FROM
(
SELECT
    ss.ss_item_sk as ss_item_sk,
    SUM(ss.ss_ext_sales_price) AS store_sales_amt,
    SUM(cs.cs_ext_sales_price) AS catalog_sales_amt
FROM internal.tpcds100.store_sales ss
JOIN external.tpcds100.catalog_sales cs
    ON ss.ss_item_sk = cs.cs_item_sk
WHERE ss.ss_sold_date_sk BETWEEN 2450815 AND 2451079
  AND cs.cs_sold_date_sk BETWEEN 2450815 AND 2451079
GROUP BY ss.ss_item_sk) x;

02 性能对比-3.png

03 方案选择

由上可知,不同的查询场景中,需要选择适合的的访问模式,以获取最佳的查询性能:

  • 对于复杂 Join/Agg 查询或依赖 Doris 内表优化特性时,优先选择 Doris Catalog 虚拟集群模式。
  • 对于简单单表查询、UNION 查询、远端集群规模大且无需复杂 Join 优化或 Doris 集群版本不一致,优先选择 Doris Catalog Arrow Flight 模式。

Doris Catalog 核心设计

Doris Catalog 本质是跨集群访问的“中间代理”,核心职责包括:

  • 元数据同步:通过 HTTP 协议从远端 Doris 集群 FE 拉取表结构、分区、副本、 Tablet 位置等元数据;
  • 执行计划生成:根据访问模式,将用户查询转换为适配远端集群的执行计划;
  • 数据路由与传输:协调本地 BE 与远端 BE 进行数据传输,支持并行拉取与分片处理;
  • 结果聚合:将远端返回的数据聚合后,返回给用户或上层应用。

Doris Catalog 支持 Arrow Flight 和 虚拟集群两种访问模式。在了解具体实现之前,先了解两种模式的区别:

 Doris Catalog 核心设计.png

01 Arrow Flight 模式

01 Arrow Flight 模式.png

该模式的工作流程如下(假设本地集群为 ClusterA,远端集群为 ClusterB):

  • 查询规划:ClusterA 的 FE 节点先进行完整的查询规划,针对存储在 ClusterB 中的表,生成 RemoteDorisScanNode节点。RemoteDorisScanNode 会生成一条应用谓词下推规则后的单表查询 SQL,通过 HTTP 协议向 ClusterB 的 FE 节点发送并执行这条 Arrow Flight SQL。
  • 查询计划执行:ClusterA 的 FE 节点将物理执行计划发送给 ClusterA 的 BE 节点,并告知 BE 节点 Arrow Flight 的数据流获取位置。
  • 数据查询与传输:ClusterA 的 BE 节点的 Scan Node 通过 Arrow Flight 协议直接从 ClusterB 的 BE 节点获取 Arrow Flight SQL 的执行结果。然后在 ClusterA 中执行 Join、Agg 等其他算子,并返回最终结果。

02 虚拟集群模式

02 虚拟集群模式.png

该模式的工作流程如下(假设本地集群为 ClusterA,远端集群为 ClusterB):

  • 元数据同步:ClusterA 的 FE 节点通过 HTTP 协议同步 ClusterB 中完整的元数据,包括表结构、分区、副本、Tablet 位置等。
  • 查询规划:ClusterA 的 FE 节点将 ClusterB 的 BE 节点视为“虚拟 BE”,生成全局统一的执行计划(与单集群查询逻辑一致)。
  • 查询计划执行:执行计划会将 ClusterA 与 ClusterB 的 BE 节点视作一个统一 BE 集群,并在其上执行查询计划。因此,各类算子会同时在 ClusterA 和 ClusterB 的 BE 节点中执行。
  • 数据查询与传输:ClusterA 与 ClusterB 的 BE 节点间使用内部通信协议进行数据交互。

实战演示:10 分钟完成跨集群订单履约率分析

回归到实际使用中,Doris Catalog 可有效支撑以下五大核心业务场景,精准解决跨集群分析痛点:

  1. 多业务集群联合分析:如在电商场景中,交易集群存储订单数据、物流集群存储履约数据,通过 Doris Catalog 直接关联计算“订单履约率”“物流时效”等核心指标,无需跨集群数据同步。
  2. 地域分布式集群全局统计:如零售企业在多地域部署 Doris 集群,通过 Doris Catalog 一站式汇总各区域销售数据,实时计算全国总销售额、区域占比、用户活跃度等全局指标。
  3. 实时数据跨集群关联查询:如用户行为分析场景中,通过 Doris Catalog 实时关联用户实时行为集群(点击、浏览等)与长期用户画像集群,支撑个性化推荐、精准营销等实时决策场景。
  4. 跨地域超大规划集群分治:不同地域的分公司采用相同的业务模式部署和使用 Doris 集群。母公司通过 Doris Catalog 完成对全地域多集群的集中访问,实现超大规模业务数据管理。
  5. 跨集群数据迁移验证与对比分析:新旧集群迁移过程中,通过 Doris Catalog 直接对比两端数据一致性,无需导出导入工具,简化迁移验证流程,降低数据丢失风险。

接下来,我们以常见场景 1:多业务集群联合分析为例,实战演示如何在 10 分钟完成跨集群订单履约率分析。

  1. 背景介绍
    现有两个 Doris 集群,需跨集群关联计算核心业务指标:
  • 本地集群(Trading-Cluster):存储订单基础数据,库表为 trading_db.order_info(订单表);
  • 远端集群(Logistics-Cluster):存储物流履约数据,库表为 logistics_db.delivery_info(履约表);
  • 业务需求:计算近 7 天各订单类型的履约率(已履约订单数/总订单数),支撑运营决策。
  1. 表结构定义
  • 本地订单表 trading_db.order_info:
    • CREATE TABLE trading_db.order_info (
          order_id STRING COMMENT '订单ID',
          order_type STRING COMMENT '订单类型:实物订单/虚拟订单',
          create_time DATETIME COMMENT '创建时间',
          amount DECIMAL(10,2) COMMENT '订单金额'
      ) ENGINE=OLAP
      DUPLICATE KEY(order_id)
      PARTITION BY RANGE(create_time) (
          PARTITION p202511 VALUES [('2025-11-01 00:00:00'), ('2025-12-01 00:00:00'))
      )
      DISTRIBUTED BY HASH(order_id) BUCKETS 10;
      
  • 远端履约表 logistics_db.delivery_info:
    • CREATE TABLE logistics_db.delivery_info (
          order_id STRING COMMENT '订单ID',
          delivery_status TINYINT COMMENT '履约状态:1-已履约,0-未履约',
          delivery_time DATETIME COMMENT '履约时间'
      ) ENGINE=OLAP
      DUPLICATE KEY(order_id)
      PARTITION BY RANGE(delivery_time) (
          PARTITION p202511 VALUES [('2025-11-01 00:00:00'), ('2025-12-01 00:00:00'))
      )
      DISTRIBUTED BY HASH(order_id) BUCKETS 10;
      
  1. 数据准备
    向两张表分别插入测试数据(本地表 100 万行订单数据,远端表 80 万行履约数据),确保订单 ID 存在关联关系。

  2. 配置 Doris Catalog
    在本地 Doris 集群执行以下 SQL,创建连接远端物流集群的 Catalog(虚拟集群模式):

-- 创建Doris Catalog,启用虚拟集群模式(复用内表优化)
CREATE CATALOG IF NOT EXISTS logistics_ctl PROPERTIES (
    'type' = 'doris', -- 固定类型
    'fe_http_hosts' = 'http://logistics-fe1:8030,http://logistics-fe2:8030', -- 远端FE HTTP地址
    'fe_arrow_hosts' = 'logistics-fe1:8040,http://logistics-fe2:8040', -- 远端FE Arrow Flight地址
    'fe_thrift_hosts' = 'logistics-fe1:9020,http://logistics-fe2:9020', -- 远端FE Thrift地址
    'use_arrow_flight' = 'false', -- false=虚拟集群模式,true=Arrow Flight模式
    'user' = 'doris_admin', -- 远端集群登录用户
    'password' = 'Doris@123456', -- 远端集群登录密码
    'compatible' = 'false', -- 集群版本接近(4.0.3 vs 4.0.2),无需兼容
    'query_timeout_sec' = '30' -- 延长查询超时时间(默认15秒)
);
  1. 跨集群查询
  • 切换 Catalog 后查询
    • -- 切换到远端物流集群的Catalog
      SWITCH logistics_ctl;
      -- 使用本地订单库
      USE trading_db;
      -- 关联本地订单表与远端履约表,计算履约率
      SELECT 
          o.order_type,
          COUNT(DISTINCT o.order_id) AS total_orders,
          COUNT(DISTINCT CASE WHEN d.delivery_status = 1 THEN o.order_id END) AS delivered_orders,
          ROUND(COUNT(DISTINCT CASE WHEN d.delivery_status = 1 THEN o.order_id END) / COUNT(DISTINCT o.order_id), 4) * 100 AS delivery_rate
      FROM internal.trading_db.order_info o
      JOIN delivery_info d ON o.order_id = d.order_id
      WHERE o.create_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
      GROUP BY o.order_type
      ORDER BY delivery_rate DESC;
      
  • 全限定名查询
    • SELECT 
          o.order_type,
          COUNT(DISTINCT o.order_id) AS total_orders,
          COUNT(DISTINCT CASE WHEN d.delivery_status = 1 THEN o.order_id END) AS delivered_orders,
          ROUND(COUNT(DISTINCT CASE WHEN d.delivery_status = 1 THEN o.order_id END) / COUNT(DISTINCT o.order_id), 4) * 100 AS delivery_rate
      FROM internal.trading_db.order_info o
      JOIN logistics_ctl.logistics_db.delivery_info d ON o.order_id = d.order_id
      WHERE o.create_time >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
      GROUP BY o.order_type
      ORDER BY delivery_rate DESC;
      
  1. 查询结果与优化验证
    1. 执行结果示例
      实战演示.png
    2. 优化特性验证
      • 执行 EXPLAIN 查看执行计划,可发现:
      • 虚拟集群模式下,执行计划中远端表扫描节点为 VOlapScanNode(与本地表一致),说明复用了 Doris 内表扫描优化;
      • Join 操作中自动启用 Runtime Filter,减少远端数据传输量。

总结与展望

Doris Catalog 的推出,补齐了 Doris 跨集群联邦查询的性能短板。在此特别感谢社区同学的 Chen768959 和 HonestManXin 贡献,帮助延续了 Doris Catalog 生态“无需迁移、一站式分析”的核心优势,让多 Doris 集群从“数据孤岛”变为“互联一体”。

作为实验性特性,Doris Catalog 后续将持续迭代优化:

  • 增强 Arrow Flight 模式,使其能够访问任意支持标准 Arrow Flight 协议的数据源。
  • 降低虚拟集群模式 FE 内存开销,优化元数据存储和同步策略;
  • 支持存算分离部署的 Doris 集群(虚拟集群模式)
  • 新增更多监控指标,方便排查跨集群查询故障。

更多信息,请访问 Doris 官网文档:

https://doris.apache.org/zh-CN/docs/4.x/lakehouse/catalogs/doris-catalog

LVGL仪表盘实战:5分钟用lv_meter打造汽车仪表UI(附完整代码) 本文详细介绍了如何使用LVGL的lv_meter组件在5分钟内构建专业汽车仪表盘UI。从环境配置、刻度定制到指针动画和性能优化,提供完整代码示例和实战技巧,帮助开发者快速实现嵌入式设备上的高效仪表盘设计。 阅读详情

相关推荐

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

Doris Multi-Catalog实战:JDBC Catalog与元数据缓存优化指南

本文详细介绍了Doris Multi-Catalog功能,特别是JDBC Catalog的实战配置与使用,帮助用户轻松连接并查询外部数据库,实现零ETL即时分析。重点探讨了元数据缓存机制及其优化策略,包括手动与自动刷新方法,以提升查询性能与数据一致性,是构建统一数据查询平台的关键指南。

ujm567890的博客 339

Oracle OCP 19c 认证1Z0-083考试大纲(Oracle官方版)

Oracle Database: Managing Multitenant Architecture Ed 1 course

#真题在线# 1588

Apache Flink 零基础

低代码、易开发、易维护、可读性强,适配实时数仓分层、指标统计、数据清洗、多源数据关联等绝大多数业务场景,支持Kafka、Doris、MySQL、Hive等主流组件读写,是企业实时开发主流方案。:接收客户端提交的实时/离线任务、解析任务逻辑、生成DAG执行流程图、分配集群资源、调度任务运行、管理Checkpoint/Savepoint、处理任务故障重启、协调集群节点状态。手动触发的状态快照,主要用于任务升级、代码迭代、版本更新、集群迁移、任务重启等运维操作,保证业务无感知、数据不错乱、任务无缝恢复。

2402_85354210的博客 315

行政数据分析大屏实战:用Tableau从Excel到看板的完整搭建流程(含数据连接与字段计算避坑)

本文详细介绍了如何利用Tableau从Excel数据源搭建行政数据分析大屏的完整流程,涵盖数据准备、连接技巧、计算字段优化、看板设计及动态交互部署。通过五阶工作流,帮助用户高效处理多源异构数据,实现业务洞察与可视化呈现,提升行政数据分析效率。

weixin_29696711的博客 337

【科研绘图】【数据拟合曲线】:附Origin详细画图流程

拟合曲线图

weixin_50236590的博客 4万+

深入 Apache Hudi Write Operations:一次 Upsert 到底经历了什么?

Apache Hudi Write Operations

喻师傅的学习笔记 666

嵌入式开发必看:STM32 DMA双缓冲配置全攻略(含CubeMX教程)

本文详细解析了STM32 DMA双缓冲机制的原理与优势,并提供了基于CubeMX的完整配置教程。通过硬件自动切换两个缓冲区,实现DMA传输与CPU处理的真正并行,有效降低中断频率,提升高速数据采集、音频流处理等场景下的系统效率和实时性。

weixin_29212429的博客 173

每天认识一个组件:Apache Flink

Flink 的核心价值不只是“实时”,而是把持续数据流、事件时间、业务状态和一致恢复放入同一个分布式运行时中。对于实时指标、持续 ETL、CDC、欺诈检测和事件驱动应用,它提供了一套比“消息队列加手工状态管理”更完整的计算模型。

weixin_47983718的博客 624

PostgreSQL性能优化:如何搭建监控体系?

本文系统讲解如何构建企业级PostgreSQL监控体系,覆盖四大核心维度:基础设施层、数据库实例层、会话与查询层、对象与存储层。通过Prometheus+Grafana+ELK等工具链实现指标采集、可视化与告警闭环管理,详细解析关键监控指标、部署方法及告警策略设计,帮助DBA快速定位慢查询、连接泄漏、存储膨胀等典型故障,构建"看得见、管得住、防得早"的数据库运维能力。

数据知道的博客 2232

迫零均衡前与迫零均衡后眼图对比附Matlab代码

迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。

ByteSparkX的博客 459

每天认识一个组件:Apache StreamPark

StreamPark 解决的核心问题,不是如何执行流计算,而是如何让流处理应用以统一、可管理的方式进入生产环境,它把 Flink 应用开发与运维中的重复工作收拢到统一控制面。

weixin_47983718的博客 478

【AutoSAR】【BootLoader】AutoSAR Bootloader 原理与流程

目录 一、HIS规范 二、BOOTLOADER软件架构 三、烧写流程 一、HIS规范 国外整车厂意识到在线刷新ECU的重要性,由奥迪公司、宝马公司、戴姆勒公司、保时捷公司、大众公司成立一个委员会,名为HIS委员会,专门负责帮助汽车制造商掌握微处理器控制单元软件和质量保证领域的原理和方法; HIS Bootloader的主要功能是通过标准的通信接口对ECU进行再编程 。 HIS Bootloader的软件设计基于AUTOSAR体系架构、ISO14229、ISO15765-2、HI...

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 5247

Apache Doris 与 SelectDB 是什么关系?从开源技术到面向 Agent 的极速分析数据库

Apache Doris 与 SelectDB 是什么关系?了解二者的开源技术渊源,以及 SelectDB Cloud、Enterprise、阿里云瑶池数据库 SelectDB、信创适配与面向 Agent 的极速分析数据库能力。

SelectDB 487

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WPS/Office Word客户端设置文档打开密码,Apache POI 解密—— 原理、实现与踩坑实录

本文介绍基于Apache POI 5.4.1实现的DocxDecryptor工具类,解决金融文档解析中加密docx的打开密码问题。核心原理:通过文件头判断是否为OLE2加密容器,仅支持ECMA-376标准的standard/agile加密模式,拒绝非标加密。关键在于verifyPassword()与getDataStream()必须使用同一Decryptor实例,否则解密失败。实录三大踩坑点:流需支持mark(用BufferedInputStream)、Decryptor不可复用、解密流仅可读一次。提供清晰

学习/总结 415

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Apache Flink 2.3.0(最新版本)

Flink是一个用于无界与有界数据流的有状态分布式处理引擎,具备内存级执行速度和弹性扩展能力。其核心特性包括“边来边算”的无界流处理、统一批流处理的有界流模型,以及高效的状态管理。Flink起源于柏林的Stratosphere研究项目,2014年成为Apache顶级项目,阿里巴巴的Blink分支在SQL性能与支持方面贡献显著,推动了Flink SQL的发展。Flink 2.0引入存算分离、物化表等重大更新。学习者可通过官方文档、安装包(如阿里云镜像站)获取资源,掌握从架构到部署的全链路知识。

super_mochi1 308

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Apache Doris 基础

需根据业务数据特征精准选择,选错模型会导致数据错误、查询性能极差。

2402_85354210的博客 343

Apache Doris 企业版怎么选?SelectDB 提供同源商业支持、私有化部署与信创适配

Apache Doris 企业版怎么选?了解 SelectDB 与 Doris 的同源关系、企业级商业支持、私有化部署、信创国产化适配,以及阿里云、华为云、腾讯云、AWS 云平台部署方案。

SelectDB 375

Apache Spark4.1.3 一键部署与卸载脚本

本文介绍了一套基于三台主机(node11/node12/node13)的Spark 4.1.3集群一键部署与卸载方案。在已配置主机名、SSH免密、JDK17及Hadoop 3.5.0的前提下,通过spark_deploy.sh脚本自动完成Scala 2.13.16与Spark的安装、配置分发、集群启动及进程验证。脚本支持重复执行,避免配置重复。配套的spark_uninstall.sh可安全卸载Spark与Scala,保留JDK和Hadoop环境。整个过程自动化程度高,适用于教学与生产环境快速搭建与清理。

super_mochi1 104

Apache Doris 异步物化视图与 Snowflake MV / Dynamic Tables 工程化对照

在面向分析的数据分层建模里,物化视图是降低重复计算、缩短查询响应时间的通用手段。的异步物化视图从 2.1 版本引入、3.0 版本完善,以一套机制覆盖了多表 join、嵌套分层、分区增量刷新与构建资源管控;Snowflake 则把单表加速与多表管道拆成两套独立机制——Materialized Views 与 Dynamic Tables,前者有严格的单表与聚合限制,后者以 TARGET_LAG 声明数据新鲜度。

SelectDB 280

Apache Superset 重要特性详解(三):语义层 / 权限 / 缓存 / 嵌入的实战最佳实践(2026 版)

本文详解 Apache Superset 的四大核心生产实践:语义层建模(统一口径,指标唯一定义)、行级安全(RLS)(基于角色动态过滤数据)、缓存调优(配置 Redis 与 TTL 策略提升性能)、仪表盘嵌入(通过 guest token 实现系统集成)。结合决策图、命名规范与安全最佳实践,提供可直接复制的配置模板,助力企业构建可复用、安全、高性能的数据分析平台。

weixin_43128865的博客 630

每天认识一个组件:Apache Pulsar

Apache Pulsar 的核心价值在于:它不是把消息系统简单做大,而是以分层架构、多租户模型和跨集群能力,把消息、事件流、实时管道和数据平台治理放在同一个系统框架下。Pulsar 更适合有平台化诉求的团队:多业务共享、实时数据流、跨地域容灾、海量 Topic、长期留存、轻量流处理和连接器生态。

weixin_47983718的博客 608

Apache Superset 架构深度解析(二):一次查询从点击到渲染的完整旅程(附架构图 + 时序图)

当用户在Superset中点击图表,一次查询从请求到渲染历经多层协作:浏览器发起请求后,Gunicorn通过RBAC与RLS鉴权,并从PostgreSQL读取元数据;若缓存命中则直接返回结果,否则由QueryContext结合db_engine_spec生成SQL,经SQLAlchemy执行并写入缓存。大查询走Celery异步路径,结果通过Redis Streams推送至WebSocket通知前端。整个过程依赖五级缓存(含筛选、表单、结果集等),生产环境需配Redis实现高性能与高可用。

weixin_43128865的博客 504

存算分离冷查询提速 7.5 倍!Apache Doris 4.2 Peer Read 实现跨计算组缓存复用

Apache Doris 4.2 引入 Peer Read 机制,实现存算分离架构下跨计算组缓存复用,解决冷查询延迟高、扩缩容后缓存失效等问题。实测主键点查冷查询提速约 7.5 倍,P99 延迟降低约 80%,对象存储请求减少约 98%,全面解析工作原理、性能测试与配置方法。

SelectDB 436

省级科技计划项目申报实操:拆解启明知识产权“技财法”全链协同支撑逻辑

针对企业申报省级科技计划项目的痛点,本文拆解启明知识产权如何通过“技财法”全链协同提供规划与申报服务。结合其集团化架构、自有会计师事务所及新产品鉴定中心资质,解析其在研发费用归集、技术先进性评价及合规风控方面的核心优势,为科创企业提供可执行的选型参考。

xiaoheiba_的博客 181

胜宏科技泰国A1厂房满产,高端PCB扩产延伸至越南

胜宏科技泰国A1厂房满产,高端PCB扩产延伸至越南

qianliuchuhai的博客 207
上一篇: 慢 SQL 诊断准确率 99.99%,天翼云基于 Apache Doris MCP 的 AI 智能运维实践
下一篇: 5 倍性能提升,Apache Doris TopN 全局优化详解|Deep Dive
SelectDB技术团队
博客等级 码龄4年 2119粉丝 484原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

SelectDB技术团队

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

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

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

打赏作者

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

抵扣说明:

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

余额充值