【发布时间】:2016-09-02 00:05:23
【问题描述】:
我在键值数据库中存储了大量大小不一 (~10-100kb) 的 blob。行是附加的,从不删除。
由于许多 blob 非常相似,如果将它们连接起来,就可以高度压缩它们。但是,考虑到数据位于不同的行中,这在此处应用并非易事。
是否有一种相当简单的方法来压缩它们,或者至少删除部分冗余?
【问题讨论】:
-
在数据库中存储 BLOBS 从来都不是一个好习惯。您应该将 PATHS 存储到这些文件中。
-
@Bob 我预计平均有 20kb 的 180M blob,我需要通过 2 个不同的键访问这些 blob,有时还通过 blob 的某些属性进行过滤 - 数据库不是比那里的文件更可取,如果只是为了更复杂场景的可扩展性?这不像我在那里存储大图像。
-
我不会用 BLOBS 膨胀我的数据库。特别是 SQLite 数据库。
-
当然,我也不是它的忠实粉丝!但是您真的更喜欢拥有 180M 的文件吗?然后手动执行
select * from foo where content like '%string%'或类似操作?对我来说这听起来不可行。 -
如果是这样...不,我想不出除了使用这些 BLOBS 之外的任何其他方法。但我什至想不出任何“压缩”它们的方法。
标签: database compression