【发布时间】:2015-09-26 08:55:07
【问题描述】:
我的应用程序需要在 Postgres 数据库中存储数百万个二进制块(每秒可能到达数千个)。大多数块的大小为 16K,尽管有些块可能更小。我知道我可以使用 text、bytea 或 blob 列,或者我可以将二进制数据存储在数据库外部的文件中,并将它们的路径放在表中。
考虑到高写入吞吐量是我最重要的目标,哪个选项最适合我的情况?
【问题讨论】:
-
如果这些块是可压缩的(即具有重复值),那么
bytea可能是一个不错的选择,因为它会压缩数据。但我同意汤姆的观点:您必须自己测试性能,这是不可能以“一般”方式回答的。我个人会先测试bytea的方案,看看能不能支持性能要求 -
对不同的方法进行基准测试当然是我的议程。我只是想知道那里有一些我不知道的众所周知的事实。
标签: database postgresql throughput