This week in Databend #65
Databend is a powerful cloud data warehouse. Built for elasticity and efficiency. Free and open. Also available in the cloud: https://app.databend.com .
Below is a list of some major changes that we don't want you to miss.
Exciting New Features ✨
- Multiple Catalog (#8254)
- add metainfo in datablock (#8417)
- improve performance of count distinct (#8317)
- optimize join plan to make filter push down (#8377)
- http handler no longer need to call
- support SET ROLE and current_role() (#8392)
- Compact Segment (#8261)
- Add cache operator in common-storage (#8306)
- introduce data metrics for table (#8363)
- add gc status to data metrics and show in processlist (#8389)
- allow loading data from local fs (#8431)
- new system table:
- implement array function
get()for tuple (#8372)
- add join tests under large dataset (#8351)
Code Refactor 🎉
- use right mark join as subquery's default join type (#8427)
- move expressoin test to function-v2 (#8397)
Build/Testing/CI Infra Changes 🔌
Thoughtful Bug Fix 🔧
- throw errors while loading config failed (#8462)
- fix aggregation in cluster mode (#8333)
- left join panic (#8325)
- remove unnecessary required columns (#8443)
- try fix data lost when resize multi outputs (#8319)
- try fix lost last message if finish at same time (#8333)
- StringSearchLike vector_vector can not match '\n' (#8359)
- optimize upsert table copied file info (#8409)
- div zero return err (#8464)
Let's take a look at what's new at Datafuse Labs & Databend each week.
RFC: Multiple Catalog
Databend supports multiple catalogs now, but only in a static way.
To allow accessing the hive catalog, users need to configure
databend-query.toml in this way:
[catalog] meta_store_address = "127.0.0.1:9083" protocol = "binary"
Users can't add/alter/remove the catalogs during runtime.
By allowing users to maintain multiple catalogs for the databend, we can integrate more catalogs like
iceberg more quickly.
Jepsen Test for Databend Meta Service
Jepsen is an open source software library for system testing. It is an effort to improve the safety of distributed databases, queues, consensus systems, etc.
For the past period of time, @lichuang has been working on the design and implementation of a Jepsen test solution for the Databend Meta Service.
If you are interested in this test, please check the corresponding GitHub Repo, which contains the steps, scripts and clients for the test.
- GitHub Repo: https://github.com/datafuselabs/jepsen.meta
Meet issues you may be interested in and try to solve it.
New Key-Value services support for OpenDAL
OpenDAL means Open Data Access Layer and its goal is Access data freely, painlessly, and efficiently .
In past, OpenDAL has completed support for different storage backends such as local file system, AWS s3, Azure Blob, etc. And to support storing volatile data to provide cache solutions and temporary storage of data, OpenDAL has designed and implemented Key-Value service support (with
The following backends are currently available for the Key-Value service:
- memory: Service based on BtreeMap
- moka: Service based on the high-performance caching library moka.
- redis: Service based on redis.
The community also plans to add support for the following Key-Value services:
- Issue 854: Implement tikv services support via kv adapter
- Issue 855: Implement rocksdb services support via kv adapter
- Issue 856: Implement memcached services support via kv adapter
If you find these interesting, try to solve them or participate in discussions and PR reviews. Or you can click on https://link.databend.rs/i-m-feeling-lucky to pick up a good first issue, good luck!
You can check the changelogs of Databend nightly to learn about our latest developments.
Thanks a lot to the contributors for their excellent work this week.
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.
- Databend Website
- Weekly (A weekly newsletter about Databend)
- GitHub Discussions (Feature/Bug reports, Contributions)
- Twitter (Get the news fast)
- Slack Channel (For live discussion with the Community)