---
# System prepended metadata

title: Databend v1.1 版本发布！
tags: [product]

---

---
title: Databend v1.1 版本发布！
description: 
slug:  databend-changelog-1-1
date: 2023-04-13
tags: [product]
category: product
cover_url: changelog-1-1-0.PNG
image: changelog-1-1-0.PNG
authors:
- datafuselabs
---

![](https://i.imgur.com/JaCvF2h.png)

各位社区小伙伴们，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` 的转换查询。

```sql
  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](https://databend.rs/doc/load-data/data-load-transform)

### 支持全部 TPC-DS 查询

Databend 现已支持全部 99 条 TPC-DS 查询！

TPC-DS 是一个面向决策支持系统的包含多维度常规应用模型的决策支持 benchmark ，它对决策支持系统的几个普遍适用方面进行建模，包括查询和数据维护。TPC-DS 被广泛用于衡量决策支持和分析系统的性能。

[Blog - Benchmarking TPC-DS with Databend](https://databend.rs/blog/2023/04/11/benchmark-tpc-ds)

###  REPLACE INTO

Databend 现在支持使用 REPLACE INTO 语句插入或更新数据。该语句允许你指定一个冲突键（conflict key），用于判断是应该插入一行新数据，还是更新一行已有数据。

如果表中已经存在与冲突键相同的行，Databend 会用新数据更新这一行。否则，新数据会作为一行新记录添加到表中。你可以使用这个语句来轻松地同步不同来源的数据或处理重复记录。

```sql
#> 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](https://databend.rs/doc/sql-commands/dml/dml-replace)

### Window Function

窗口函数（Window Function） 为每行数据进行一次计算：输入多行（一个窗口）、返回一个值。在报表等分析型查询中，窗口函数能优雅地表达某些需求，发挥不可替代的作用。

```sql
  -- 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](https://databend.rs/doc/sql-functions/window-functions/)

## Databend x 生态

Databend 的生态版图得到了进一步的完善。是时候将 Databend 引入你的数据洞见工作流啦！

### 可视化大盘
Metabase、Redash 和 Grafana 都是开源的可视化工具，能够从多个数据源中查询数据并将其可视化。

Databend 现在提供对上述三种工具的支持。你可以使用 Databend 作为数据源，利用这三种工具轻松构建可视化大盘，更好地理解和分析你的数据。

![图片](https://databend.rs/img/integration/integration-gui-grafana-dashboard.png)

[Docs - Data Visualization | Metabase](https://databend.rs/doc/integrations/gui-tool/metabase)

[Docs - Data Visualization | Redash](https://databend.rs/doc/integrations/gui-tool/redash)

[Docs - Data Visualization | Connecting Databend With Grafana](https://databend.rs/doc/integrations/gui-tool/grafana)

### 编程语言支持

除了支持 Python、Go、Java 之外，Databend 现在还拥有自己的 Rust driver。这意味着你可以使用 Rust 轻松连接 Databend 并执行 SQL 查询。

```rust
  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](https://crates.io/crates/databend-driver)

## Databend x AI

当云数仓遇到当下最热的大模型会擦出怎样的火花？Databend 与 OpenAI 联乘，让生产力多一点 AI 。

### AI Functions

Databend 现在内置实用 AI 函数 `ai_to_sql`，支持将自然语言转换为 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 赋能的生产力工具。

```sql
  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](https://databend.rs/doc/sql-functions/ai-functions/)

### AskBend

不如问问神奇海螺吧！Databend 现在上线 AskBend 知识库问答系统，可以在线问答关于 Databend 的一切。

![图片](https://databend-git-fork-psiace-veleven-databend.vercel.app/assets/images/askbend-09869b62c8bed487b7331bed843c7a1e.png)

P.S. AskBend 现已开源，由 Databend Cloud 和 AI Functions 强力驱动，你也可以使用 Markdown 文件创建并部署自己的智能小助手。

[AskBend - asking for Databend documentation](https://ask.databend.rs/)

[Github - datafuselabs/askbend](https://github.com/datafuselabs/askbend)

## 下载使用

如果你对我们新版本功能感兴趣，欢迎来 https://github.com/datafuselabs/databend/releases/tag/v1.1.0-nightly 页面查看全部的 changelog 或者 下载 release 体验。

如果你还在使用旧版本的 Databend，我们推荐升级到最新版本，升级过程请参考：

https://databend.rs/doc/operations/upgrade

## 意见反馈

如果您遇到任何使用上的问题，欢迎随时通过 GitHub issue 或社区用户群中提建议

GitHub: https://github.com/datafuselabs/databend/

## 致谢

最后感谢参与新版本设计开发，测试，文档贡献的开发者们。

![](https://i.imgur.com/KeI8FGL.jpg)
