【问题标题】:Is there a good in-memory database that would act like DB2 [closed]是否有一个像 DB2 一样好的内存数据库 [关闭]
【发布时间】:2011-04-15 04:46:50
【问题描述】:

我目前正在使用 DB2 进行单元测试,但有时速度很慢。我需要一个好的内存数据库,它包含 DB2 的所有特性。这种类型的内存数据库是否存在,或者它们只允许标准 SQL 功能?

谢谢。

编辑 DB2 数据库位于远程服务器上,因此我需要一种解决方案来将该数据库的模式复制到本地内存数据库中以加快测试速度。

【问题讨论】:

  • 每个数据库都不一样。除了 DB2 之外,没有任何数据库都具有所有 DB2 特性。不使用 DB2 就不能拥有“DB2 的所有特性”。您需要哪些确切功能?
  • 有很多应用程序在使用它,记录这些应用程序中的所有 SQL 查询几乎是不可能的。
  • 如果您不知道自己需要什么功能,那您就无法替代它,对吗?如果您不了解所有特性,那么除了 DB2 之外,任何数据库都无法使用。

标签: unit-testing db2 in-memory


【解决方案1】:

我需要一个好的内存数据库,它包含 DB2 的所有特性。

Derby(前 Cloudscape)与 DB2 的语言兼容。它有一个内存模式。

也许还可以看看 H2(使用 DB2 compatibility mode)。但即使 H2 会更快,我也会在你的情况下考虑 Derby。

【讨论】:

  • Derby 从不支持存储过程语句,因此它与 DB2 不兼容。
【解决方案2】:

我认为最简单的选择是 --- DB2。

下载免费赠品快递版并将其安装在您的 PC 上。使用 DB2 客户端的速度慢几乎肯定是由于网络瓶颈和限制,本地安装可以消除这些。

其次是 JavaDB(以前称为 Derby!)。这与 DB2 相似但不完全相同。

使用任何其他数据库将使您陷入不支持的功能、不兼容的 SQL、同一函数的不同名称、具有相同函数名称的不同函数等的泥潭中。

【讨论】:

    【解决方案3】:

    为什么不使用 tmpfs (Unix) 或任何传统的 Windows ramdrive 解决方案? 或者,您可以获得快速 SSD。

    【讨论】:

    • 数据库在远程服务器上。因此,除非我在我的工作站上安装 DB2 服务器,否则这是不可行的。
    【解决方案4】:

    正如 Pascal 所提到的,Derby 在语法上几乎与 DB2 相同。不久前尝试过同样的事情,我们遇到了 Derby 不支持序列的问题,但连接协议是相同的。例如,您可以使用 DB2 JDBC 驱动程序连接到 Derby 数据库。

    如果您的应用程序使用 Hibernate 抽象您的数据库连接,或者使用 H2 或 HSQLDB 的 NHibernate(如果是 .Net)也可以用于单元测试,前提是您不依赖存储过程等。

    另一个有助于针对多个数据库进行架构迁移的工具是http://liquibase.org。对于测试构建,您让它构建您的内存数据库,而对于部署,您让它构建您的 DB2 数据库或生成迁移脚本。它将使用正确的模式构建数据库并提供条件迁移(例如,授权在 HSQL 中不可用,因此您只为 DB2 运行更改集)。

    【讨论】:

      【解决方案5】:

      不知道 DB2 有什么特性,但是 sqlite 可以创建 in-memory database。你可能想看看它。

      【讨论】:

        【解决方案6】:

        如果您的缓冲池足够大,那么您的 DB2 数据库也将在内存中。

        【讨论】:

          【解决方案7】:

          两种可能的内存数据库是: - 来自 Oracle 的 timesTen。 - IBM 的 SolidDB。这可以将事务发送回 DB2,但查询将具有非常高的性能

          有关soliddb的更多信息http://www-01.ibm.com/software/data/soliddb/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-08-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-15
            相关资源
            最近更新 更多