数据库表/文件系统文件的类似logrotate的功能

时间:2011-05-19 09:46:04

标签: java database filesystems logrotate

tl; dr summary:是否有基于数量,磁盘空间或时间来限制数据库表长度和文件系统文件数的标准解决方案?


我有一个Java Web服务,允许用户运行内部作为作业处理的操作。为了访问先前运行的作业或异步作业的结果,用户以作业ID的形式获得句柄。我将所有这些信息保存在关系数据库(目前是Apache Derby)的几个数据库表中,因为它比发明一种新的文件格式(也可能更加可靠和高效)更方便。实际作业结果将作为XML文件保存在文件系统中。

作业执行可能非常频繁(1 / s及以上),因此表/目录可能会在一段时间后变得非常大。我需要的是一种允许根据

修剪最旧条目的作业历史记录的方法
  • 作业计数(最多 n 作业及其结果应保存)
  • 表/目录大小(表格最多应占用硬盘驱动器上的 n GB空间)
  • 当作业运行时(仅保留最多 n 天前完成的作业)

我还没决定采取哪种解决方案,所以灵活性越大越好。我担心当我自己实现此解决方案时,解决方案可能非常容易出错,并且需要一些时间才能使系统健壮。我正在开发的软件应该可以运行很长时间而不会中断(好吧,谁没有......)。

0 个答案:

没有答案