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 指标应用中。