Overall Satisfaction with RavenDB
We used RavenDB as the database for several of our commercial graphics products within 3M. It addressed a few important issues for us:
- High performance
- Powerful: We were able to store complex objects and view models in Raven.
- Ease of developer use: No schemas, stored procedures, or complicated mapping to setup.
- Flexible: Raven let us move quickly while prototyping our apps without getting bogged down in schema details.
- Scalable and resilient across a cluster of machines.
- First-class .NET support
- Easy to get started
- Great tooling
- Unparalleled performance
- Resilient
- Sharding
- Faster development time due to low barrier to entry.
- Faster iterative development as Raven's data model is more flexible than traditional databases.
- Less maintenance required thanks to Raven's self-tuning auto indexes.
We chose Raven over Mongo because it has robust support for multi-document transactions, first-class .NET and LINQ support, a well-designed API that has inspired imitation and has better tooling out of the box. We chose Raven over Redis because Raven is a full persistent database, rather than a mere key/value cache. And Raven's capabilities and memory management are such that there's little need to add a cache layer on top. We chose Raven over CosmosDB because it's faster, cheaper, way easier to implement, open-source, and far more mature. Additionally, unlike Cosmos, Raven can be hosted on your own infrastructure.