数据库中的事件日志存储会使数据库膨胀并导致用户出现性能问题

问题描述 投票:0回答:1

应用程序可以生成以下类型的日志:

  1. 调试日志
  2. 事件日志 根据我对调试日志的调查,最佳存储是文件系统,因为没有人需要在 UI 上的应用程序级别搜索或过滤这些日志,而仅被开发人员用于围绕任何案例/问题进行调查的目的。

我的问题是,事件日志最适合的存储是什么,因为这也是一个巨大的数据,我们可以拥有数百万条记录并将其保存在数据库中,有时会使数据库膨胀并导致性能问题,并且必须购买付费版本SQL Server 的免费版本仅支持每个数据库 10Gb 数据。在这种情况下,最适合的存储解决方案应该是什么?

到目前为止我已经找到了一些选项可以继续:

1.拥有独立的事件日志数据库。 2.像调试日志一样将其存储在文件系统中,但这会使应用程序 UI 上的读取/过滤/搜索/排序逻辑变得复杂,因为用户可以在 UI 上访问事件日志。

请告诉我您的意见。

database logging events web-applications filesystems
1个回答
0
投票

这取决于对历史事件的兴趣有多大。

  • 我对事件使用了单独的数据库,并具有修剪机制,因此几个月后它们就会被删除。 实际上,我不是删除现有记录,而是通过修改现有记录来替换它。 这避免了删除和创建的开销。
  • 我也使用过文本文件。 我每天都使用一个新文件,其中文件名是日期 YYYYMMDD,以便它按时间顺序按“文件资源管理器”或“文件列表”排序。 我再次保留了几个月的内容并删除了其余的内容。 您需要编写一个小应用程序来查看它们。 但它节省了 SQL 服务器的费用。
© www.soinside.com 2019 - 2024. All rights reserved.