--- title: 'This Week in Databend #124' date: 2023-12-17 slug: category-weekly/2023-12-17-databend-weekly cover_url: 'weekly/weekly-124.jpg' image: 'weekly/weekly-124.jpg' tags: [weekly] category: Weekly description: 'Stay up to date with the latest weekly developments on Databend!' contributors: - name: ariesdevil - name: b41sh - name: BohuTang - name: Chasen-Zhang - name: dantengsky - name: Dousir9 - name: drmingdrmer - name: everpcpc - name: flaneur2020 - name: guojidan - name: JackTan25 - name: leiysky - name: lichuang - name: PsiACE - name: RinChanNOWWW - name: SkyFan2002 - name: soyeric128 - name: sundy-li - name: TCeason - name: xudong963 - name: youngsofun - name: yufan022 - name: zhang2014 - name: zhyass authors: - PsiACE --- [Databend](https://github.com/databendlabs/databend) is a modern cloud data warehouse, serving your massive-scale analytics needs at low cost and complexity. Open source alternative to Snowflake. Also available in the cloud: [https://app.databend.com](https://app.databend.com) . {/* truncate */} ## What's New Stay informed about the latest features of Databend. ### Compatibility Added for Delta and Iceberg Table Engines Databend now supports Delta and Iceberg table engines, enabling seamless integration of tables managed across diverse data lakes. This example uses the Delta table engine and a CONNECTION to create a Delta table stored on S3: ```sql create connection my_s3_conn storage_type = 's3' access_key_id ='minioadmin' secret_access_key ='minioadmin' ENDPOINT_URL='http://127.0.0.1:9900'; create table test_delta engine = delta location = 's3://testbucket/admin/data/delta/delta-table/' connection_name = 'my_s3_conn' ``` Currently, Databend is limited to basic read operations when interacting with tables created using the Delta table engine. If you would like to learn more, please contact the [Databend team](https://databend.com/contact-us/) or refer to the resources listed below: - [PR #13949 | feat: add table engine delta](https://github.com/databendlabs/databend/pull/13949) - [PR #13835 | feat: iceberg table engine](https://github.com/databendlabs/databend/pull/13835) ## Code Corner Discover some fascinating code snippets or projects that showcase our work or learning journey. ### ClickHouse HTTP Handler Disabled by Default As the ClickHouse HTTP Handler is now disabled by default in Databend, a new setting, `enable_clickhouse_handler`, has been introduced to control its activation, with a default value of 0. If you need to use the ClickHouse HTTP Handler, execute the following command to enable it: ```sql set global enable_clickhouse_handler=1; ``` - [PR #13965 | feat: add setting to disable clickhouse handler](https://github.com/databendlabs/databend/pull/13965) ### Replacing Bincode with Borsh Due to potential binary inconsistencies with Bincode across different versions and usage scenarios, Databend decided to replace Bincode with Borsh for serializing aggregate function states. [Borsh](https://borsh.io/) has a format that is almost identical to the format used by Databend for aggregate states. It provides consistency guarantees, follows safe coding practices, and has clear format specifications and good performance. - [PR #13997 | refactor: using borsh instead of bincode for serde agg function state](https://github.com/databendlabs/databend/pull/13997) ## Highlights We have also made these improvements to Databend that we hope you will find helpful: - Added support for spilling **Sort** when reaching memory limits. - Added support for internal stream columns. - Added Support for `SHOW LOCKS`. - Read the documentation [Docs | system.streams](https://docs.databend.com/sql/sql-reference/system-tables/system-streams) and [Docs | system.stream_status](https://docs.databend.com/sql/sql-functions/table-functions/#system-information--management) to learn how to use system tables for obtaining stream-related information. ## What's Up Next We're always open to cutting-edge technologies and innovative ideas. You're more than welcome to join the community and bring them to Databend. ### Introducing Password Policy Databend is introducing password policy in response to user security needs. This will allow the implementation of access denials following incorrect password attempts and the enforcement of password complexity requirements. ```sql CREATE PASSWORD POLICY [ IF NOT EXISTS ] [ PASSWORD_MIN_LENGTH = ] [ PASSWORD_MAX_LENGTH = ] [ PASSWORD_MIN_UPPER_CASE_CHARS = ] [ PASSWORD_MIN_LOWER_CASE_CHARS = ] [ PASSWORD_MIN_NUMERIC_CHARS = ] [ PASSWORD_MIN_SPECIAL_CHARS = ] [ PASSWORD_MIN_AGE_DAYS = ] [ PASSWORD_MAX_AGE_DAYS = ] [ PASSWORD_MAX_RETRIES = ] [ PASSWORD_LOCKOUT_TIME_MINS = ] [ PASSWORD_HISTORY = ] [ COMMENT = '' ] ``` [Issue #13994 | feat: PASSWORD POLICY](https://github.com/databendlabs/databend/issues/13994) Please let us know if you're interested in contributing to this feature, or pick up a good first issue at [https://link.databend.com/i-m-feeling-lucky](https://link.databend.com/i-m-feeling-lucky) to get started. ## Changelog You can check the changelog of Databend Nightly for details about our latest developments. **Full Changelog**: [https://github.com/databendlabs/databend/compare/v1.2.248-nightly...v1.2.258-nightly](https://github.com/databendlabs/databend/compare/v1.2.248-nightly...v1.2.258-nightly)