从SQL Server切换到Versant OODB的好处

时间:2011-03-17 02:23:38

标签: c# .net sql-server database oodb

通过从SQL Server 2008切换到Versant OODB,我可以从公司(不仅仅是开发人员)获得哪些好处(如果有的话)?

有关项目和事实的更多信息以帮助解答(如果您需要更多,请告诉我们):

  • 非常小的团队,几乎从未使用过OODB。
  • Project使用NHibernate 2。
  • 大约75%的测试覆盖率。
  • ASP.NET MVC app。

在这个阶段我无法证明切换是由于以下几点(与db4o最相关,而不是Versant主流OODB):

  • 与RDBMS世界相比,工具非常糟糕,那里有大量的“经理”,分析器,集成/迁移工具等;
  • 文档非常基础,我可以观察到并与Java混杂在一起;
  • 与RDBMS相比,网上没有那么多资源;
  • 切换到其他数据库可能会有问题(与RDBMS相反);
  • 开发人员和IT团队的学习曲线;
  • 额外的许可费用;
  • 额外的维护费用;
  • 没有与MSDeployment集成(包括自动备份,MSBuild,包装等);

5 个答案:

答案 0 :(得分:7)

取决于你的对象模型。如果您正在使用复杂的层次关系处理域中的深层对象图,则可以通过从SQL Server 2008切换到Versant ODB来获得大量时间。如果你正在处理扁平物体粘在关系引擎上。 请在www.polepos.org查看c / s结果: http://polepos.sourceforge.net/results/PolePositionClientServer.pdf

答案 1 :(得分:6)

以下是从SQL Server 2005切换到Versant的真实用户的评论:

以下是我和我的同事关于VOD.Net的反馈。

我将我的想法归为正反两方面

PROS:(一句话:速度)

  • 数据库引擎快速进行数据读写,从我们的工作开始,它比SQL Server 2005快5到10倍
  • 与标准数据访问层技术相比,它减少了执行相同操作所需的代码量
  • 它还缩短了开发新功能的时间
  • 它创建了一个严格的对象结构,有助于数据完整性
  • 将数据导入VOD很容易

缺点:(总之一句:需要排查技能)

  • 我们的主要负面观点是管理工具的可用性(管理控制台和对象检查器)
  • 按钮/链接不太清楚他们做什么,我们通常会在我们尝试使用它时弄明白
  • Versant编译/数据库更新错误不够明确,我们几乎不知道是什么 class导致错误但不是原因,所以我们需要自己调试。
  • 使用“验证数据库”菜单选项无效,将显示错误(取决于时间)
  • 应用程序迁移
  • 迁移DAL模式应用程序时,如果您尝试为UI保留相同的代码,则可以使用VOD很长时间

在简历中,我建议将VOD.Net用于具有高级开发人员技能和复杂/大数据结构的企业。创建全新的应用程序肯定比迁移现有应用程序更快。对象检查器需要重新设计才能更加用户友好。

我们通过提供LINQpad支持解决了一些Object Inspector问题。我认为您应该根据技术优势而不是任何情感讨论做出决定。此外,Versant是微软的合作伙伴,对于具有良好OO技能的人来说,有很多机会。

答案 2 :(得分:4)

你忘记了....它可能会更快地对我(但取决于你的模型。如果你有简单的模型,我建议坚持使用RDB)。

如果你有多对多,递归关系,嵌套子图等......那么如果会更快。

当然,它也可以在更少的硬件上运行。与IBM的研究表明,您将在中间层中节省大约50%的CPU(例如,您为RDB发生所有类型转换的Web服务器)。

此外,你不需要数据库专家..如果你是一个OO人,那么你已经拥有了技能组合......特别是如果你知道Hibernate / nHibernate,因为Hibernate的对象生命周期管理的概念和ORM空间基本上是从OODB世界被劫持并移植到RDB阵营。

此外,您可以在开发周期中更快地迭代,而无需经常访问DBA并请求架构更新。

.... RDB最终将成为大型机的发展方向。仍在,但不是用于新项目。那些Cobalt程序员当时也不相信......所以不要打扰所有的na-sayers。

答案 3 :(得分:3)

如果要切换,请执行此操作。这是你唯一的“加分”。

  

“摆脱对象关系阻抗不匹配,我们都厌倦了。”

您已经列出了大部分底片。我还要再添两个:

  • 工作怎么可能要求Versant OODB技能?
  • 有多少开发人员拥有Versant OODB技能?

答案 4 :(得分:1)

在披露方面,我为Versant in Sales工作,并评论你的问题,Versant是一个商业产品,但是像SQL Server一样,我们有类似的定价,Community Edition是免费的,数据库大小有限制,标准版是一个每台服务器的成本很低,但允许的线程数量有限,企业版价格昂贵,但如果需要可扩展性和性能,则要比SQL Server或Oracle要小。此外,通过从nHibernate转移到LINQ,您将能够将其用于Versant的数据库,并且将来如果您想要回到SQL Server,您可以使用EF或LINQ TO SQL轻松完成,因此它可以减轻您的需求数据库基础架构中的风险。对于Versant而言,这将是一个重点,而不是使用具有专有接口的KVP NoSQL存储。确实,关于Relational的文档要少得多,但www.odbms.org确实有一些很好的信息和参考资料。如果您的团队精通C#,学习曲线应该非常简单,从管理角度来看,Versant是一个数据库,因此学习备份和恢复过程应该很熟悉。我们的客户,C ++,Java或.Net都表示Versant的优势在于易于开发,性能以及能够在服务器和存储中使用较少资源来支持其需求的能力。