Discover all the things you can do with RavenDB
Check out the dev hub, read some docs, or hear from our customers.
Learn about us, what we’re building today, and where we’re going tomorrow
Alex Klaus supports RavenDB’s development and outreach efforts, contributing to technical resources that help developers succeed with NoSQL deployments.
Let’s talk about testing… Not about the importance of testing in general, but rather about automated tests against NoSQL Databases. The simplicity of writing and orchestrating them in build pipelines, and the power they unveil – high confidence in reliable code after making changes and before writing new code (TDD). Why test against an actual…
How multi-tenant database can be arranged in NoSQL in general and in RavenDB in particular. For SaaS applications, multi-tenancy might seem like a simple problem at first glance. But just scratch the surface and it reveals itself as one of those topics where technical architecture concerns, business needs, security risks and user experience…
We know how to maintain a relationship between two tables in SQL. Normalise. Add a reference field with a foreign key. When querying data from both tables – JOIN the two. It makes writing normalised records to the DB straightforward and optimises storage space, but it comes with a higher cost of querying the data. All the JOINs and GROUP BYs on…
The power of dynamic fields for indexing dictionaries and nested collections in RavenDB Yet Another Bug Tracker (YABT) we are building in this series needs to be flexible and accommodate custom fields and structures that can be added by the end-user. The custom fields is a widely-adopted concept in bug-trackers to manage additional fields on…
At first glance, you don’t need to pay special attention to document IDs in RavenDB. The default autogenerated semantic IDs (e.g. users/1-A) are good enough – robust, concise, human-readable, customisable. Of course, there are other options including GUID if you want to go fancy, but the YABT (“Yet Another Bug Tracker”) sticks to the defaults and…
The Yet Another Bug Tracker (YABT) we’re building in this series is a simplified version of a bug-tracking tool that implements some basic functionality. In spite of its simplicity, we leverage the Domain-driven Design (DDD) to describe independent problem areas as Bounded Context, emphasize a common language (Ubiquitous Language) to talk about…
NoSQL is not hard, it’s different. And to show that, RavenDB and I kick off a new series of articles dedicated to building enterprise applications leveraging the .NET Core + RavenDB bundle. We want to give as much of practical knowledge as possible, so let’s build a real-ish enterprise solution and explain various interesting aspects in the…