Building a platform like ours is hard work, it takes long hours and a lot of "line-in-the-sand" decisions that we can't easily revert later on. Although we have ran into a few issues such as Docker vs Linux Containers, one area we have not regretted is our database choice. We chose RavenDB and we continue to be blown away by the product every single day. From a developer standpoint we are always looking to help other companies make the right choice with their stack, so we thought we would give you our honest feedback of the product.

Document databases are good - they allow you to store complex objects without worrying about the most efficient way to normalise that data. However, Document databases tend to experience the same issues - poor indexing and lack of ACIDity. This would cause serious problems in our system where eventual consistency is not an option - we can't create a Minecraft or CS:GO server and hope that we will eventually be able to retrieve the document - we need an ACID database - RavenDB's tagline says everything you need to know about that: "ACID NoSQL Document Database".

A managed solution makes happy developers. - RavenDB offers their own cloud hosting, or the ability to host on-site/in your own cloud. This flexibility is much appreciated, we are able to run three databases (Development, Staging and Production) and they all function in more of less the same manor. The less time we have to spend worrying about our infrastructure, the more time we can spend building awesome features - running their very reasonably priced managed solution makes perfect sense for a company like ours.

The team are awesome. - It is easy to forget sometimes, but there are real people behind the companies/products that we use. Our team had the privilege of speaking with a couple of the team at RavenDB a few weeks ago and it is just another reason we are so happy we chose this product. The team were engaging, interested in what we were building and most importantly understood that we were a small company with limited resources; they offered to scale their pricing as we scaled our services - a perfect win/win! Read more about the interview we did with their term here: https://ravendb.net/articles/battle-crate-uses-ravendb-to-become-the-aws-of-gaming

I hope you have found this article useful and if you are deciding which database technology to use in a new or existing project we would definitely recommend you check our RavenDB!