java - 插入、删除(快速)blob 嵌入式 java 数据库

标签 java database performance blob

我正在搜索一个嵌入式 native Java 数据库(我无法使用进程外数据库),它可以处理大型 blob 对象(最多几 GB)。我尝试过 H2,但是删除大 Blob 时速度非常慢。当然,这是因为它必须维护/重建单个数据库文件。

是否有任何数据库可以让我快速插入和删除 blob?

更新:我最终没有使用数据库。相反,我创建了一个字节存储,将字节附加到打开的文件流中,并将文件名、偏移量、长度存储在数据库中。大 blob 不会被附加,而是存储为独立文件。这是获得良好表现的唯一方法。删除操作仅适用于大 blob,小 blob 不需要它,大小微不足道(我的阈值是 100 KB)

最佳答案

Are there any databases that will give me fast insert and delete with blobs?

如果H2不起作用那么你可以尝试DerbySQLite但不能保证他们会表现得更好。我认为你应该考虑重新构建你的项目。以这种方式存储大型 blob 对象效率非常低。

我会考虑使用其他机制来保存文件并将文件的路径或 ID 存储在数据库中。您提到您有理由不使用文件系统。如果您编辑问题来解释完全使用数据库的原因,那么我/我们可以回复更好的建议替代方案。

关于java - 插入、删除(快速)blob 嵌入式 java 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8325022/

相关文章:

java - Jar 捆绑程序无法从 jar 文件自动获取主类。您能描述一下整个过程吗?

python - 参数 'out' 在 numpy 函数中的效用

java - 当响应代码为 401 时,ClientHttpResponse.getBody() 抛出 ResourceAccessException

java - 为什么我的代码只用字符串替换方法替换某些字符?

mysql - 产品数据库架构重新设计

php - PHP,MySQL,Cron Job-在大型表中维护当前/实时数据的有效方法?

sql - SQL 连接如何工作?

Firebug 中的性能事实与 YSlow 相矛盾

javascript - 使用 onclick 处理程序而不是链接会影响站点性能和 SEO 吗?

java - 将 Date 更改为设备本地时区的字符串