Search code examples
c#.netsql-serverdatabaseoodb

Benefits of switching from SQL Server to Versant OODB


What benefits (if any) to the company (not only to developers) I could gain by switching from SQL Server 2008 to Versant OODB?

More info about the project and facts to help with an answer (let me know if you need more):

  • Very small team, almost never used OODB.
  • Project uses NHibernate 2.
  • About 75% test coverage.
  • ASP.NET MVC app.

At this stage I could not justify the switch due to following points (most related to db4o, not Versant mainstream OODB):

  • tooling is pretty bad comparing to RDBMSs world where there are bunch of "Managers", profilers, integration/migration tools and others;
  • documentation is pretty basic from what I can observe and heavily mixed with Java;
  • not so many resources on the net comparing to RDBMS;
  • switching to other databases may be problematic (as opposed to RDBMS);
  • learning curve for the developers and IT team;
  • additional licensing cost;
  • additional maintenance cost;
  • no integration with MSDeployment (including automatic backups, MSBuild, Packaging etc);

Solution

  • Here is a comments by a real user who switched from SQL Server 2005 to Versant:

    Here’s feedback from me and my colleagues about VOD.Net.

    I grouped my ideas in pros and cons

    PROS: (In one word : Speed)

    • The database engine is fast for data read and writes, from what we’ve done, it’s about 5 to 10 times faster than SQL Server 2005
    • It reduce the amount of code needed to do same thing than standards Data Access Layer technologies
    • It also reduce time to develop new functionality
    • It creates a strict objects structure and that facilitates data integrity
    • Data import into VOD is easy

    CONS: (In one word : Need Troubleshooting skills)

    • Our major negative point is about the Administration tools usability (Administration Console and Object Inspector)
    • Buttons/Links not quite explicit about what they do, we usually figure out when we try to use it
    • Versant Compilation/Database update errors are not enough explicit,  we barely know what class cause the error but not the reason, so we need to debug by ourselves.
    • Using Verify Database menu option could not work and will show errors (Depending of the times)
    • Application Migration
    • When migrating a DAL pattern application, it’s long to make it work with VOD if you try to keep the same code for the UI

    In résumé, I would recommend using VOD.Net for enterprise having senior developers skills and complex/big data structure. It is definitely faster creating brand new application than migrating existing application. The Object inspector need a redesign to be more user friendly.

    We have addressed some of the Object Inspector concerns by providing LINQpad support. I think you should make the decision to switch based on technical benefits and not on any emotional discussion. Also, Versant is a Microsoft partner, and there are plenty of opportunities for people with good OO Skills Versant or not.