Comparison: Cloud Database vs RavenDB NoSQL Document Database
by Oren Eini
Comparison between a Cloud Database and RavenDB NoSQL Document Database
RavenDB, the industry’s best NoSQL Document Database, shines in a comparison with a cloud database. We offer better Replication, Performance, and portability.
At RavenDB, we do our best to anticipate developers’ needs. We prefer it when you get everything you need without asking for it, as if you entered a restaurant and found your entrée all set and your favorite wine ready to be poured.
It was an illuminating experience for us then, to receive an email from a new user sharing his recent experience with a Cloud NoSQL Database offered by one of the main cloud providers.
We were happy for the opportunity to hear him out, be thankful for our choices, and offer him the best NoSQL solution for use on-prem, in the cloud, and cross-platform.
Let’s go through the main issues he raised, one by one.
Whether Cloud Database or Portable, The Best NoSQL Database Has Certain Standards
Issue #1: This cloud database only works on its provider’s cloud.
This is a common problem with databases offered by cloud providers. They are as movable as a chair bolted to the floor, providing too little portability for your needs. Services given by other cloud providers tend not to work smoothly when they approach your cloud, increasing complexity when you try to piece various components together - especially with cross-platform digital topologies.
Different departments in your company may use different cloud providers, or your company may acquire another company using the services of a different cloud platform. Creating applications that need to navigate both systems well, requires a database well-compatible with both clouds.
Put RavenDB on any cloud, and it will work well.
Put RavenDB on a local development environment, and it will work perfectly there too. This is extremely helpful in development environments, where approaching local instances rather than remote cloud instances simplifies common tasks, testing and continuous integration, and makes development significantly easier.
Issue #2: Performance was as unpredictable as cost. They had a transfer rate of only 2 MBps between two instances that serve 100,000 Resource Units, which is over 12 hours for a 100 GB database.
RavenDB does extremely well in unifying and minimizing trips to the server, boosting its performance to a staggering rate. In comparison with the sad 12-hours-long transfer we’ve been consulted about, RavenDB can replicate a 52 GB database in 5 minutes, less than the time it takes to read the front-page news.
We can execute 1 million reads and 150,000 writes per second on simple commodity hardware, making RavenDB one of the fastest NoSQL document databases available.
Issue #3: Cost is unpredictable. 200 MB of data can cost $375 to store and manage.
Minimizing trips to the server for each request not only boosts performance, but also lowers cloud costs and makes them more predictable, helping to keep them within an acceptable range.
Our data profiler tells you where your queries and indexes cost performance, enabling you to open up bottlenecks and helping you improve your code to further reduce cloud costs.
Whether you run RavenDB locally or on the cloud, you aren’t nickeled and dimed at each turn but get this vital state-of-the-art property, in an outstanding speed and at a predictable price.
Issue #4: There is no procedure for disaster recovery backup. If you have accidentally deleted or corrupted your data, you have 8 hours to fix it, or else.
If you ever make a mistake, you’d probably want to inspect a copy of your database that precedes this mistake. And if your database is lost for whatever reason, you need to have a copy of it ready at a moment’s notice.
RavenDB gives you high availability with fast replications and reliable backups.
You can create tasks that regularly save your databases to files or replicate them to other nodes or servers, save backups as files or snapshots, and encrypt them if you like.
If you find out that your data hasn’t been properly processed for the passing 2 months, you may wish to return to prior revisions of your database and get a clear view of data development over time.
With RavenDB’s Revisions feature you can keep copies of your documents whenever they are modified, and revert them if you like. The powerful Revert Revisions feature allows you to swiftly return ALL documents that have revisions, to their state in a particular point in time.
Tech Support and Developer Communities for a Cloud Database and a Portable NoSQL Document Database
Issue #5: The cloud database has a virtually zero developer community support, and poor documentation. Most “online support” comes from outside affiliates interested in selling something.
Problem solving shouldn’t be complex. It should reduce complexity. Easy to use documentation, a vibrant developer community and readily-available learning resources are vital for a top NoSQL Database that keeps your application up and running at all times and is issue-free.
If you need help, you can turn immediately to the following resources:
- RavenDB’s easy to use (and understand) documentation
- The RavenDB Boot Camp
- The RavenDB Developer Community Forum
- Inside RavenDB - Oren Eini’s book about RavenDB, broken down into easy-to-read sections with code snippets and explanations.
- Pluralsight Getting-Started course
These resources are always available for you and are free of charge.
Issue #6: Paging is so hard! You can’t just open the third page of your results, you have to actually go through the first two pages to get there.
Where the cloud database uses a continuation-token and forces you to meticulously go through all result pages up to the one you’re actually interested in, RavenDB simply lets you get there.
You can paginate query results (or not) as you wish, leaf and skip through them, and effortlessly get where you want.
This is not a secluded incident, but yet another reflection of a basic difference in approaches. RavenDB is developed by people who need working features, and honestly produce them for themselves and others. We strive and succeed to include easily applicable features that evidently suit most applications, so you don’t have to struggle for them.
Issue #7: Shouldn’t you just get the cloud professional support?
Most large companies, especially ones whose company stock is traded on public markets, view your need for support as an opportunity to charge you more. You end up paying twice: once by allowing a complicated and clunky service consume your resources, and then again for the paid support you have to rely upon to make it work – which may cost you way more than the database itself.
We on the other hand view support the way you do, as a cost incurred by us. We are a company founded by developers, run by developers and guided by developers, whose mission is to create a product every developer would love to use. RavenDb strives to minimize your need to stop what you are doing, make a call, and wait until someone with a heartbeat picks up the phone.
We created a low overhead database, so your DBA wouldn’t have to play the role of babysitter.
One of our clients has used our database for 6 years straight without having to touch it.
We have provided RavenDB with self-optimization features to warn you of any potential issues and keep technical debt low, and put other fail-safe measures in motion to resolve many issues without wasting your time.
If you do need to speak to someone, we offer Dev Tech Support. The developers helping you are the ones who built RavenDB, which ensures that you get a top-notch service and that our dev team isn’t isolated from the real issues you may run into in the real world.