【问题标题】:is ObjectDB production ready?ObjectDB 生产准备好了吗?
【发布时间】:2011-07-14 14:22:33
【问题描述】:

在这个基准测试中,ObjectDB 是最快的 DB: http://www.jpab.org/All/All/All.html

但是我看不到来自 ObjectDB 的任何其他基准测试结果。 有人在使用 ObjectDB 吗?准备好生产了吗?有什么经验?

【问题讨论】:

  • 任何正在阅读本文的人都应该知道 JPAB 基准测试是由 ObjectDB 背后的公司制定的,并且自 2012 年以来一直没有更新,因此它不是可靠的来源。

标签: java jpa object-oriented-database objectdb


【解决方案1】:

我已经将它用于许多项目和产品,无论是专业的还是个人的。我已经用了 5 年多了。以下是我的经验:

免责声明:我拥有服务器许可证和 OEM 许可证,并且多年来一直了解创建者。我与 ObjectDB 公司没有其他商业关系 - 换句话说,如果他们出售更多副本,我将没有任何商业利益。我只是喜欢这个产品。

我的用法:

  1. 就个人而言:我将它用作我的博士学位的商业产品的一部分,以保持 UML2/EMF 模型。这些都是具有许多类的复杂事物,而 ObjectDB 是我能找到的唯一可以处理具有足够性能的复杂链接的产品。它在这种环境中表现出色。

  2. 工作相关:我在一家投资银行工作,我们使用 ObjectDB 来持久化工作流状态并处理大型网格(>2000 个节点)环境中的持久性。它在这种环境下也能很好地工作。

在 2007 年左右的某个时候,我还是 Gentleware 的顾问,我们针对 db4o、hibernate 等对 ObjectDB 进行了评估。它的性能优于任何竞争对手接近一个数量级。这是我第一次使用它的商业体验。

所以,底线是我发现 ObjectDB 速度极快,而且坚如磐石。我们在 UML2 模型上单独对其进行了高达 10GB 的测试,并且没有出现任何问题。在我使用它的所有时间里,我从来没有遇到过数据库死机或损坏的情况。此外,它的占地面积非常小。简而言之,它有点像太空中的无名英雄。

我的经验与 jpab 基准一致——它们让其他产品的所有者阅读起来不舒服,但是……也许我在这方面并不完全公正——我与ObjectDB 多年来一直在推动他们发布基准测试。特别是,我觉得他们应该使图表成为线性而不是对数 - 它表明 ObjectDB 在大多数情况下的性能要好得多。

顺便说一句,您在此或任何其他 JPA 产品上找不到许多其他基准的原因是,没有一个供应商通常可以就基准达成一致,并倾向于指责其他人存在偏见。我已经多次亲眼目睹这一点。有些人更喜欢polepos,但这是由db4o 主导的,例如那些人不会发布dn 结果。一些数据库供应商不允许结果等。这是一个雷区,ObjectDB 的创建者在这里没有什么不同。每个人都喜欢控制自己的基准 ;-)

总之,长话短说,我的真实经验是,ObjectDB 非常快,可用于生产(多年后回到 1.x)并得到很好的支持。这是一个非常好的产品。

【讨论】:

  • 我一直在四处寻找对 Object DB 的好评。基准测试结果显示 Object DB 大大优于其竞争对手,这给我留下了深刻的印象,但与此同时,由于基准测试来自 Object DB 的创建者,我感到有点怀疑。您的回答绝对说服了我尝试使用 Object DB。
【解决方案2】:

如果没有独立验证,我不会相信该基准。如果您查看版权信息,该网站实际上是由 ObjectDB 的所有者拥有和运营的!

也就是说,我没有数据可以反驳他们的说法,我只是不相信他们的表面价值。

