2

我的应用程序不断收到一个需要存储的非常小的事件,我在想这是处理它的最佳方式。此事件的表将如下所示:

EVENT
id
timestamp
some_data (integer)
fk_to_some_holder_table

如果我继续将每个事件存储为一行,那么对于具有某种 blob 压缩/处理的实现会有一些缺点吗?还是我在这里走得太远了?

我正在使用火鸟 2.1。如果需要,我可以升级到 Firebird 2.5。

提前致谢。

4

2 回答 2

4

我相信你最好使用“传统的基于行的记录”:

  • 你想查询记录,对吧?查询 BLOB 既难又慢;
  • 由于您的记录大小太小,您将无法压缩它们,使用大多数压缩算法,结果可能会大于单独字段所需的;

根据“ Firebird 的技术限制是什么? ”一文,一张表的最大大小为 32TB 或 16G 行。

在这种特定情况下,我认为 2.1 和 2.5 之间没有任何区别,但由于其他/一般改进,我会使用 2.5。

于 2011-09-14T22:55:24.880 回答
0

由于已经提到的原因,存储为一行比 blob 更有意义

我现在坚持使用 2.1,2.5 有太多我喜欢的错误

于 2011-09-15T14:43:05.477 回答