Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.com 。
探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。
FlightSQL 是一种创新的开放式数据库协议,适用于现代架构。面向列设计,并提供对数据分区并行处理的无缝支持。
支持 FlightSQL 的好处包括减少不必要的序列化和反序列化,以及使用预定义的 *.proto
文件轻松支持不同语言的 SDK 实现。
Databend 正在积极开发对 FlightSQL 的支持。如果你对此感兴趣,请参考以下链接:
通过与流行的 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',
'');
*************************** 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 上使用。要了解其工作原理,请参阅以下链接:
一起来探索 Databend 和周边生态中的代码片段或项目。
Databend 最近新增 cosine_distance
函数。输入是两个类型为 f32 的 slice 。
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
crate 中的 ArrayView
类型高效地执行计算。
pub fn cosine_distance(from: &[f32], to: &[f32]) -> Result {
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 验证你的答案。
以下是一些值得注意的事件,也许您可以找到感兴趣的内容。
PIVOT
,UNPIVOT
,GROUP BY CUBE
和 GROUP BY ROLLUP
查询语法。有关更多信息,请参见 PR#10676 和 #10601 。我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。
-Zgitoxide
以加速 Git 依赖下载启用 -Zgitoxide
可以显著加快我们 Git 依赖的下载速度,比仅使用 Git 要快得多。
此特性可以将 cargo
与 gitoxide
集成,后者是一个纯 Rust 实现的 Git 版本控制系统,具有易用、精简、高效和安全等特点。
Issue #10466 | CI: Enable -Zgitoxide to speed our git deps download speed
如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 performance: enable xor filter index for IN · Issue #8625 · datafuselabs/databend · GitHub 来挑选一个随机问题,祝好运!
前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。
地址:Releases · datafuselabs/databend · GitHub
非常感谢贡献者们在本周的卓越工作。
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。