Case Study: Edument Sweden – The Right Choice, RavenDB!
Who are you? (Name, company, position) Tore Nestenius, Edument AB, co-founder and manager.
In what kind of project / environment did you deploy RavenDB?
We use RavenDB as the data storage solution for our internal CRM and delivery management system, as well as for the custom-made CMS on our website, www.edument.se.
What made you select a NoSQL solution for your project?
We choose to use a NoSQL database - a document database in particular - because it was a good fit for the types of data we needed to store. Choosing an appropriate kind of database would give us better developer productivity, cost, and performance. It also eliminated the need to deal with an ORM, such as Entity Framework.
What made you select RavenDB as the NoSQL solution?
We knew we needed a document database, and had already selected .Net as our development platform. RavenDB was the obvious choice, giving us a secure and transactional database that easily integrated with .Net.
How did you discover RavenDB?
We have followed the progress of the RavenDB since the early days, and stayed up-to-date with its progress via. blogs (http://ayende.com/Blog/) and watching conference presentations.
How long did it take to learn to use RavenDB?
It didn’t take so long to learn enough to get productive, because the concepts are pretty simple to grasp. The API for using RavenDB is also clean, and there is decent documentation. .
What are you doing with RavenDB?
We use it for our in-house applications and for our public-facing website. RavenDB is now a critical component in our business IT infrastructure.
What was the experience, compared to other technologies?
Very positive. Using a document database turned out to have been the right choice for the projects in question, and RavenDB worked very smoothly. We greatly appreciated the .Net integration. Even developers on the project with no prior experience of RavenDB were able to quickly get RavenDB set up in their development environment and get productive with the code. We also liked how easily we could evolve our documents; to us it felt there was a lot less friction than with a relational database.
What do you consider to be RavenDB strengths?
Ease of use, good developer experience, no need for an ORM, and a good balance of consistent transactional operations with indexed eventually consistent queries - which can be written using Linq!
What do you consider to be RavenDB weaknesses?
RavenDB didn't stand out as being weak in any particular area. The main challenges arose from some developers not being used to thinking in documents, or issuing queries in the wrong way so they got out-dated results in places where consistency mattered. Code reviews by more experienced developers helped mitigate this.
Now that you are in production, do you think that choosing RavenDB was the right choice?
Yes, it has been running solidly for over a year without any problems.
What would you tell other developers who are evaluating RavenDB?
Next time you are working in a problem domain where things seem natural to think of as documents, certainly give RavenDB a try! Also take some time to understand the way relations and documents differ, to make sure you get the most out of what RavenDB can offer. Med vänliga hälsningar
Tore Nestenius Edument AB firstname.lastname@example.org http://www.edument.se mobil: 0708-166856