Databend 开源周报第 86 期
Databend Labs3月 27, 2023
英文版移步:https://www.databend.com/blog/2023-03-24-databend-weekly
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。
What's On In Databend
探索 Databend 本周新进展,遇到更贴近你心意的 Databend。
FlightSQL 协议支持正在进行中
FlightSQL 是一种创新的开放式数据库协议,适用于现代架构。面向列设计,并提供对数据分区并行处理的无缝支持。
支持 FlightSQL 的好处包括减少不必要的序列化和反序列化,以及使用预定义的
*.proto
Databend 正在积极开发对 FlightSQL 的支持。如果你对此感兴趣,请参考以下链接:
将自然语言转换为 SQL
通过与流行的 AI 服务集成,
Databend
AI_TO_SQL
该函数可以将自然语言编写的指令转换为与表模式对齐的 SQL 查询语句。只需进行少量修改(或可能根本不需要),即可投入生产。
SELECT * FROM ai_to_sql(
'List the total amount spent by users from the USA who are older than 30 years, grouped by their names, along with the number of orders they made in 2022',
'<openai-api-key>');
*************************** 1. row ***************************
database: openai
generated_sql: SELECT name, SUM(price) AS total_spent, COUNT(order_id) AS total_orders
FROM users
JOIN orders ON users.id = orders.user_id
WHERE country = 'USA' AND age > 30 AND order_date BETWEEN '2022-01-01' AND '2022-12-31'
GROUP BY name;
该函数现在可在 Databend 和 Databend Cloud 上使用。要了解其工作原理,请参阅以下链接:
Code Corner
一起来探索 Databend 和周边生态中的代码片段或项目。
向量相似度查询
Databend 最近新增
cosine_distance
select cosine_distance([3.0, 45.0, 7.0, 2.0, 5.0, 20.0, 13.0, 12.0], [2.0, 54.0, 13.0, 15.0, 22.0, 34.0, 50.0, 1.0]) as sim
----
0.8735807
底层的 Rust 实现利用
ndarray
ArrayView
pub fn cosine_distance(from: &[f32], to: &[f32]) -> Result<f32> {
if from.len() != to.len() {
return Err(ErrorCode::InvalidArgument(format!(
"Vector length not equal: {:} != {:}",
from.len(),
to.len(),
)));
}
let a = ArrayView::from(from);
let b = ArrayView::from(to);
let aa_sum = (&a * &a).sum();
let bb_sum = (&b * &b).sum();
Ok((&a * &b).sum() / ((aa_sum).sqrt() * (bb_sum).sqrt()))
}
你还记得怎么将 scalar functions 集成到 Databend 中吗?可以查看 Doc | How to Write a Scalar Function 和 PR | #10737 验证你的答案。
亮点
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
- 了解如何使用 Prometheus 和 Grafana 监控 Databend:Doc | Monitor - Prometheus & Grafana
- Databend 现在提供 Metabase 驱动 帮助你将 Databend 连接到 Metabase 并为轻松创建数据仪表板:Doc | Integrations - Metabase
- Databend 现在支持 ,
PIVOT
,UNPIVOT
和GROUP BY CUBE
查询语法。有关更多信息,请参见 PR#10676 和 #10601 。GROUP BY ROLLUP
What's Up Next
我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。
启用 -Zgitoxide
以加速 Git 依赖下载
-Zgitoxide
启用
-Zgitoxide
此特性可以将
cargo
gitoxide
Issue #10466 | CI: Enable -Zgitoxide to speed our git deps download speed
如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review。或者,你可以点击 https://link.databend.com/i-m-feeling-lucky 来挑选一个随机问题,祝好运!
Changelog
前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。
地址:https://github.com/databendlabs/databend/releases
订阅我们的新闻简报
及时了解功能发布、产品规划、支持服务和云服务的最新信息!