【发布时间】:2020-05-09 23:54:58
【问题描述】:
是否可以更新 Azure 数据资源管理器中的行?
对于存储频繁更新的大型库存(100M 项)或它主要针对仅附加数据场景进行优化是一个不错的选择吗?我的存储库全天候更新,我需要立即看到更改(近乎实时)。
假设我需要全文搜索、分面和基本项目查询/查找以及近乎实时的更新(全天候流动)。它与 ElasticSearch 相比如何?假设我将两者都作为托管服务使用。我最关心的是更新部分。
【问题讨论】:
是否可以更新 Azure 数据资源管理器中的行?
对于存储频繁更新的大型库存(100M 项)或它主要针对仅附加数据场景进行优化是一个不错的选择吗?我的存储库全天候更新,我需要立即看到更改(近乎实时)。
假设我需要全文搜索、分面和基本项目查询/查找以及近乎实时的更新(全天候流动)。它与 ElasticSearch 相比如何?假设我将两者都作为托管服务使用。我最关心的是更新部分。
【问题讨论】:
无法更新单个记录。您可以选择在摄取时通过tagging 批量更新数据,并在需要执行“更新”时使用分片级命令(例如.replace extents)。
虽然这可能不是“自然”的选择,但理论上您仍然可以实现这一点,方法是为每次更新获取一条新记录,并使用 arg_max() 始终获取每个项目的最新版本。
完整且有意义的比较不是单行的(有太多考虑因素要列出),并且在大多数情况下 - 这种比较的结果将非常具体到您的用例、预算、个人偏好、性能要求等。也就是说,ADX/Kusto 支持您列出的所有功能。
【讨论】:
如果我们谈论的是一个小表,您可以使用这种技术更新 Kusto 中的记录:
.ingest inline into table temp_ABC <|
01,John,Doe,21
02,Jim,Brown,23
.set-or-replace ABC <| temp_ABC
.drop table temp_ABC
【讨论】: