Public Preview

NetlyDB

Distributed NoSQL for .NET

Start embedded. Scale to a cluster when you need it.

Add a NoSQL database in seconds, with just one line of code.

builder.ConfigureServices((context, services) =>
{
    services.AddNetlyDB();
}

var app = builder.Build();

Easy querying (LINQ expressions)

var belgianUsers = users.Query()
    .Where(x => x.Country == "BE")
    .OrderBy(x => x.Name);

Blazing fast, at large scale

Large scale

12.4M

Total records

Fast

24ms

12k results

Distributed

3

Nodes online

What is NetlyDB?

NetlyDB is a .NET-native NoSQL document database designed for teams that want speed now and scale later. It can run embedded inside an application, expose APIs, provide a Management UI, and scale toward distributed clustered deployments with replication and reconciliation.

Key features

.NET native

Embedded or distributed

Developer-friendly C# SDK

Blazing fast

Easy to set up

Modular and configurable

LINQ-style querying

Index-aware querying

Built-in Management UI

Replication and reconciliation

Snapshot and datalog recovery

API-ready architecture

AI/MCP integration

How it works

Add NetlyDB to your application with a single line and it lives alongside your application. It is modular and you can cherry-pick and configure exactly what you need from it. It is designed to be plug and play from code, without any required installation on the system.

Key components

NetlyDB Core

NetlyDB Core coordinates all primary services used by embedded and distributed deployments.

Core services handle collection lifecycles and wire the key runtime subsystems together so higher-level modules can stay composable.

Collection coordination

Tracks schemas, typed registries, and document pipelines.

Query and index flow

Routes queries through filtering, planning, and index-backed execution.

Persistence and recovery

Connects snapshot and datalog services for durable state.

Extensible hooks

Supports replication modules and optional hosted runtime services.

Modules are easy to implement:

builder.ConfigureServices((context, services) =>
{
    services.AddNetlyDB()
    .AddNetlyDBCollection<User>() //One line to create a strongly typed collection 
    .AddNetlyDBAPI() //One line to create a self-hosted API
    .AddManagementUI() //One line to create a self-hosted management UI
    .AddNetlyDBMCP() //One line to create a self-hosted MCP Server
    .JoinCluster(); //One line to join another NetlyDB node in a distributed system
}

var app = builder.Build();

var users = app.Services.GetRequiredService<INetlyDBCollection<User>>();

users.Add(new User
{
    Name = "Alice",
    Role = "operator"
});

var operators = await users.ListAsync(x => x.Role == "operator");
Technical documentation available soon

Code-first developer experience

users.Add(new User
{
    Name = "Alice",
    Role = "operator"
});

users.AddRange(
[
    new User { Name = "Bob", Role = "operator" },
    new User { Name = "Eve", Role = "auditor" }
]);

Use cases

🔵 Internal business applications

🔵 Warehouse and logistics systems

🔵 Edge and embedded applications

🔵 Real-time dashboards

🔵 Game and simulation backends

🔵 AI-connected data applications

🔵 Distributed services

🔵 Local-first tooling

Feature overview

Core database

  • Typed collections
  • Dynamic documents
  • Document metadata
  • File documents

Querying

  • Filters
  • Sorting
  • Pagination
  • Aggregates
  • Grouping
  • Nested fields

Indexing

  • Nested indexes
  • Compound indexes
  • Meta indexes
  • Query planning

Reliability

  • Snapshots
  • Datalog recovery
  • Replication
  • Reconciliation
  • Chaos-test driven hardening

Tooling

  • Management UI
  • API hosting
  • CLI direction
  • Webhooks
  • MCP/AI direction

NetlyDB Timeline

2025
Q1

2025 Q1

Core Foundation

Storage abstractions, sharding, persistence and indexing foundations.

Cross Platform

Android and MAUI support with platform-specific storage handling.

Q2

2025 Q2

File Collections

Binary document storage for blobs to support all types of files.

Management UI

Operational views, reusable UI components and system metrics.

Clustering Foundation

Support for distributed node setup, with basic replication and failover.

Q3

2025 Q3

Typed Collections

Strongly typed collection registration and cluster-wide type propagation.

Indexing Maturity

Nested, compound and stale-index handling improved.

File Collections tooling

Thumbnails, previews and video streaming.

2026
Q1

2026 Q1

Self Healing

Snapshot repair, stale checkpoint recovery and stronger replication negotiation.

Lifecycle Control

Per-document TTL and distributed cleanup services.

Mutation Queries

Update and delete queries through the shared query pipeline.

Q2

2026 Q2

Chaos Testing

Fault injection, partitions, corrupted snapshots and convergence validation.

AI Integration

MCP tooling, structured query translation and AI-ready access.

Q3

2026 Q3

Production Hardening

Prepare for operational use in larger scale products. Scale up chaos testing, stress testing and focus on robustness.

Interactive NetlyDB Playground

Query 100,000 demo orders using real, read-only NetlyDB query execution.

Results: 10,025 matches
Elapsed: 31.98 ms

Equivalent C# usage

var result = await orders.Query().Where(x => x.Country == "BE").ToListAsync();

JSON results (showing top 25 of 10,025)

[
  {
    "Reference": "ORD-010237",
    "CustomerName": "Summit Pulse Systems",
    "Country": "BE",
    "Status": "Pending",
    "Total": 19086.48,
    "CreatedAt": "2026-12-31T16:17:08Z",
    "Priority": "High",
    "LineCount": 17
  },
  {
    "Reference": "ORD-069221",
    "CustomerName": "Urban Bridge Systems",
    "Country": "BE",
    "Status": "Pending",
    "Total": 3072.76,
    "CreatedAt": "2026-12-31T15:50:26Z",
    "Priority": "Medium",
    "LineCount": 24
  },
  {
    "Reference": "ORD-061061",
    "CustomerName": "Blue Logic Partners",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 12493.33,
    "CreatedAt": "2026-12-31T03:19:17Z",
    "Priority": "Critical",
    "LineCount": 13
  },
  {
    "Reference": "ORD-015800",
    "CustomerName": "Nova Stone Supplies",
    "Country": "BE",
    "Status": "Open",
    "Total": 13352.66,
    "CreatedAt": "2026-12-30T23:11:56Z",
    "Priority": "Low",
    "LineCount": 22
  },
  {
    "Reference": "ORD-051246",
    "CustomerName": "Urban Axis Holdings",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 28385.83,
    "CreatedAt": "2026-12-30T10:34:27Z",
    "Priority": "Critical",
    "LineCount": 13
  },
  {
    "Reference": "ORD-072660",
    "CustomerName": "Prime Market Labs",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 2326.03,
    "CreatedAt": "2026-12-30T06:36:01Z",
    "Priority": "High",
    "LineCount": 20
  },
  {
    "Reference": "ORD-017089",
    "CustomerName": "Global Stone Industries",
    "Country": "BE",
    "Status": "Pending",
    "Total": 7604.92,
    "CreatedAt": "2026-12-30T03:32:10Z",
    "Priority": "Medium",
    "LineCount": 19
  },
  {
    "Reference": "ORD-089948",
    "CustomerName": "Prime Pulse Systems",
    "Country": "BE",
    "Status": "Open",
    "Total": 31800.02,
    "CreatedAt": "2026-12-30T01:45:41Z",
    "Priority": "High",
    "LineCount": 36
  },
  {
    "Reference": "ORD-002001",
    "CustomerName": "North Forest Retail",
    "Country": "BE",
    "Status": "Pending",
    "Total": 17312.28,
    "CreatedAt": "2026-12-30T01:07:17Z",
    "Priority": "Low",
    "LineCount": 5
  },
  {
    "Reference": "ORD-014100",
    "CustomerName": "Grand Grid Industries",
    "Country": "BE",
    "Status": "Closed",
    "Total": 34650.87,
    "CreatedAt": "2026-12-29T23:12:37Z",
    "Priority": "Low",
    "LineCount": 36
  },
  {
    "Reference": "ORD-053196",
    "CustomerName": "Grand Axis Works",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 42822.17,
    "CreatedAt": "2026-12-29T10:52:28Z",
    "Priority": "Critical",
    "LineCount": 39
  },
  {
    "Reference": "ORD-018867",
    "CustomerName": "Rapid Stone Works",
    "Country": "BE",
    "Status": "Closed",
    "Total": 47458.87,
    "CreatedAt": "2026-12-29T00:33:53Z",
    "Priority": "High",
    "LineCount": 27
  },
  {
    "Reference": "ORD-073962",
    "CustomerName": "Nova Harbor Systems",
    "Country": "BE",
    "Status": "Open",
    "Total": 8182.86,
    "CreatedAt": "2026-12-28T19:17:54Z",
    "Priority": "High",
    "LineCount": 31
  },
  {
    "Reference": "ORD-076269",
    "CustomerName": "Nova Peak Holdings",
    "Country": "BE",
    "Status": "Open",
    "Total": 18289.11,
    "CreatedAt": "2026-12-28T13:59:10Z",
    "Priority": "Critical",
    "LineCount": 32
  },
  {
    "Reference": "ORD-026162",
    "CustomerName": "Ever Pulse Partners",
    "Country": "BE",
    "Status": "Closed",
    "Total": 26016.07,
    "CreatedAt": "2026-12-28T05:15:43Z",
    "Priority": "Medium",
    "LineCount": 28
  },
  {
    "Reference": "ORD-079632",
    "CustomerName": "Global Logic Logistics",
    "Country": "BE",
    "Status": "Closed",
    "Total": 43199.18,
    "CreatedAt": "2026-12-28T04:02:17Z",
    "Priority": "Medium",
    "LineCount": 32
  },
  {
    "Reference": "ORD-046157",
    "CustomerName": "Nova Pulse Retail",
    "Country": "BE",
    "Status": "Open",
    "Total": 23058.82,
    "CreatedAt": "2026-12-28T04:01:12Z",
    "Priority": "Medium",
    "LineCount": 26
  },
  {
    "Reference": "ORD-075462",
    "CustomerName": "Ever Pulse Labs",
    "Country": "BE",
    "Status": "Open",
    "Total": 24549.30,
    "CreatedAt": "2026-12-28T00:34:59Z",
    "Priority": "Medium",
    "LineCount": 36
  },
  {
    "Reference": "ORD-002975",
    "CustomerName": "Grand Bridge Works",
    "Country": "BE",
    "Status": "Open",
    "Total": 19906.62,
    "CreatedAt": "2026-12-28T00:22:41Z",
    "Priority": "Critical",
    "LineCount": 27
  },
  {
    "Reference": "ORD-040818",
    "CustomerName": "Urban Pulse Logistics",
    "Country": "BE",
    "Status": "Closed",
    "Total": 37161.98,
    "CreatedAt": "2026-12-27T23:30:24Z",
    "Priority": "Low",
    "LineCount": 34
  },
  {
    "Reference": "ORD-059173",
    "CustomerName": "Ever Axis Partners",
    "Country": "BE",
    "Status": "Pending",
    "Total": 49543.29,
    "CreatedAt": "2026-12-27T14:01:16Z",
    "Priority": "Critical",
    "LineCount": 36
  },
  {
    "Reference": "ORD-049049",
    "CustomerName": "Global Point Labs",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 42261.63,
    "CreatedAt": "2026-12-27T12:42:30Z",
    "Priority": "High",
    "LineCount": 14
  },
  {
    "Reference": "ORD-031509",
    "CustomerName": "Prime Bridge Retail",
    "Country": "BE",
    "Status": "Cancelled",
    "Total": 7585.08,
    "CreatedAt": "2026-12-27T07:48:10Z",
    "Priority": "High",
    "LineCount": 7
  },
  {
    "Reference": "ORD-026778",
    "CustomerName": "Prime Stone Partners",
    "Country": "BE",
    "Status": "Closed",
    "Total": 38421.08,
    "CreatedAt": "2026-12-27T07:22:19Z",
    "Priority": "High",
    "LineCount": 14
  },
  {
    "Reference": "ORD-041316",
    "CustomerName": "Blue Market Partners",
    "Country": "BE",
    "Status": "Pending",
    "Total": 7069.56,
    "CreatedAt": "2026-12-27T03:12:04Z",
    "Priority": "High",
    "LineCount": 30
  }
]

Build data-driven .NET applications without starting with operational complexity.

An unhandled error has occurred. Reload X