Kusto 摄取事务在范围方面是否具有原子性?

Are Kusto ingestion transactions atomic in terms of extents?

我想知道 kusto 摄取事务是否保证在范围方面是原子的?所以假设我有一个进程定期将数据推送到某些 kusto table(例如使用 .append)并且每次推送到不同的范围标签(以确保在每次摄取中数据都不同extent id) ,是否可以保证给定范围内的所有记录同时出现在 table 中 - 因此整个范围对于查询 table 或 [=12 的任何人都是可见的=] 的记录可用。所以基本上就范围而言是原子性——试图确保在任何情况下部分写入的范围都不会暴露给任何查询。

对于 .append 命令:

  1. 成功完成命令后,添加的范围(如果有)将在单个事务中提交。
  2. 如果数据摄取失败(例如,存在暂时性存储故障),将不会添加新范围。
  3. 数据摄取失败时,当 extend_schema 选项设置为 true 时,目标 table 仍将扩展其架构。
  4. 不会出现并非所有创建的范围都提交到 table 的情况 - 要么全部提交,要么 none 提交。

对于 .set-or-append 命令:

  1. 如果 table 是由命令创建的(即,它不存在),无论顺序数据摄取阶段如何,它都会被提交。
  2. 成功完成命令后,添加的范围(如果有)将在单个事务中提交。
  3. 如果数据摄取失败(例如,存在暂时性存储故障),将不会添加新范围,但 table 将保留在数据库中。
  4. 数据摄取失败时,当 extend_schema 选项设置为 true 时,目标 table 仍将扩展其架构。
  5. 不会出现并非所有创建的范围都提交到 table 的情况 - 要么全部提交,要么 none 提交。