This week in Databend #22

Databend aimed to be an open source elastic and reliable cloud 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

Improvement

Performance Improvement

  • improve performance of arithmetic plus functions by @zhyass (#3615)

Bug fixes

Tips

Let's learn a weekly tip from Databend.

Have fun with Databend UDF (User Defined Function)

In the last week we have introduced an experimental UDF engine, thanks @lianghanzhen. Let's try it out together.

Create a UDF

Databend supports the use of expressions as user defined functions. We can easily create a user-defined function in lambda-like style with CREATE FUNCTION <fn-name> AS (<fn-param0>, ...) -> <fn-expr>. Let's create a custom function to calculate the mean of two numbers together.

mysql> CREATE FUNCTION mean2number AS (x, y) -> (x + y) / 2;
Query OK, 0 rows affected (0.05 sec)
Read 0 rows, 0 B in 0.037 sec., 0 rows/sec., 0 B/sec.

Call a UDF

Calling UDF is the same as calling any other function. In the following example we have calculated the mean of 150 and 250.

mysql> SELECT mean2number(150, 250);
+-------------------+
| ((150 + 250) / 2) |
+-------------------+
|               200 |
+-------------------+
1 row in set (0.02 sec)
Read 1 rows, 1 B in 0.018 sec., 55.59 rows/sec., 55.59 B/sec.

Changelogs

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

Ecosystem/Upstream

From open source, for open source. Our team is also committed to contributing to the Rust ecosystem and upstream dependencies.

  • datafuselabs/openraft: An implementation of the Raft distributed consensus protocol using the Tokio framework. The async-raft fork, maintained by the databend team, fixes serious bugs.

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.

This week in Databend #21

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

This week, the migration of the Databend website to Docusaurus was completed; it is now hosted on a service sponsored by Vercel. Please enjoy it.

Big changes

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

Features

Improvement

Performance Improvement

Bug fixes

Tips

Let's learn a weekly tip from Databend.

What's happening in Databend SQL layer

With #2983 ready for review, Databend's SQL layer will see the arrival of a new planner framework.

In fact, we have a number of plans for refactoring the SQL layer, which may even include a rewritten parser.

Changelogs

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

Ecosystem/Upstream

From open source, for open source. Our team is also committed to contributing to the Rust ecosystem and upstream dependencies.

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.

This week in Databend #20

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

This week, Databend releases v0.6.0-nightly and begins a new six-week iteration. To learn about the main changes in v0.6, please see Checklist proposal: Nightly v0.6.

Get a sneak peek at the goals of v0.7 ? Check out Checklist proposal: Nightly v0.7.

Big changes

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

Features

Improvement

Build / Test / CI

Bug fixes

Tips

Let's learn a weekly tip from Databend.

Discuss proposals for Databend

We currently have some discussions about proposals on the GitHub that may help you understand the mechanics of the work or get involved.

  • Query Cache

    Clever use of caching can provide effective acceleration for Databend. We are implementing a single node memory-disk level 2 cache. Perhaps we will be moving towards distributed caching soon, more discussion on design and implementation is welcome, let's hear your thoughts. Related discussion #3478.

  • Re-organise our building systems

    Our current build / test system is quite complex. We have Makeflie, Dockerfile(s), and a lot of shell / python scripts. We want to build a build/test/benchmark system based on the Rust style, so if you have any good ideas, please feel free to share to us. Related discussion #3419.

  • Refactor CI pipeline into stages

    If you're interested in GitHub workflows, then take a look at this proposal. By refactoring CI, we have effectively reduced blocking and been able to maintain it better. Related discussion #3415.

Changelogs

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

Ecosystem/Upstream

From open source, for open source. Our team is also committed to contributing to the Rust ecosystem and upstream dependencies.

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.

This week in Databend #19

Databend aimed to be an open source elastic and reliable cloud 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

Improvement

Performance Improvement

Bug fixes

Tips

Let's learn a weekly tip from Databend.

How to explore github repos via Databend

Databend now supports GitHub as a data source, and you can read the relevant code at storages/github.

create github-engine based database

Before running databend, your Github Access Token should be set.

export GITHUB_TOKEN=<your_token>;

Create a Github powered database.

databend :) create database datafuselabs engine=github;

0 rows in set. Elapsed: 2.611 sec. 

show all tables

Show all tables in this database, which are currently flattened. This means that Repos, issues and PRs are all in the form of tables.

databend :) use datafuselabs;

0 rows in set. Elapsed: 0.013 sec.

databend :) show tables;

+---------------------------------+
| name                            |
+---------------------------------+
| .github                         |
| .github_comments                |
| .github_issues                  |
| .github_prs                     |
| databend                        |
| databend-playground             |
| databend-playground_comments    |
| databend-playground_issues      |
| databend-playground_prs         |
| databend_comments               |
| databend_issues                 |
| databend_prs                    |
| ...                             |
+---------------------------------+

36 rows in set. Elapsed: 0.053 sec. 

View basic information about a repo

databend :) select * from databend;

+------------+----------+------------+------------+-------------+----------------+-------------------+-------------------+
| reposiroty | language | license    | star_count | forks_count | watchers_count | open_issues_count | subscribers_count |
+------------+----------+------------+------------+-------------+----------------+-------------------+-------------------+
| databend   | Rust     | apache-2.0 |       2661 |         252 |           2661 |               349 |                63 |
+------------+----------+------------+------------+-------------+----------------+-------------------+-------------------+

1 rows in set. Elapsed: 1.368 sec. 

Changelogs

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

Ecosystem/Upstream

From open source, for open source. Our team is also committed to contributing to the Rust ecosystem and upstream dependencies.

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.

This week in Databend #18

Databend aimed to be an open source elastic and reliable cloud 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

Improvement

Performance Improvement

Bug fixes

Tips

Let's learn a weekly tip from Databend.

How to load data into Databend

Databend now supports the loading of data via the following methods:

Changelogs

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

Ecosystem/Upstream

From open source, for open source. Our team is also committed to contributing to the Rust ecosystem and upstream dependencies.

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.