我需要支持收缩数据输入率为每秒 1 个条目(约 300KB)的数据库。数据库文件可以达到3GB。当前数据库没有自动清理功能。数据库文件空间超过一定限制(比如 3GB)是最坏的情况。
我目前的策略是删除最旧的数据(通过集群主键),然后到 CHECKPOINT DEFRAG。这似乎不可靠,VACUUM 或 DEFRAG 可能需要很长时间。我不想命名数据库名称,但我愿意接受建议。
我想知道还有哪些其他策略可以可靠地(几乎没有停机时间,O(1) 操作速度)保留磁盘空间。
编辑:需要关系数据库作为报告和 SQL 数据提取是必要的。
固定大小的循环缓冲区——确切地说——我需要在关系世界中复制它,使用占用空间小的数据库和快速的“循环”行为(即快速插入)