Databend is an open source elastic and reliable Modern Cloud Data Warehouse, it offers blazing fast query and combines elasticity, simplicity, low cost of the cloud, built to make the Data Cloud easy.

Big changes

Below is a list of some major changes that we don't want you to miss.

Features

  • support abort pipeline (#6174)
  • integration with sentry (#6226)
  • rewrite predicate and accelerate tpch19 (#6301)

databend meta

  • support leave a cluster with databend-meta --leave.. (#6181)
  • add import init cluster support (#6280)

statements

  • support exists statement (#6166)
  • statement delete from... (#5691)
  • order by sub stmt support db.table.col (#6191)

new planner

  • introduce serializable physical plan (#6191)
  • support non-equi conditions in hash join (#6145)
  • decorrelate EXISTS subquery with non-equi condition (#6232)
  • migrate Create(#5905)/Alter(#6319)/Drop(#6327) UDF

Improvement

  • improve compatibility with clickhouse http handler (#6148)
  • limit push down for table fuse_snapshot & proc system$fuse_snapshot (#6167)
  • split ast statements into multiple mods (#6176)
  • store grpc addr to node info and auto refresh backends addrs for grpc client (#5495)

Join Performance Improvements

  • improve left/semi/anti join performance [~80x] (#6241)
  • improve join results gather [~7x] (#6228)
  • improve semi/anti join with other conjuncts [~17x] (#6366)

Build/Testing/CI

  • add tpch stateless-test (#6225)
  • add async insert test (#5964)

Bug fixes

  • fix datatype different cause mysql session distroy (#6150)
  • fix node id truncation when cluster id is escaped (#6193)
  • fix aggregate count incorrect state place (#6218)
  • fix grouping check (#6219)
  • fix output of to_datetime() (#6252)
  • fix MySQL connection close_wait or fin_wait_2 (#6341)

Tips

Let's learn a weekly tip from Databend.

DELETE in Databend

The DELETE statement can delete one or more rows from a table.

Syntax

Databend now supports such syntax:

DELETE FROM table_name
[WHERE search_ condition]

Example

Suppose that the bookstore table currently contains the following data:

bookIdbookName
101After the death of Don Juan
102Grown ups
103The long answer
104Wartime friends
105Deconstructed

Now let's delete the book with id = 103:

DELETE from bookstore where bookId = 103;

After deletion, the data in the bookstore table is shown as follows:

bookIdbookName
101After the death of Don Juan
102Grown ups
104Wartime friends
105Deconstructed

Learn more:

Changlogs

You can check the changelogs of Databend nightly to learn about our latest developments.

Contributors

Thanks a lot to the contributors for their excellent work this week.

ariesdevilb41shBohuTANGClSlaidcuichenlidantengsky
ariesdevilb41shBohuTANGClSlaidcuichenlidantengsky
drmingdrmereverpcpcfkunerleiyskylichuangmergify[bot]
drmingdrmereverpcpcfkunerleiyskylichuangmergify[bot]
PsiACEsoyeric128sundy-liTCeasonTennyZhuangXuanwo
PsiACEsoyeric128sundy-liTCeasonTennyZhuangXuanwo
xudong963youngsofunzhang2014ZhiHanZ
xudong963youngsofunzhang2014ZhiHanZ

Meet Us

Please join the DatafuseLabs Community if you are interested in Databend.

We are looking forward to seeing you try our code. We have a strong team behind you to ensure a smooth experience in trying our code for your projects. If you are a hacker passionate about database internals, feel free to play with our code.

You can submit issues for any problems you find. We also highly appreciate any of your pull requests.