【问题标题】:Java Collections vs in-memory database performanceJava 集合与内存数据库性能
【发布时间】:2012-02-14 18:54:37
【问题描述】:

我不确定是使用 Java 集合还是一些内存数据库(H2 或 HSQLDB - 它们可能是最快的)。我需要一个良好的性能结果 - 将有数百个对象/行,不会执行 JOIN 或更复杂的查询。

我真的在考虑内存数据库,因为 java 堆的大小有限 - 我正在使用的对象可能非常大,而且会有很多(我提到的数百个)

您认为对大量数据使用内存数据库是个好主意吗?

【问题讨论】:

  • 用现代术语来说,数百个对象并不多。当你说物体会很大时——有多大?
  • 数百个对象是可笑的,即使每个对象有一百个字段。此外,内存必须来自某个地方,数据库可能会增加一些开销。
  • 嗯,数百个 ...这可能有点矫枉过正...简单地说 - 可能有很多对象。

标签: java database performance collections


【解决方案1】:

数百个 10 KB 的对象仍然只有几 MB。保持简单是我的建议。数十万个 1 KB 的对象仍然可以轻松放入 32 位 JVM。

在您进入 GB 数据之前,我不会使用内存数据库。如果您有数百 GB,则唯一的选择是使用某种数据库。

免责声明:我在内存数据库中使用过,甚至写过一两个。

【讨论】:

    【解决方案2】:

    尝试使用集合来实现。如果你然后意识到一个问题,你仍然可以切换。这完全是抽象实现的问题,因此您的算法不会期望其中之一。 (又一个“早期优化是邪恶的”咆哮)

    【讨论】:

      【解决方案3】:

      正如其他人所说,“数百”确实不是很多,现在听起来你甚至说可能少于数百。如果堆大小有问题,您可以Increase the JVM Heap Size

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-24
        • 2014-05-04
        • 2018-09-13
        • 2016-01-05
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        • 2018-11-19
        相关资源
        最近更新 更多