我正在数据库中设计一个表,它将存储来自应用程序的日志条目。有几件事让我比平时更多地考虑这个设计。
- 然而,系统将在运行时使用这些日志条目来做出决定,因此它们需要相对快速地访问。
- 他们还有一个问题是他们会很多(我估计每月增加 1250 万)。
- 我最多不需要超过过去 30 到 45 天的时间来进行决策处理。
- 对于支持和法律问题,我需要将所有这些保留超过 45 天,可能至少 2 年。
- 表设计相当简单,所有简单类型(没有 blob 或任何东西),在可能的情况下将使用数据库引擎放入默认数据,最多一个外键。
- 如果有任何不同,数据库将是 Microsoft SQL Server 2005。
我在想的是让它们写入实时表/数据库,然后使用 ETL 解决方案将“旧”条目移动到存档表/数据库 - 它很大并且在较慢的硬件上。
我的问题是您是否知道数据库/表设计的任何提示、技巧或建议,以确保它尽可能好地工作?另外,如果您认为这是一个坏主意,请告诉我,您认为更好的主意是什么。