Databend 产品月报(2025年7月)

亲爱的 Databend 用户朋友们,大家好!🚀

这个七月,我们专注于优化一个核心目标:JSON 查询性能 。最令人兴奋的是,我们对 Virtual Columns 功能进行了全面升级,效果显著------JSON 查询速度提升 3 倍 ,同时数据扫描量减少 26 倍

本月成果速览

  • 新增 25 + 实用功能
  • 修复 25 + 影响体验的 bug
  • 完成 20 + 项性能优化
  • 其他改进 35 +

不过,最让人兴奋的,还是 JSON 性能的突破性提升。

重点功能一览

💎 核心升级

Virtual Columns 性能飞跃 :JSON 查询速度提升 3 倍,数据扫描量减少 26 倍

增强的 RBAC 权限管理 :支持 connection 和 sequence 对象

Shuffle 排序优化 :大幅提高大规模有序数据集的性能

流式处理改进 :Virtual Columns 支持流式数据

工作负载管理:新增基于内存百分比的资源配额

🛠 开发更顺手

40+ JSON 函数 :全面覆盖 JSON 操作需求

多语法支持 :兼容 Snowflake 和 PostgreSQL 语法

增强的 UDF :新增 IMMUTABLE 支持,性能更优

调试工具升级:metactl 工具更强大

⚡ 性能再突破

• 元服务优化:毫秒级精度,架构更优

• 查询优化:包括 grouping sets 重写等改进

• 内存管理:基于百分比的配额机制

🐛 稳定性提升

  • 修复 25 + 个 bug:涵盖 JSON 处理、decimal 运算、查询执行等
  • 改进错误处理:覆盖边缘情况和并发操作
  • 提升事务可靠性:临时表和审计日志更稳定

深度解析:Virtual Columns 技术

🚀 Virtual Columns:自动化的 JSON 索引

我们对现有的 Virtual Columns 功能进行了全面优化,专为 JSON 工作负载量身打造。你可以把它看作是自动化的 JSON 索引------无需任何手动干预。

Virtual Columns 能够自动分析 JSON 数据结构,发现常用访问路径,并为这些路径生成独立的列索引。具体来说,当加载 JSON 数据时,系统会自动执行以下操作:

  1. 分析 JSON 文档的访问模式
  2. 为常用路径创建优化索引
  3. 将查询路由到这些快速索引,而不是每次都通过 jsonb 函数查询

示例 JSON:

json 复制代码
{
  "customer_id": 123,
  "order": {
    "items": [{"name": "Shoes", "price": 59.99}]
  },
  "user": {"name": "Alice", "email": "alice@example.com"}
}

自动创建的索引:

  • customer_id → 整数索引
  • order.items[0].price → 数值索引
  • user.name → 字符串索引

无需配置,无需维护,直接享受更快的查询速度。

📊 真实数据对比

以下是我们的测试结果:

优化前(传统 JSON 解析):

sql 复制代码
SELECT data['account_balance'], data['address']['city'] 
FROM user_logs;
-- 耗时 3.76 秒,处理 11.90 GB 数据

优化后(自动 Virtual Columns 索引):

sql 复制代码
-- 完全相同的查询
SELECT data['account_balance'], data['address']['city'] 
FROM user_logs;
-- 耗时 1.32 秒,处理 461 MB 数据

查询速度提升 3 倍,数据扫描量减少 26 倍,无需修改任何代码!

🔧 兼容多种 JSON 语法

我们支持你已经熟悉的多种 JSON 查询语法:

Snowflake 风格:

sql 复制代码
SELECT data['user']['name'] FROM customers;       -- 方括号
SELECT data:user:name FROM customers;             -- 冒号
SELECT data['user'].profile.name FROM customers;  -- 混合语法

PostgreSQL 风格:

sql 复制代码
SELECT data->'user'->'name' FROM customers;       -- 箭头

无论使用哪种语法,都能享受自动索引带来的性能提升。

未来展望:统一架构,持续进化

七月的 JSON 优化只是我们更大蓝图的一部分。我们正在构建一个统一的架构,以驾驭所有类型的数据:

多模态数据处理能力

  • 结构化数据:世界一流的列式存储性能(已完成)
  • 半结构化数据:自动 Virtual Columns 索引(七月里程碑)
  • 🚀 非结构化数据:向量计算和存储,与谓词下推(八月预览)

🔮 八月预览:非结构化数据存储与计算

如果说七月是关于半结构化 JSON 的自动索引,那么八月将聚焦于非结构化数据。我们将推出全面的向量存储、计算和查询加速能力:

八月亮点:

  • 向量化存储:原生 vector 数据类型,优化的列式存储
  • HNSW 索引:加速相似性搜索,毫秒级查询响应
  • 跨模态 SQL 联结:在单个查询中处理结构化、半结构化和非结构化数据

想象一下这样的查询:

sql 复制代码
-- 使用矢量嵌入查找相似产品
-- 同时分析其销售业绩(结构化数据)
-- 并提取 JSON 评论中的情感分析结果
-- 所有操作都在一个 SQL 查询中完成

SELECT p.product_name, 
       sales.total_revenue,
       reviews.data['sentiment']['score'] as sentiment,
       COSINE_SIMILARITY(p.embedding, :search_vector) as similarity
FROM products p
JOIN sales_data sales ON p.id = sales.product_id  -- 结构化数据
JOIN product_reviews reviews ON p.id = reviews.product_id  -- 半结构化 JSON
WHERE COSINE_SIMILARITY(p.embedding, :search_vector) > 0.8  -- 非结构化
  AND reviews.data['sentiment']['score'] > 0.7
ORDER BY similarity DESC, total_revenue DESC;

为 AI 时代构建真正统一的数据平台 ------ 结构化分析、JSON 查询和非结构化数据搜索无缝协作。无需数据迁移,无需多个系统,只需一个 SQL 查询即可处理所有数据类型。

开源地址:github.com/databendlab...

感谢一路相伴!我们下期再见~ ✨

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式湖仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

👨‍💻‍ Databend Cloud:databend.cn

📖 Databend 文档:docs.databend.cn

💻 Wechat:Databend

✨ GitHub:github.com/databendlab...

相关推荐
SelectDB6 小时前
Doris 直查 Paimon 索引:快手湖上向量检索的共建与落地
大数据·数据库·数据分析
风123456789~6 小时前
【Oracle专栏】全局 && 本地复合索引 实验
数据库·oracle
1314lay_10076 小时前
通过Sql Server创建EXCEL文件:master..xp_cmdshell
数据库·excel
zzzll11116 小时前
用 DeepSeek Harness 手搓一个自己的 Agent
数据库
名字还没想好☜7 小时前
Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制
java·数据库·后端·python·spring
del7 小时前
第十周技术博客
数据库
1314lay_10077 小时前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
anxiao_m7 小时前
2026大文件传输软件推荐,从速度安全多维度客观测评
数据库·文件传输·传输
IT大白鼠7 小时前
MySQL 分布式集群系列 · 第七篇——生产调优实战:NDB 性能、内存、高可用全方位优化
数据库·分布式·mysql
IvorySQL7 小时前
打造下一代 AI Agent 的统一多模智能数据底座——PostgreSQL 与 AI 的融合演进
数据库·人工智能·postgresql