builder.ConfigureServices((context, services) =>
{
services.AddNetlyDB();
}
var app = builder.Build();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.
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 recordsFast
24ms
12k resultsDistributed
3
Nodes onlineWhat is NetlyDB?
NetlyDB is a .NET-native NoSQL document database designed for teams that want speed now and scale later. Store strongly typed documents, flexible dynamic JSON, and binary files in dedicated file (blob) collections. 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
✔ Typed, dynamic, and file collections
✔ File and blob collections
✔ LINQ-style querying
✔ SQL-style querying
✔ Index-aware querying
✔ Crash-safe durability
✔ Snapshot and datalog recovery
✔ Bounded memory limits
✔ Built-in Management UI
✔ Replication and reconciliation
✔ Encryption at rest
✔ Authentication & TLS
✔ Observability & metrics
✔ 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");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
🔵 File, image, and video storage
🔵 Attachments and blob storage
🔵 Game and simulation backends
🔵 AI-connected data applications
🔵 Distributed services
🔵 Local-first tooling
Feature overview
Core database
- Typed collections
- Dynamic documents
- File and blob collections
- Compressed blob storage
- File metadata and tags
- Virtual folder paths
Querying
- Filters
- Sorting
- Pagination
- Aggregates
- Grouping
- Nested fields
Indexing
- Nested indexes
- Compound indexes
- Meta indexes
- Query planning
Reliability
- Crash-safe durability (WAL group-commit)
- Atomic snapshots + CRC
- Datalog recovery
- Bounded memory limits
- Replication and reconciliation
- Chaos-test driven hardening
Security
- API-key authentication
- JWT / OIDC authentication
- Encryption at rest (AES-256-GCM)
- TLS for cluster replication
- Cluster shared-secret auth
Observability
- Metrics (OpenTelemetry-ready)
- Structured logging
- Health checks
- Live metrics dashboard
Tooling
- Management UI
- File browser with folder layout
- Image and video thumbnails
- Video hover preview
- REST API hosting
- MCP / AI integration
See Editions for what's included free versus with an Enterprise license.
Editions
NetlyDB is free to use as an embedded, single-node database. Enterprise features add distribution, security, and operational tooling — unlocked with a license and verified fully offline (no license server).
Community
FreeThe complete embedded, single-node engine — free for any use.
- ✔ Embedded document engine (typed & dynamic)
- ✔ File & blob collections with compression
- ✔ LINQ and SQL-style querying
- ✔ Expression-based indexing & query planning
- ✔ Crash-safe durability (WAL group-commit)
- ✔ Atomic snapshots & datalog recovery
- ✔ Sharding & TTL cleanup
- ✔ Bounded memory (per-collection limits)
- ✔ Custom storage providers (e.g. Azure Blob)
- ✔ Full C# SDK, embedded in-process
Enterprise
LicensedEverything in Community, plus distributed, secure, and operational capabilities.
- 🔑 Clustering & replication (multi-node)
- 🔑 REST API host
- 🔑 Management UI
- 🔑 MCP server (AI integration)
- 🔑 Encryption at rest (AES-256-GCM)
- 🔑 Advanced authentication (JWT / OIDC)
- 🔑 Observability export (metrics & health checks)
NetlyDB Timeline
2025 Q1
Core Foundation
Storage abstractions, sharding, persistence and indexing foundations.
Cross Platform
Android and MAUI support with platform-specific storage handling.
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.
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.
2025 Q4
gRPC Replication
Queue-driven replication with WebSockets as control plane.
Runtime Telemetry
Queue depth, active replication and cluster heartbeat diagnostics.
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.
2026 Q2
Chaos Testing
Fault injection, partitions, corrupted snapshots and convergence validation.
AI Integration
MCP tooling, structured query translation and AI-ready access.
2026 Q3
Production Hardening
Prepare for operational use in larger scale products. Scale up chaos testing, stress testing and focus on robustness.
2026 Q4
Production Ready
NetlyDB is ready to be used in operational products.
Road Ahead
Distributed querying, dashboards, profiling and edge-first deployment.
Interactive NetlyDB Playground
Query 100,000 demo orders using real, read-only NetlyDB query execution.
Elapsed: 105.20 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
}
]