首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于存储大型日志表的数据库。

用于存储大型日志表的数据库。
EN

Stack Overflow用户
提问于 2016-06-28 05:32:20
回答 2查看 1.7K关注 0票数 4

我们有一个API服务器正在运行,每天处理大约500.000个请求。我们希望将所有这些规则保存在数据库中,以便能够分析数据。我们记录的内容如下:

  • 是谁提出的要求
  • 花了多长时间
  • 日期和时间
  • Http响应码
  • 要求什么样的api资源(url)
  • 缓存或不缓存响应(bool)
  • +++

我们希望将这些日志保存3个月,这将在数据库中产生大约45.000.000条记录。当记录超过3个月时,它们将被删除。

将这4500万条记录存储在sql数据库中是可能的,但是对这些数据执行任何分析都非常缓慢。我们想要做广泛的分析,例如-一个特定的用户今天做了多少次请求,与上周的同一天相比?与其他任何一天相比,今天有多少请求失败了?请参阅趋势图,显示请求的数量是上升还是下降。查看在给定时间被请求的前10位资源。你明白了-我们想做这样的分析。

你能建议把这些日志存储在哪里,以便在实时(或接近实时)中进行这样的分析吗?任何nosql数据库对此都有好处吗?阿祖尔?我看到有一种叫做的东西,它能用于这个吗?我看过Microsoft,它可能很适合对这些数据进行分析,但我将把数据存储在哪里。

如果有人能给我一些建议,我会非常感激的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-28 23:53:18

Power可能是一个很好的解决方案。它实际上在内存中扩展了一个实例,这实际上是一个"OLAP数据仓库“。当您在免费的PBI桌面工具中设计并为PBI Web用户发布到Microsoft的云时,基础设施需求是最小的。

可以发布的数据有限制-请参阅下面的链接。请注意,PBI使用非常有效的Vertipac压缩,因此数据集通常比原始数据小得多。我经常看到每MB 10K-50k行,所以45m应该可以通过一个Pro许可证来实现。无情地过滤您的列列表在PBI桌面优化这一点。

https://powerbi.microsoft.com/en-us/documentation/powerbi-admin-manage-your-data-storage-in-power-bi/

使用PBI Pro许可证,您可以每小时刷新一次,每天最多刷新8次:

https://powerbi.microsoft.com/en-us/documentation/powerbi-refresh-data/

在过去的20年中,构建SQL数据库和OLAP/SSAS解决方案对我来说是一个很好的职业。这仍然是“劳斯莱斯”的解决方案,如果你有时间和金钱。但20年过去了,我仍然在学习,因为这是一个技术上具有挑战性的领域。如果您还没有这些技能,我建议Power将是一条更有效率的道路。

票数 3
EN

Stack Overflow用户

发布于 2016-06-28 09:30:27

您绝对希望将日志存储在SQL数据库中。日志表的本质是事务性的,您将不断更新它,并将受益于提交的速度。

您提到的报告速度问题可以通过在日志数据库之上构建OLAP数据仓库来解决。您的数据模型似乎非常简单,因此它并不是很难实现的开发工作。

获得实时报告的唯一方法是在OLTP数据库之上构建报表。如果你能忍受一个小的延迟,大多数地方选择在一夜之间重建他们的立方体,这将提供关于24小时延迟的几乎即时报告。

对于概念上的响应表示歉意,但没有为您设计基础结构,我认为这是问题&A格式所能做到的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38067777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档