Skip to main content

RavenDB - overview, thought, and what next...

 


Exploring RavenDB: First Impressions and Key Features 🚀

At the recent conference (https://devworldconference.com), I was impressed by the possibilities and feature set of RavenDB. It’s not just another NoSQL database—it delivers on its promises with ease of use, powerful features, and high performance.

In this post, I’ll share my first-hand experience with RavenDB, highlighting its key features, what makes it stand out, and my thoughts after testing it in a real-world pet project. Let’s dive in! 👇

List of features:

  • Database Management Studio & Open-Source NoSQL Document Database – Ease of Use
    It's not just a slogan—it’s true. It took me around 5 minutes to run RavenDB and its Database Management Studio on my laptop. You can start experimenting with this DB locally in just a few minutes, without digging through tons of tutorials or manuals. No need to install dozens of tools and subsystems—just a few minutes, and you have a full sandbox for exploring and learning everything this DB has to offer.

  • ACID Database Transactions – Per Document, Per Database
    One of the most important features—you can trust that all your changes will either be fully applied or NOT at all across all documents. This is critical for ensuring data consistency.

  • Multi-Platform Database
    Run RavenDB anywhere—on Mac, Windows, Linux, or in the cloud (AWS, GCP, Azure). While not a must-have feature for everyone, it’s still an impressive level of flexibility.

  • Free Community License
    You don’t need to buy anything to start using RavenDB in a test environment. Before deciding to use it in a commercial project, you can try it out in a sandbox environment, explore its capabilities, and verify if it meets your needs.

  • Integration with Relational Databases + Built-in ETL Processes + Time Series Support
    This feature set really caught my attention. From audits to data transfers between databases, these built-in tools cover many business needs. The best part? You don’t need to install additional plugins or external applications—just configure and use it.

  • Documentation, Documentation, and Again… Documentation!
    The quality of RavenDB’s documentation is fantastic! It’s well-structured, easy to navigate, and clearly explains each feature and possibility. Finding what you need is simple, making learning the database much easier.

  • High-Performance NoSQL DB
    Last on my list, but definitely not least in importance. From my local testing, it feels incredibly fast.
    According to RavenDB: "Using its in-house storage engine, Voron, RavenDB can perform over 150,000 writes per second and 1 million reads on simple commodity hardware." If these claims hold true, this performance level could support a wide range of products!


Summary

Before using any technology in a commercial project, double-check and verify everything—discuss with colleagues and test it thoroughly in pet projects.

My thoughts so far? I played with RavenDB locally—tested inserting, searching, and updating data.
It’s easy to use, simple, and really fast!

A lot of ready-to-use examples in different client libraries (Go, .NET, etc.) help you build applications quickly and cleanly.

Currently, I’m migrating my existing pet project to RavenDB. So far, I haven’t encountered any blockers, problems, or limitations. Let’s see how it goes, but for now—it looks really promising! 🚀

Comments

Popular posts from this blog

Microsoft Azure Well-Architected Framework - Maturity models

The Azure Well-Architected Framework has always been a great way to assess and review workloads. But with the recent updates—especially the introduction of maturity levels —it’s becoming much more than just a checklist. 💡 It’s evolving into a concept. Not only can teams review their architecture, but they can now score, track progress, and continuously improve . The maturity model provides clear stages—from establishing a solid foundation to achieving future-proof agility—making it easier to understand where you are today and where you should aim tomorrow. Why is this important? ✅ It transforms reviews into a roadmap for growth ✅ It allows measurable scoring of architecture maturity ✅ It pushes teams to focus not only on compliance, but also on resilience, agility, and future-readiness Each update makes the Azure Well-Architected Framework better and stronger —helping organizations align technology decisions with long-term business success. 👉 In my view, this is the right dire...

Coinbase x402 is great option for paymant per request!

  🚀 What is Coinbase x402? x402 is a new open payment protocol built by Coinbase that revives the long-forgotten HTTP 402 “Payment Required” status and turns it into a modern, internet-native payment layer . Using stablecoins (such as USDC ) directly over HTTP, x402 allows services: APIs, websites, or digital content platforms to charge per request. At the same time,  clients (including AI agents and automated systems ) can pay programmatically , without accounts, subscriptions, or human interaction. In simple terms: request → pay → get response , all at the protocol level. How It Works (Simplified) A client requests a protected resource (API, data, article, service). The server responds with HTTP 402 Payment Required , including payment instructions. The client (app or AI agent) generates a payment transaction using its wallet. The client resends the request with payment details included in HTTP headers. The server verifies the payment and immediately ret...

"Dushnylo" Series: What do you know about "Logging-Oriented Programming"

I’ve seen it too many times: developers don’t know how to use logging correctly. We end up with tons of logs, everything dumped in, debug left in production, and  even API keys and secrets leaking out. Why does this still happen? Because we’ve slipped into LOP  (Logging-Oriented Programming) . Just throw in logs everywhere and hope: “we will see what happens here.” WHY WHY WHY!!! The real reason? Most of the time, we are just tired and don’t know how to debug locally. Maybe it needs a 3rd-party integration, maybe we can’t prepare the right data, maybe something else. I’m not asking you to “please use logs correctly.” If you need to debug your code, configure remote debugging or run it locally. So, just: 🚨 Do NOT use LOP. Be a good Software Engineer! 🚨