You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求支持跨表列引用的数据库引擎,优化大规模分析查询

寻求支持跨表列引用的分析型数据库/数据仓库方案

我需要设计一款支持多表分析查询的数据库/数据仓库,为简化问题,假设存在两张核心表:

Orders(
  id int,
  company_id int,
  amount float   
)

Companies(
  id int,
  segment_ids int[] -- 整数数组,存储多维度细分标识
)

其中segment_ids是整数数组,取值来自多个细分维度,例如:

  • Segment:Sizes:Small=1、Medium=2、Big=3
  • Segment:Industries:Retail=10、Technology=11、Other=12

我的核心查询需求是:找出所有同时包含1(小型)和10(零售)的企业的总营收(订单金额总和)。

传统SQL方案可以通过将Companies表扁平化为CompanySegments表,再与Orders表JOIN实现,但这种数据扁平化操作不可控,且当Orders表数据量达到数十亿条时,JOIN的性能会变得极差。

我已经调研过Clickhouse、Google BigQuery、Cassandra等多种数据库引擎,发现它们仅支持将Company表以嵌套列的形式缓存/复制(反范式化),而且缓存需要在每次数据变更时手动更新,无法满足我的需求。

我希望找到更合适的数据库引擎,它需要支持跨表列引用,例如允许Orders表定义如下:

Orders(
  id int,
  company ref-to-Company, -- 直接引用Company表
  amount float   
)

这样我就能直接执行类似如下的查询:

SELECT SUM(amount) AS total_revenue 
FROM Orders 
WHERE company.segment_ids contains 1 AND company.segment_ids contains 10

内容的提问来源于stack exchange,提问作者hiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:57:40