当前位置: 首页 > 知识库问答 >
问题:

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

钱运浩
2023-03-14

我要确定一个在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个答案

富辰阳
2023-03-14

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

 类似资料:
  • 每当azure blob存储中有修改时,我们都需要捕获azure cosmos db中的文件细节和事件时间。例如,我从azure blob存储中删除了一个文件,并在一个容器中删除了需要在azure cosmosdb中捕获的信息。我试着用事件网格触发azure功能,但不适合我。你能为这个场景提供azure函数的例子吗

  • 问题内容: 这可能是一个愚蠢的问题,但是我对Java Logger有点迷茫 我在哪里可以看到日志?同样来自java.util.logging.Logger库的这句话: 在每次记录调用时,记录器最初都会根据记录器的有效日志级别对请求级别(例如SEVERE或FINE)进行廉价检查。如果请求级别低于日志级别,则日志记录调用立即返回。 通过此初始(便宜)测试后,记录器将分配一个LogRecord来描述记录

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 您好,从我的问题开始:Windows Azure表访问延迟分区键和行键选择有关我在 Azure 存储帐户中组织数据的方式。我有一个表存储方案,旨在存储有关实体的信息。 大约有4000-5000个实体。共有6种实体类型,类型大致均匀分布。所以每个大约800英尺。 参数键:实体类型-日期 行键:实体标识 随着问题的详细说明,我一直遇到延迟问题,查询多个分区似乎需要很长时间。 基本上,一个可能的解决方案

  • 问题内容: 我在任何地方都找不到此答案,但是可以从MySQL中的另一个存储过程调用存储过程吗?我想找回标识值,并在父存储过程中使用它。我们不能再使用FUNCTIONS! 问题答案: 参数应该可以帮助您将值返回给调用过程。基于此,解决方案必须是这样的。

  • 那么,第一个问题:这些日志是否可用?如果是,我如何访问它们? 看起来应该可以通过: 但是使用,例如,下面的代码不起作用: