我们有一个 Web 应用程序,其中保存了来自嵌入式设备的日志数据的详细存档。我们希望保留这些详细数据以供内部分析,但在可公开访问的生产服务器上超过三个月不需要此数据。Web 应用程序仅插入新数据,没有更新或删除详细数据。
所以我们想建立一个存档系统,定期(例如每天)从生产服务器(包括最近三个月)获取新数据的副本,然后从生产服务器中删除所有早于三个月的数据。
不幸的是,有时我们的一些嵌入式设备会离线一段时间(几天到几周)。在这种情况下,可能会在已复制/存档的时间内将新数据添加到系统中。
在公共生产服务器上,我们使用 SQL Server 2008 标准版,在内部存档系统上,我们希望使用 SQL Server 2008 R2 企业版来从存档的分区和压缩中受益。
目前我正在考虑以下方法:
每天将数据从生产系统复制到归档系统。删除生产中的旧数据时,不应将其复制到存档系统。我找到了一个选项来忽略复制目标上的删除操作。
如果不需要存档系统上也有当前数据,我会定期将所有早于特定时间的数据移动到存档系统。但我必须同步当前数据并移动所有旧数据。
也许我必须使用混合解决方案:复制用于在存档和生产系统之间同步当前数据并将旧数据移动到存档系统上的存档表(同时将存档数据的删除从当前表复制到生产系统)。
你怎么看?对于此类问题,您是否有一些建议或知道一些最佳实践?该主题是否在其他地方(例如书籍)涵盖?
非常感谢您提前。
PS:我不确定这个问题是应该在这里问还是在 serverfault 上问。如果我在这里发布的决定是错误的,请移动它。谢谢。