我使用 Berkeley DB (BDB) 作为 JMS 队列的持久存储。当我使用队列中的条目时,底层 BDB 文件不会立即收缩,但最终会收缩。我遇到了 BDB 文件在文件系统上占用大量空间而检索性能下降的问题。
我的条目大小变化很大,但在持久队列中有 400,000 条大约 32kb 的消息并不少见。
我想了解 BDB 如何管理文件,以便我可以限制文件大小/检索性能的条目数。或者,我可以排除 BDB 作为我的持久存储机制。
我可能正在搜索错误的术语,但没有在Oracle 文档或The Berkeley DB Book中找到我要查找的内容。如果 BDB 不希望我弄乱它的内部结构,我不会感到惊讶,但如果(至少)没有关于它如何处理其内部结构的概述,我会感到惊讶。