各位社区小伙伴们,Databend 于 2023 年 4 月 14 日迎来了 v1.1.0 版别的正式发布! 这次新版别是 Databend 发布1.0 版别之后的第一个大版别!相较于 v1.0.0 版别,开发者们一共新增了 1,616 次commit, 共计 505 个优化和修正,涉及 2,069 个文件变更,约 16 万 行代码修改。感谢各位社区伙伴的参加,以及每一个让 Databend 变得更好的你!
在 v1.1.0 版别中,咱们为 COPY INTO
支撑了根本的 ETL 才能,在数据导入进程中即可轻松转化数据;Databend 现在能够成功运转所有 TPC-DS 查询,此外,还进行了一些性能优化和功用改进。
Databend x 内核
Databend 重要新特性速览,遇到更贴近你心意的 Databend 。
COPY INTO 支撑 ETL 才能
COPY INTO
是 Databend 跨多云数据导入的重要途径,现在,它也具备根本的数据转化才能,避免在暂时表中存储预转化数据,并支撑列重新排序、列省略和根据 SELECT
的转化查询。
CREATE TABLE my_table(id int, name string, time date);
COPY INTO my_table
FROM (SELECT t.id, t.name, to_date(t.timestamp) FROM @mystage t)
FILE_FORMAT = (type = parquet) PATTERN='.*parquet';
这一功用能够协助你简化 ETL 工作流,从而更专心于数据剖析。
Docs – Load Data | Transforming Data During a Load
支撑悉数 TPC-DS 查询
Databend 现已支撑悉数 99 条 TPC-DS 查询!
TPC-DS 是一个面向决策支撑体系的包括多维度常规运用模型的决策支撑 benchmark ,它对决策支撑体系的几个普遍适用方面进行建模,包括查询和数据保护。TPC-DS 被广泛用于衡量决策支撑和剖析体系的性能。
Blog – Benchmarking TPC-DS with Databend
REPLACE INTO
Databend 现在支撑运用 REPLACE INTO 句子刺进或更新数据。该句子答应你指定一个冲突键(conflict key),用于判断是应该刺进一行新数据,还是更新一行已有数据。
假如表中已经存在与冲突键相同的行,Databend 会用新数据更新这一行。否则,新数据会作为一行新记录添加到表中。你能够运用这个句子来轻松地同步不同来源的数据或处理重复记录。
#> CREATE TABLE employees(id INT, name VARCHAR, salary INT);
#> REPLACE INTO employees (id, name, salary) ON (id) VALUES (1, 'John Doe', 50000);
#> SELECT * FROM Employees;
+------+----------+--------+
| id | name | salary |
+------+----------+--------+
| 1 | John Doe | 50000 |
+------+----------+--------+
- Docs – DML Commands | REPLACE
Window Function
窗口函数(Window Function) 为每行数据进行一次计算:输入多行(一个窗口)、回来一个值。在报表等剖析型查询中,窗口函数能优雅地表达某些需求,发挥不可代替的作用。
-- use aggrerate window function
SELECT date, AVG(amount) over (partition by date)
FROM BookSold
June 21|544.0
June 21|544.0
June 22|454.5
June 22|454.5
June 23|643.0
June 23|643.0
聚合窗口函数能够将聚合运算运用于窗口中的每一行数据。Databend 所支撑的所有聚合函数都能够作为聚合窗口函数运用。
Docs – SQL Functions | Window Functions
Databend x 生态
Databend 的生态地图得到了进一步的完善。是时候将 Databend 引进你的数据洞见工作流啦!
可视化大盘
Metabase、Redash 和 Grafana 都是开源的可视化东西,能够从多个数据源中查询数据并将其可视化。
Databend 现在提供对上述三种东西的支撑。你能够运用 Databend 作为数据源,利用这三种东西轻松构建可视化大盘,更好地理解和剖析你的数据。
Docs – Data Visualization | Metabase
Docs – Data Visualization | Redash
Docs – Data Visualization | Connecting Databend With Grafana
编程言语支撑
除了支撑 Python、Go、Java 之外,Databend 现在还具有自己的 Rust driver。这意味着你能够运用 Rust 轻松衔接 Databend 并履行 SQL 查询。
use databend_driver::new_connection;
let dsn = "databend://root:@localhost:8000/default?sslmode=disable";
let conn = new_connection(dsn).unwrap();
let sql_create = "CREATE TABLE books (
title VARCHAR,
author VARCHAR,
date Date
);";
conn.exec(sql_create).await.unwrap();
crates.io – databend-driver
Databend x AI
当云数仓遇到当下最热的大模型会擦出怎样的火花?Databend 与 OpenAI 联乘,让生产力多一点 AI 。
AI Functions
Databend 现在内置实用 AI 函数 ai_to_sql
,支撑将自然言语转化为 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');
别的,Databend 还支撑文本 embeding 生成、相似度检索、文本补全等才能,一站式轻松构建根据 SQL 查询、由 AI 赋能的生产力东西。
SELECT doc_id, text_content, cosine_distance(embedding, ai_embedding_vector('What is a subfield of artificial intelligence?')) AS distance
FROM embeddings
ORDER BY distance ASC
LIMIT 5;
SELECT ai_text_completion('Artificial intelligence is a fascinating field. What is a subfield of artificial intelligence?') AS completion;
Docs – SQL Functions | AI Functions
AskBend
不如问问神奇海螺吧!Databend 现在上线 AskBend 知识库问答体系,能够在线问答关于 Databend 的悉数。
P.S. AskBend 现已开源,由 Databend Cloud 和 AI Functions 强力驱动,你也能够运用 Markdown 文件创建并布置自己的智能小助手。
AskBend – asking for Databend documentation
Github – datafuselabs/askbend
下载运用
假如你对咱们新版别功用感兴趣,欢迎来 github.com/datafuselab… 页面检查悉数的 changelog 或者 下载 release 体验。
假如你还在运用旧版别的 Databend,咱们引荐晋级到最新版别,晋级进程请参考:
databend.rs/doc/operati…
定见反馈
假如您遇到任何运用上的问题,欢迎随时通过 GitHub issue 或社区用户群中提主张
GitHub: github.com/datafuselab…
称谢
最后感谢参加新版别设计开发,测验,文档贡献的开发者们。
关于Databend
Databend 是一款开源、弹性、低成本,根据对象存储也能够做实时剖析的新式数仓。等待您的关注,一同探究云原生数仓解决方案,打造新一代开源 Data Cloud。
Databend Cloud:databend.cn
Databend 文档:databend.rs/
Wechat:Databend
✨ GitHub:github.com/datafuselab…