我要确定一个在 Azure 表存储中存储日志信息的好策略。我有以下内容:
分区键:日志的名称。
RowKey:反转日期时间刻度,
这里唯一的问题是分区可能会变得非常大(数百万个实体)并且大小会随着时间的推移而增加。
但话虽这么说,正在执行的查询类型将始终包括PartitionKey
(不扫描)和RowKey
过滤(小扫描)。
例如(用自然语言):
where `PartitionKey` = "MyApiLogs" and
where `RowKey` is between "01-01-15 12:00" and "01-01-15 13:00"
前提是查询在两者上完成PartitionKey
and RowKey
,我明白分区的大小并不重要。
看看我们的新表设计模式指南 http://azure.microsoft.com/en-us/documentation/articles/storage-table-design-guide/- 特别是日志数据反模式,因为它讨论了这种情况和替代方案。通常,当人们写入日志文件时,他们会使用 PK 日期,这会导致分区变热,因为所有写入都会写入单个分区。很多时候,Blob 最终成为日志数据的更好目的地 - 因为人们通常最终会批量处理日志 - 该指南将其作为一种选择进行讨论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)