Bright Cabin goes on a fishing trip
Who are you? (Name, company, position)
In what kind of project / environment did you deploy RavenDB?
We've built a social fishing site where you can report your catches and share stories with friends. It's currently in Swedish only but we're aiming for other countries in Scandinavia in the near future. The main site is developed in asp.net mvc3 and for the api we are evaluating Servicestack.net and Open Rasta, the api draft is developed in mvc3 today. The project is a non commercial pet project that we built on our spare time.
What made you select a NoSQL solution for your project?
We started with a MSSQL as our data store and evaluated both NHibernate and Entity Framework as orms. But it always felt that we had to shoehorn our ideas into the relational model. It was simply killing our productivity and it felt really boring. Since we own this project our self we want to use technology that is fun and inspiring. As NoSQL solutions we first ran a test drive with MongoDB after that we took our ideas for a spin in RavenDB .
What made you select RavenDB as the NoSQL solution?
A client api in .net with Linq support and the fact that you are really close to the metal. Built in cache for the queries, JSON objects, really nice architecture, sharding support. And also the ability to initialize the data store to run from memory when we do our integration tests. All of this and more makes RavenDB a real pleasure to work with.
How did you discover RavenDB?
At Oredev 2010 we discussed our pet project at the pub and a friend of ours had been looking into this document db called RavenDB . He pointed us to Rob Ashton's blog for more hands on examples. At that time the mvc music store was the sample for RavenDB but I found that Rob Ashton's gallery was the one that got me started for real.
How long did it take to learn to use RavenDB?
It was extremely easy and straight forward to get started and to learn some basics. The hard part for me was the indexes and how you should model your data. I think this quote does summarize it really well:
If it takes more than 10min to get started with RavenDB, we actually consider this a a bug.
What are you doing with RavenDB?
A lot of spatial searches like "find documents within radius of lat lng".
What was the experience, compared to other technologies you used before?
Very easy to get started with. Nice and clean client api. Close to the metal. And very extensible.
What do you consider to be RavenDB strengths?
- The instant support in the Google group.
- Carefully designed to with a productivity focus.
- A slim but very flexible client api with all the .net goodies that you wish for. Implements
- new features fast and features that the community really wants and makes sense for the product.
What do you consider to be RavenDB weaknesses?
The documentation isn't up to date. The studio lacks some features that would be nice to have.
Now that you are in production, do you think that choosing RavenDB was the right choice?
Absolutely, it felt like the only choice after our evaluation. But since we haven't been online public for long I guess time will tell.
What would you tell other developers who are evaluating RavenDB?
Try it out. It's truly an amazing experience with RavenDB data access is fun again. It's fresh and seems to have and endless of possibilities. But you need to take the time and think over your models and how you will query your data. Atleast if you come from a relational perspective. I truly believe it to be the best solution of a NoSQL db if you are in the .net space.