OneLake 快捷方式的查询加速 - 概述(预览版)
OneLake 快捷方式是 Eventhouse 中指向内部 Fabric 或外部源的引用。 之后可以使用 external_table()
函数在 KQL 查询集中访问此类快捷方式进行查询。 由于各种因素(例如通过网络调用从存储提取数据、缺少索引等),对 OneLake 快捷方式运行的查询可能比对直接在 Eventhouse 中引入的数据运行的查询的性能更低。
通过查询加速,可以在外部增量表的基础上指定策略,以定义数据要缓存的天数,从而实现高性能查询。
Eventhouse 支持对 OneLake 快捷方式、Azure Data Lake Store Gen1、Amazon S3、Google Cloud 服务、Azure Blob 存储外部表以及 OneLake 快捷方式支持的所有目标中的增量表进行查询加速。
重要
此功能目前为预览版。
注意
如果出于合规性考虑,需要在特定区域存储数据,请确保 Eventhouse 容量与外部表或快捷方式数据位于同一区域。
加速的外部表会增加 Eventhouse 的存储 COGS 和 SSD 存储消耗,就像 KQL 数据库中的常规表一样。 可以通过在查询加速策略中定义 Hot 属性来控制要缓存的数据量。 索引和引入活动也会消耗计算资源。
应该在什么时候为 OneLake 快捷方式使用查询加速呢?
查询加速在数据进入 OneLake 时会缓存数据,从而提供与在 Eventhouse 中引入数据类似的性能。 使用此功能,可以加速数据进入 OneLake 的过程,包括现有数据和任何新的更新,而且有望获得类似的性能。 这样就无需管理引入管道、维护重复的数据副本,同时无需额外工作就可确保数据保持同步。
以下场景非常适合对 OneLake 快捷方式使用查询加速:
- 在 OneLake 中以高性能查询数据:当现有工作负载正在上传数据并在存储(可选择在不同的云或区域)中管理数据,并且希望以高性能查询部分或全部数据时。
- 将历史数据与实时流相结合:当你希望在不影响查询速度的情况下,将直接进入 OneLake 的数据与进入 Eventhouse 的实时流无缝结合时。
- 利用其他项管理的维度数据:通常,在 SQL 服务器、Cosmos DB、Snowflake 或其他系统中托管的数据价值高且体积小,可镜像到 OneLake 中。 加速的 OneLake 快捷方式可以使这些数据在 Eventhouse 查询中易于联接和扩充。 由于维度数据通常比活动数据小很多,因此与之相关的额外成本通常很低。
加速的外部增量表的行为
加速的 OneLake 快捷方式的行为类似于外部表,具有相同的限制和功能。 具体而言,不支持具体化视图和更新策略等功能。
监视加速行为
查询加速的初始过程取决于外部表的大小。 若要监视加速表的进度和设置,可以在 KQL 查询集中使用 .show external table operations query_acceleration statistics 命令。
限制
- 外部表中的列数不能超过 900。
- 在预览期间,对具有分区的加速外部增量表进行查询的性能可能无法达到最佳。
- 此功能假定增量表具有静态高级功能,例如列映射不会更改,分区不会更改,等等。 若要更改高级功能,请先禁用策略,并在进行更改后重新启用策略。
- 增量表架构的更改也必须与相应的
.alter
外部增量表架构同步更新,如果发生中断性架构更改,可能会导致加速从头开始。 - 分区不支持基于索引的修剪。
- 不会缓存压缩大小超过 6 GB 的 Parquet 文件。
计费
加速的数据按照 OneLake 高级缓存计量收费,类似于本机 Eventhouse 表。 可以通过配置缓存天数来控制要加速的数据量。 索引活动也可能计入 CU 消耗量。 有关详细信息,请参阅存储计费。
与查询加速相关的费用将显示在创建加速快捷方式的 Eventhouse 下的 Fabric 指标应用中。