首页 文章

在Azure表存储中存储应用程序日志的策略

提问于
浏览
4

我将确定一个在Azure表存储中存储日志记录信息的好策略 . 我有以下内容:

PartitionKey:日志的名称 . RowKey:反转日期时间刻度,

这里唯一的问题是分区可能会变得非常大(数百万个实体),并且大小会随着时间的推移而增加 .

但话虽如此,正在执行的查询类型将始终包括 PartitionKey (无扫描)和 RowKey 过滤器(次要扫描) .

例如(以自然语言):

where `PartitionKey` = "MyApiLogs" and
where `RowKey` is between "01-01-15 12:00" and "01-01-15 13:00"

如果查询在 PartitionKeyRowKey 上完成,我理解分区的大小无关紧要 .

1 回答

  • 7

    看看我们新的Table Design Patterns Guide - 特别是日志数据反模式,因为它讨论了这个场景和替代方案 . 通常,当人们编写日志文件时,他们会使用PK的日期,这会导致分区变热,因为所有写入都会转到单个分区 . 通常,Blob最终成为日志数据的更好目的地 - 因为人们通常最终会批量处理日志 - 指南会将此作为一种选择 .

相关问题