代码之家  ›  专栏  ›  技术社区  ›  Dhiraj

Kusto摄取事务在范围上是原子的吗?

  •  0
  • Dhiraj  · 技术社区  · 5 年前

    我想知道Kusto摄取事务是否保证在范围上是原子的?因此,假设我有一个进程周期性地将数据推送到某个kusto表(例如,使用.append)中,并且每次推送到不同的范围标记(以确保在每次摄取中数据都进入不同的范围ID),是否可以保证给定范围AP中的所有记录同时在表中显示PEAR——因此对于查询该表的任何人来说,要么整个范围都是可见的,要么所有记录都不可用。所以基本上是以扩展数据块为基础的原子性——试图确保在任何情况下,部分写入的扩展数据块都不会暴露于任何查询。

    0 回复  |  直到 5 年前
        1
  •  2
  •   Yoni L.    5 年前

    对于一个 .append 命令:

    1. 在成功完成命令后,在单个事务中提交添加的扩展区(如果有)。
    2. 一旦数据接收失败(例如,暂时存储失败),将不会添加新的扩展。
    3. 当数据接收失败时, extend_schema 选项设置为 true ,目标表仍将扩展其架构。
    4. 在任何情况下,都不会将所有创建的扩展都提交到表中-要么全部提交,要么全部不提交。

    对于一个 .set-or-append 命令:

    1. 如果该表是由命令创建的(即,它还不存在),则不管顺序数据摄取阶段如何,都会提交该表。
    2. 在成功完成命令后,在单个事务中提交添加的扩展区(如果有)。
    3. 数据接收失败(例如,暂时存储失败)时,将不会添加新的扩展数据块,但该表将保留在数据库中。
    4. 当数据接收失败时, 扩展\u模式 选项设置为 ,目标表仍将扩展其架构。
    5. 在任何情况下,都不会将所有创建的扩展都提交到表中-要么全部提交,要么全部不提交。
    推荐文章