首页 > 数据库 > 国内数据库 > Databend 产品月报(2025年7月)
亲爱的 Databend 用户朋友们,大家好!🚀
这个七月,我们专注于优化一个核心目标: JSON 查询性能。最令人兴奋的是,我们对 Virtual Columns 功能进行了全面升级,效果显著—— JSON 查询速度提升 3 倍,同时 数据扫描量减少 26 倍!
不过,最让人兴奋的,还是 JSON 性能的突破性提升。
✓
Virtual Columns 性能飞跃:JSON 查询速度提升 3 倍,数据扫描量减少 26 倍
✓
增强的 RBAC 权限管理:支持 connection 和 sequence 对象
✓
Shuffle 排序优化:大幅提高大规模有序数据集的性能
✓
流式处理改进:Virtual Columns 支持流式数据
✓
工作负载管理:新增基于内存百分比的资源配额
✨
40+ JSON 函数:全面覆盖 JSON 操作需求
✨
多语法支持:兼容 Snowflake 和 PostgreSQL 语法
✨
增强的 UDF:新增 IMMUTABLE 支持,性能更优
✨
调试工具升级:metactl 工具更强大
• 元服务优化:毫秒级精度,架构更优
• 查询优化:包括 grouping sets 重写等改进
• 内存管理:基于百分比的配额机制
我们对现有的 Virtual Columns 功能进行了全面优化,专为 JSON 工作负载量身打造。你可以把它看作是 自动化的 JSON 索引——无需任何手动干预。
Virtual Columns 能够自动分析 JSON 数据结构,发现常用访问路径,并为这些路径生成独立的列索引。具体来说,当加载 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 解析):
SELECT data['account_balance'], data['address']['city'] FROM user_logs; -- 耗时 3.76 秒,处理 11.90 GB 数据
优化后(自动 Virtual Columns 索引):
-- 完全相同的查询 SELECT data['account_balance'], data['address']['city'] FROM user_logs; -- 耗时 1.32 秒,处理 461 MB 数据
查询速度提升 3 倍,数据扫描量减少 26 倍,无需修改任何代码!
我们支持你已经熟悉的多种 JSON 查询语法:
Snowflake 风格:
SELECT data['user']['name'] FROM customers; -- 方括号 SELECT data:user:name FROM customers; -- 冒号 SELECT data['user'].profile.name FROM customers; -- 混合语法
PostgreSQL 风格:
SELECT data->'user'->'name' FROM customers; -- 箭头
无论使用哪种语法,都能享受自动索引带来的性能提升。
七月的 JSON 优化只是我们更大蓝图的一部分。我们正在构建一个统一的架构,以驾驭所有类型的数据:
如果说七月是关于半结构化 JSON 的自动索引,那么八月将聚焦于 非结构化数据。我们将推出全面的向量存储、计算和查询加速能力:
八月亮点:
想象一下这样的查询:
-- 使用矢量嵌入查找相似产品 -- 同时分析其销售业绩(结构化数据) -- 并提取 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 查询即可处理所有数据类型。
开源地址: https://github.com/databendlabs/databend。
感谢一路相伴!我们下期再见~ ✨
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式湖仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
👨💻 Databend Cloud: databend.cn
📖 Databend 文档: docs.databend.cn
💻 Wechat:Databend
✨ GitHub: github.com/databendlab…
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70042558/viewspace-3092816/ ,如需转载,请注明出处,否则将追究法律责任。