写点什么

Databend 产品月报(2024 年 9 月)

作者:Databend
  • 2024-10-17
    福建
  • 本文字数:2091 字

    阅读完需:约 7 分钟

Databend 产品月报(2024年9月)

很高兴为您带来 Databend 2024 年 9 月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。

新集成方式:字典

您现在可以通过定义字典的结构并指定外部数据源来创建字典。Databend 的字典功能提供了一种高效的方式,可以直接在 Databend 中集成并查询来自支持的外部数据源(目前支持 MySQL 和 Redis)。通过充当内存中的键值存储,字典能够快速访问外部数据,而不需要复杂的数据管道或传统的 ETL 过程。


以下示例创建了一个引用 MySQL orders 表的字典。完整示例请参阅: https://docs.databend.cn/guides/query/dictionary


CREATE DICTIONARY order_dict(    order_id INT,    customer_name STRING,    order_total INT)PRIMARY KEY order_idSOURCE(MYSQL(    host='mysql'    port='3306'    username='root'    password='admin'    db='dict'    table='orders'));
复制代码


如果感兴趣,您可以跟随本教程进行实际操作体验:使用字典访问 MySQL 和 Redis

SQL 变量

您现在可以使用 SQL 变量来存储和管理临时数据。在查询中使用变量时,您可以使用 $ 进行值替换,或使用 IDENTIFIER 访问数据库对象。有关更多信息,请参阅 SQL 变量


您可以在 SQL 语句中通过 $ 符号或 getvariable() 函数引用变量的值。两种方法都支持动态替换,即在运行时将变量的值直接嵌入查询中。


-- Set a variable to use as a filter valueSET VARIABLE threshold = 100;
-- Use the variable in a query with $SELECT * FROM sales WHERE amount > $threshold;
-- Alternatively, use the getvariable() functionSELECT * FROM sales WHERE amount > getvariable('threshold');
复制代码


IDENTIFIER 关键字允许您动态引用存储在变量中的数据库对象名。请注意,使用 IDENTIFIER 访问对象的功能在 BendSQL 中尚未支持。


-- Create a table with sales dataCREATE TABLE sales_data (region TEXT, sales_amount INT, month TEXT) AS SELECT 'North', 5000, 'January' UNION ALLSELECT 'South', 3000, 'January';
select * from sales_data;
-- Set variables for the table name and column nameSET VARIABLE table_name = 'sales_data';SET VARIABLE column_name = 'sales_amount';
-- Use IDENTIFIER to dynamically reference the table and column in the querySELECT region, IDENTIFIER($column_name) FROM IDENTIFIER($table_name) WHERE IDENTIFIER($column_name) > 4000;
复制代码

故障安全(Fail-Safe)

Databend 中的故障安全机制旨在从对象存储中恢复丢失或意外删除的数据。目前,故障安全仅支持 S3 兼容的存储类型。有关故障安全的更多信息,请参阅故障安全


CALL SYSTEM$FUSE_AMEND('<database_name>', '<table_name>');
复制代码


要使故障安全(Fail-Safe)生效,必须启用存储桶版本控制。请注意,启用版本控制之前创建的数据无法通过此方法恢复。

流提示

流提示允许您通过提示来指定各种流配置选项,从而控制流的处理方式。


SELECT ...FROM <stream_name> WITH (<hint1> = <value1>[, <hint2> = <value2>, ...])
复制代码


可用的提示选项:


  • CONSUME: 指定此查询是否会消费流。默认为 False

  • MAX_BATCH_SIZE: 定义从流中每批处理的最大行数。


有关这些提示和示例的更多信息,请参阅 WITH 流提示

新增 FUSE 引擎选项

我们引入了一个新的 FUSE 引擎选项 data_retention_period_in_hours,允许您指定保留表数据的小时数。有关更多信息,请参阅 FUSE 引擎

Databend Cloud 体验优化

我们给 Databend Cloud 带来了一些新功能,准备好迎接更棒的体验吧!

TASK_HISTORY 表函数

我们引入了一个新的表函数 TASK_HISTORY,用于显示任务运行历史。


-- Retrieve all task history recordsSELECT *FROM TASK_HISTORY() order by scheduled_time;
-- Retrieve the task history records where the scheduled time range starts at '2022-01-02T01:12:00-07:00' and ends at '2022-01-02T01:12:30-07:00'.SELECT * FROM TASK_HISTORY( SCHEDULED_TIME_RANGE_START=>TO_TIMESTAMP('2022-01-02T01:12:00-07:00'), SCHEDULED_TIME_RANGE_END=>TO_TIMESTAMP('2022-01-02T01:12:30-07:00'));
复制代码

批量操作

您可以对计算集群执行批量操作,包括批量重启、批量暂停、批量恢复和批量删除。要进行批量操作,可以在计算集群列表中勾选所需操作的计算集群,然后点击省略号按钮选择所需的操作。


新教程

  • 分析 AWS 账单:在本教程中,我们将指导您完成导入 AWS 账单数据并使用 SQL 进行成本分析的过程。您将学习如何将 AWS 账单数据加载到 Databend Cloud 中,查询以找出主要的成本驱动因素,并深入了解您的 AWS 使用情况。

  • 从 Snowflake 迁移:在本教程中,我们将指导您完成将数据从 Snowflake 导出为 Parquet 格式并存储到 Amazon S3 存储桶的过程,然后将其加载到 Databend Cloud 中。

授予财务人员访问权限

为了便利财务团队的工作,同时确保数据安全,您可以在 Databend Cloud 中创建一个名为 billing 的角色。


CREATE ROLE billing;
复制代码


该角色将专门为仅提供与账单相关的信息访问而定制。有关更多信息,请参阅授予财务人员访问权限



发布于: 刚刚阅读数: 2
用户头像

Databend

关注

还未添加个人签名 2022-08-25 加入

还未添加个人简介

评论

发布
暂无评论
Databend 产品月报(2024年9月)_Databend_InfoQ写作社区