Overall Satisfaction with RavenDB
For me, RavenDB is the best database currently available.
RavenDB is a document database written in C# / .NET (Core) which is also the technology we use for our backends. It is super easy to configure a RavenDB server / database from C# code. This gives extra compile-time safety compared to other DBMS that use script languages like e.g. SQL. Furthermore, being a document database, I do not have to deal with the Impedance Mismatch that comes with any RDBMS. The entities that I store and load from RavenDB more closely resemble the code that I would actually write as an O-O developer. Nonetheless, I have ACID support in RavenDB, something that is not quite as well implemented in e.g. MongoDB.
RavenDB can be easily integrated in automated tests with their RavenDB.TestDriver package. This makes integration tests on CI pipelines especially easy as we do not have to supply e.g. a Docker image that provides a corresponding database server instance.
With RavenDB, the RavenStudio comes directly as a web frontend with the server. I do not need to install tools like SQL Server Management Studio or SQL Developer to get quick (scripting) access to my RavenDB databases. Furthermore, the free edition of RavenDB has less constraints than competitive projects (e.g. unlimited database size) and even if we need to buy a paid license, the prices are way more acceptable than from other big vendors.
All in all, RavenDB allows us to deliver software faster for our customers by making our data access layers easier to design, implement, and test.
- Document Database - no Object-Relational Impedance Mismatch
- ACID support that is optimized for performance
- Can be easily integrated into automated tests (unit tests)
- Easily configurable via C# code
- Comes directly with RavenStudio - no SSMS or SQL Developer required
- In general low footprint when it comes to memory and disk consumption
- Useful safety nets for new developers - e.g. by default an exception is thrown when you make too many requests within a session
- Configuring the JSON Serializer was a little bit hard in one project
- Creating custom indexes from several documents can sometimes be a bit cumbersome
- It's easier to teach new developers how RavenDB works (in contrast to SQL)
- RavenDB has unlimited DB size in a free license - so we can stay longer on that
While MongoDB is in general more popular, I cannot fathom why that is. If you want ACID support (and as a developer, you'll always want that), MongoDB is way slower when compared to RavenDB. Furthermore, RavenStudio is just integrated, while
Against other RDBMS, the O-R Impedance Mismatch is the main factor that drives us towards RavenDB.
Do you think RavenDB delivers good value for the price?
Yes
Are you happy with RavenDB's feature set?
Yes
Did RavenDB live up to sales and marketing promises?
I wasn't involved with the selection/purchase process
Did implementation of RavenDB go as expected?
Yes
Would you buy RavenDB again?
Yes