Databend 产品月报(2025年4月)
很高兴为您带来 Databend 2025 年 4 月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。
BendDeploy:安装 Databend 的新方式
BendDeploy 是由 Databend 开发的一款基于 Kubernetes 的平台,旨在简化和标准化 Databend 集群的部署与管理。它提供可视化、用户友好的界面,支持多集群、多租户操作,显著提升了运维效率、系统可靠性以及管控能力。
- 多租户管理:为不同租户提供隔离的环境,并支持基于角色的用户访问控制。
- 一键集群部署:只需几次点击即可轻松启动并管理 Databend 集群。
- 生命周期管理操作:支持滚动升级、版本回滚、水平扩展和集群重启等功能。
- 可视化监控与日志:集成节点状态视图、日志(如查询日志、性能分析日志)以及外部 Prometheus 指标。
- 网页 SQL 工作台:可在 UI 中直接执行 SQL 查询,并可指定目标租户集群。
BendSave:一条命令完成数据备份与恢复
BendSave 是一款命令行工具,用于备份和恢复 Databend 中的元数据及实际数据文件。它将备份内容存储在兼容 S3 的对象存储中,非常适合用于灾难恢复场景。
export AWS_ACCESS_KEY_ID=minioadmin
export AWS_SECRET_ACCESS_KEY=minioadmin# Backup
./databend-bendsave backup \--from ../configs/databend-query.toml \--to 's3://backupbucket?endpoint=http://127.0.0.1:9000/®ion=us-east-1'# Restore
./databend-bendsave restore \--from "s3://backupbucket?endpoint=http://127.0.0.1:9000/®ion=us-east-1" \--to-query ../configs/databend-query.toml \--to-meta ../configs/databend-meta.toml \--confirm
查询结果缓存
查询结果缓存是 Databend 的一项性能优化功能,用于存储先前查询的结果。对于重复执行的查询,系统可直接从缓存中返回结果,而无需重新计算,从而降低查询延迟并提升整体系统效率,尤其适用于重复的分析型工作负载。
有关如何启用和配置查询结果缓存的详细信息,请参阅查询结果缓存。
动态列默认值:NEXTVAL()
您现在可以在创建表时,使用来自序列的动态值作为列的默认值。通过 NEXTVAL(<seq>)
,每次插入新行时,该列将自动获取序列生成的下一个值。
CREATE SEQUENCE staff_id_seq;CREATE TABLE staff (staff_id INT DEFAULT NEXTVAL(staff_id_seq), -- Assigns the next number from the sequence 'staff_id_seq' if no value is providedname VARCHAR(50),department VARCHAR(50) DEFAULT 'Marketing' -- Defaults to 'Marketing' if no value is provided
);
查询文件级元数据
您现在可以从暂存文件中查询文件级别的元数据信息,例如文件名和行号。
-- Querying Metadata Fields
SELECTmetadata$filename,metadata$file_row_number,*
FROM @my_internal_stage/iris.parquet
LIMIT 5;-- Using Metadata in COPY INTO
COPY INTO iris_with_meta
FROM (SELECT metadata$filename, metadata$file_row_number, $1, $2, $3, $4, $5 FROM @my_internal_stage/iris.parquet)
FILE_FORMAT=(TYPE=parquet);
新文件格式:Avro
Apache Avro™ 是领先的记录数据序列化格式,也是流式数据管道的首选格式。Databend 现已支持将 Avro 作为加载数据的文件格式。
COPY INTO userdata
FROM 'https://raw.githubusercontent.com/Teradata/kylo/master/samples/sample-data/avro/userdata1.avro'
FILE_FORMAT = (type = avro);
新函数
- LISTAGG:将多行中的值连接成一个字符串,并用指定的分隔符分隔。
-- Aggregate Function
LISTAGG([DISTINCT] <expr> [, <delimiter>])[WITHIN GROUP (ORDER BY <order_by_expr>)]-- Window Function
LISTAGG([DISTINCT] <expr> [, <delimiter>])[WITHIN GROUP (ORDER BY <order_by_expr>)]OVER ([PARTITION BY <partition_expr>])
- DATE_BETWEEN:计算两个日期或时间戳之间的时间间隔,以指定的单位返回差值,正值表示第一个时间早于第二个时间,负值表示相反。
DATE_BETWEEN(YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND |DOW | DOY | EPOCH | ISODOW | YEARWEEK | MILLENNIUM,<start_date_or_timestamp>,<end_date_or_timestamp>
)
- GLOB:使用通配符执行区分大小写的模式匹配。
GLOB(<string>, <pattern>)
关于 Databend
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式湖仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
👨💻 Databend Cloud:databend.cn
📖 Databend 文档:docs.databend.cn
💻 Wechat:Databend
✨ GitHub:github.com/databendlab...