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.
- 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.
- MongoDB, Redis and Azure Cosmos DB
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.
Raven has genuinely met all my database needs. When I'm on projects that use traditional SQL databases or other NoSQL products, I find myself longing for the speed and simplicity of Raven.
Raven is a fantastic choice for a general-purpose database. It works well in a variety of types of applications and has a flexible data model for different kinds of data (JSON, time series, counters). We've successfully used Raven both as a primary database and as a complement to a traditional SQL database. For the latter scenario, we used Raven as a cache for complex objects like view models. But we've found the most success switching entirely off SQL and onto Raven—great performance, fewer maintenance issues, and developers love it.