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 .
What's Changed
Below is a list of some major changes that we don't want you to miss.
Exciting New Features ✨
RFC
- Multiple Catalog (#8254)
meta
datablock
- add metainfo in datablock (#8417)
functions
- improve performance of count distinct (#8317)
parser
planner
- optimize join plan to make filter push down (#8377)
handlers
- http handler no longer need to call
final_uri
explicitly. (#8299)
rbac
- support SET ROLE and current_role() (#8392)
storage
- 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:
system.catalogs
(#8423)
new expression
- implement array function
slice
,remove_fist
,remove_last
(#8326) - add
tuple()
andget()
for tuple (#8372)
tests
- add join tests under large dataset (#8351)
Code Refactor 🎉
meta
planner
- use right mark join as subquery's default join type (#8427)
query
storage
new expression
- move expressoin test to function-v2 (#8397)
Build/Testing/CI Infra Changes 🔌
Thoughtful Bug Fix 🔧
config
- throw errors while loading config failed (#8462)
planner
- fix aggregation in cluster mode (#8333)
- left join panic (#8325)
- remove unnecessary required columns (#8443)
processor
- try fix data lost when resize multi outputs (#8319)
- try fix lost last message if finish at same time (#8333)
query
- StringSearchLike vector_vector can not match '\n' (#8359)
- optimize upsert table copied file info (#8409)
- div zero return err (#8464)
storage
News
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 hive
inside 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.
Learn More
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.
Learn More
- GitHub Repo: https://github.com/datafuselabs/jepsen.meta
Issues
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 kv::Adapter
).
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!
Changelogs
You can check the changelogs of Databend nightly to learn about our latest developments.
- v0.8.90-nightly
- v0.8.89-nightly
- v0.8.88-nightly
- v0.8.87-nightly
- v0.8.86-nightly
- v0.8.85-nightly
- v0.8.84-nightly
- v0.8.83-nightly
- v0.8.82-nightly
- v0.8.81-nightly
- v0.8.80-nightly
Contributors
Thanks a lot to the contributors for their excellent work this week.
andylokandy | b41sh | BohuTANG | ClSlaid | dantengsky | drmingdrmer |
everpcpc | flaneur2020 | guzzit | leiysky | lichuang | mergify[bot] |
miles170 | RinChanNOWWW | soyeric128 | sundy-li | TCeason | TszKitLo40 |
wubx | Xuanwo | xudong963 | youngsofun | zhang2014 | zhyass |
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.
- 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)