我们目前每周收到数千个平面文件,我有一个系统可以运行这些文件并将它们导出为 PDF 格式供我们的人员处理和参考。
我目前将这些批量加载到数据库中,确保所有字段/格式都有效,导出它们,并在下次运行时截断表。
我想知道的是,每个人都认为存储可能 6 个月的批量加载纯文本数据最节省空间的方式是什么?
无论是以日常 SQL 备份的形式,还是压缩档案的形式,或其他形式,所以我总是能够重新加载旧数据以进行故障排除。
欢迎任何想法,我愿意接受任何建议。
我们目前每周收到数千个平面文件,我有一个系统可以运行这些文件并将它们导出为 PDF 格式供我们的人员处理和参考。
我目前将这些批量加载到数据库中,确保所有字段/格式都有效,导出它们,并在下次运行时截断表。
我想知道的是,每个人都认为存储可能 6 个月的批量加载纯文本数据最节省空间的方式是什么?
无论是以日常 SQL 备份的形式,还是压缩档案的形式,或其他形式,所以我总是能够重新加载旧数据以进行故障排除。
欢迎任何想法,我愿意接受任何建议。
使用最新一代的压缩实用程序(7z 和 rar 压缩很棒)并在组织所有内容后压缩成包,以便于查找。
有适用于 7zip 的 SDK 可与 .net 一起使用以简化此操作。
-亚当
因此,您批量加载原始数据的平面文件,使用 SQL Server 2005 处理它们并获得一组单独的已处理平面文件,然后转储数据?
好吧,如果这是正确的,SQL 备份将无济于事,因为您似乎在说数据不会保留在数据库中。您唯一的选择是有效压缩输入和/或输出文件,并在目录中很好地组织批处理。
我会推荐一个积极的压缩程序,它具有预定的批处理功能,但请注意不要对您使用的程序进行深奥,以免被锁定在一个程序中......
数据后分析有两种类型:
在您的情况下,派生数据可能是您报告中的数据。对于您的原始数据,我只需根据日期和数据类型制作一个带有系统名称的巨大压缩存档文件。这样做的价值在于,如果您团队中的某个新手以某种方式完全删除了将您的原始数据导入数据库的代码,您可以从中恢复。如果派生数据很小,您可能会考虑将其复制到另一个数据库表中,或者将其保存在单独的平面文件中,因为您的一些问题可以通过获取派生数据来解决。
备份数据通常是一个棘手的问题,因为它取决于以下内容:
你的设置是什么样的?硬盘驱动器的增长速度是否足以容纳压缩版本的数据?您是否考虑过异地备份?
构建适当组织文件的文件层次结构,压缩整个目录,并使用-u
zip 上的标志添加新文件。归档后,您可以删除文件,但保留目录结构以供下一批添加。
如果文件名以某种方式(日期或其他)对版本进行编码或以其他方式是唯一的,则它不需要比signle 目录更花哨的东西。如果没有,您需要设置目录以让您恢复版本。
压缩它们并将它们保存在数据库中的二进制字段中。然后你可以建立一个“重新加载数据集”按钮来引入你的数据集(我假设你跟踪你导入的每个数据集来替换它,等等)
这样,所有内容都存储在数据库中,并与数据库一起备份,正确索引和链接,同时压缩。
您已表明您希望避免使用 SDK 并在远程系统上安装软件。
你的选择非常有限。
既然你使用的是windows电脑,为什么不使用一个简单的脚本呢?
这个问题提供了几个关于如何使用windows VBscript 压缩和解压文件的建议:
Windows 的内置 ZIP 压缩可以脚本化吗?
无需“安装”,无需 SDK。只需复制脚本,通过调度程序调用它,一切就绪。
-亚当