【讨论】:

    【解决方案3】:

    我们在初创公司中使用 Object DB 已经有 5 个多月了。在研究了不同的技术(RDBMS、Graph db 和 object db)之后,我们犹豫了很久才选择使用 objectDB。我们正在开发一个基于 Web 的业务应用程序,并且我们对持久层有一组要求。我们考虑过: MySQL、PostgreSQL、Derby、Db4o、ObjectivityDB、Perst、Ozone、Neadatis ODB、Neo4j、OrientDB

    我们的要求是:

    • 稳定的成熟产品
      ObjectDB 超过 6 岁 - 在我们所说的版本 2.2.9 中
    • 社区支持
      我们希望确保有 如果我们有问题,有人可以帮助,到目前为止,我们很高兴 以我们得到问题答案的速度。社区可能更大,但非常活跃。
    • 开发速度
      敏捷性和快速功能 对象数据库的周转非常简单直接 向前。我们考虑过 RDBMS + Hybernate,但这很慢而且 有点复杂
    • 能够承受重载
      这里没有科学依据,但我们 希望对系统可以处理大型 并发请求数。我们测试了多达 1000 个并发 请求、索引查询、对象更新、创建和 删除和集合更新以尝试模拟我们应用程序的负载。 ObjectDB 位列前 2
    • 快速
      在这里我们使用相同类型的查询并对其进行计时, 我们还增加了我们认为的负载 合理猜测我们的帖子上线了,ObjectDB 又是 一直在前 2 名
    • 能够处理大量数据
      我们逐渐增加 我们数据库中的客户数量增加到 500 万客户(这是 有点乐观)每个订单有 1 到 5 个订单并检查了 表现。没有显着的性能下降(与 正确的索引!)
    • 开源/便宜
      无法访问的小问题 源,因为我们正在使用 GWT,它有时会导致问题 托管集合和日期的序列化(虽然是一种解决方法 存在)
    • JPA 支持
      如果可能的话,我们希望 JPA 或 JDO 支持更容易 与现有框架(Spring)集成并放心 最糟糕的情况下,我们仍然可以回到旧的 RDMS 系统 – 虽然我不得不说对象持久化是那么容易而且 透明,有时很难坚持 JPA 要求。

    总而言之,ObjectDB 一直在我们的前 2 名参赛者中,有时是第一名,有时是第二名,因此是我们的选择。错误修复和新功能发布的频率也令人印象深刻。

    我希望这会有所帮助,如果我在我们上线之前(明年初)有时间将我们的结果以一种像样的格式发布,我会尝试将它们发布在这里。

    【讨论】:

    • 谢谢。请告诉前 2 个中的第二个是什么分贝?你的回答对我来说很重要。
    • 现在发生了什么?
    • 你说它一直在前 2 最快,前 1 是什么? ;)
    【解决方案4】:

    我也以商业身份使用 ObjectDB 多年(我想是 7 年)。我们公司有两款使用数据库的产品(均为嵌入式版本)。我们的其中一款产品显示有关移动设备(即移动电话)和模拟网络之间发送的信号的信息。尽管我们实际上为我们运行的每个测试创建了一个单独的数据库,但我们通常可以将多达 1GB 的等效 XML 数据保存到数据库中。

    保存数据的速度非常快(通常比要求 Windows 复制等效的 XML 文件要快)。检索速度非常好,让我们可以滚动浏览数千(甚至数万)个图形表示的项目,就像滚动浏览 Windows 资源管理器文件目录一样。

    ObjectDB 是一款出色的产品,我希望继续使用它。当我们开发我们的产品时,我们遇到了奇怪的问题(尽管从我记事起我们就不必报告任何事情)但是我们解决每个问题的速度是最好的遇到过。

    为了很好地回答你“这个产品准备好了吗”的问题,在我看来,它肯定是。

    【讨论】:

      【解决方案5】:

      我正在一个小项目上测试 ObjectDB。以下是我的评论:

      • 在使用 JDO 时没有太多的文档/教程。你有更多关于 JPA 的文档。
      • 教程太简单了,离现实太远了。
      • 我在 DatabaseExplorer 中遇到了 2 个错误。但它很快在新版本中得到修复。
      • 论坛支持很好,很快就收到了回复。

      与同项目的 Versant DB 相比,ObjectDB 更容易上手。

      【讨论】:

        【解决方案6】:

        如果没有独立验证,我不会相信该基准。如果你 检查版权信息,该网站实际上是拥有和 由 ObjectDB 的所有者运营!

        更重要的是,数据是一回事,解释是另一回事。对于为什么它应该更快的一个数量级,确实缺少一个解释。这一点,以及他们网站上显示的基准数量非常少,因此只显示整个图片的一小部分,这对我来说似乎很奇怪。

        我的经验(一般而言,不是使用 ObjectDB)是,例如,休眠取决于工作负载类型,并且,如果您需要迁移数据库,则需要显式调整休眠行为以获得良好的性能。 ObjectDB 是否支持缓存?它是否只在垃圾缓存的大吞吐量场景中表现出色?

        更新

        我刚刚读到http://www.objectdb.com/database/forum/259。速度的典型克星是,你猜怎么着,一致性。 ObjectDB 似乎根本不支持任何合理的并发模型。那么,它基本上只是一个 NoSQL 存储?

        【讨论】:

          【解决方案7】:

          标准的行业基准是,

          http://www.spec.org/jEnterprise2010/

          大量使用 JPA

          请注意,它测试整个 Java EE 服务器,不仅仅是 JPA,而且 JPA 是基准测试中最重要的部分。主要的 JPA 产品已经通过各自的应用服务器提交了结果。

          SpecJ 不像 JPAB 结果那样容易比较产品,因为大多数结果都在不同的硬件上,但结果都是经过同行评审的,因此更值得信赖。它也是一个模拟真实的应用程序,有多个用户、一个大型数据库、并发和隔离要求,并且大多数结果都在一个集群上。

          没有可用的 ObjectDB 结果,但理论上由于 ObjectDB 支持 JPA,因此应该可以在其上运行 SpecJ,并自己将其与其他产品进行比较。

          【讨论】:

            【解决方案8】:

            我使用 ObjectDb 已经 10 年了,并且对它非常满意。

            诚然,我的数据库相对较小,但我从经常被休眠升级问题绊倒而不必担心它,这多年来为我节省了大量时间。

            【讨论】:

              猜你喜欢
              • 2015-11-08
              • 2017-12-23
              • 2017-01-07
              • 2011-10-21
              • 1970-01-01
              • 2023-03-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多