Skip to content
Nuvyntra Labs

Embedded NoSQL

NuvexaDB

Embedded NoSQL database — one engine, one .nvx file, many hosts

Engine 1.0.7

Embedded NoSQL database for .NET and .NET MAUI, with a Native AOT C ABI for Java, Kotlin, Swift, Flutter, React Native, Python, Node.js, Go, and C++. One portable .nvx file (BSON documents on data pages, AES-256-GCM encryption), and a desktop explorer for Windows, macOS, and Linux.

Install (.NET)

dotnet add package Nuventra.NuvexaDB --source /path/to/unzipped-nuget
dotnet tool install -g Nuventra.NuvexaDB.Cli --add-source /path/to/NuvexaDB-Cli

Extract NuvexaDB-NuGet.zip for the engine and NuvexaDB-Cli.zip for the standalone nuvexa tool, then point --source / --add-source at those folders. Do not dotnet add package the CLI into an app. Other languages download a language zip plus the matching NuvexaDB-Native-<rid>.zip.

Overview

NuvexaDB is a standalone embedded NoSQL engine: collections, NQL (Nuvexa Query Language), optional AES-256-GCM, one .nvx application file, and an IDE. It runs in-process. It is not a network server. .NET and MAUI call the managed engine directly; every other language loads a Native AOT build of that same engine through nuvexa.h (ABI v2). A file written from Kotlin is the same file Data Studio, a MAUI app, and a Swift host open.

Quick start

using Nuventra.NuvexaDB;

await using var db = NuvexaDatabase.Create("app.nvx", new NuvexaCreateOptions
{
    EncryptionKey = "correct-horse"
});

var users = db.GetCollection("users");
await users.InsertAsync(NuvexaDocument.Parse("""{"name":"Ada","age":36}"""));
await users.EnsureIndexAsync("age");

var rows = await db.ExecuteAsync("""db.users.find({ age: { $gte: 21 } }).sort({ name: 1 }).limit(20)""");

Capabilities

  • One portable .nvx file (BSON documents on 8 KiB pages). Creates and writes always use format 2; format 1 is deprecated and stays readable.
  • NQL find / aggregate / update / delete, plus typed LINQ on .NET only.
  • Optional AES-256-GCM at rest with Argon2id; fail-closed open on a missing key or tamper.
  • One managed engine plus a Native AOT C ABI — language SDKs must not parse pages.
  • Nuvexa Data Studio on Windows, macOS, and Linux, plus Visual Studio and VS Code / Cursor editors.
  • Exclusive lock per path, concurrent reads, WAL crash recovery, backup / compact / restore.

Product layers

LayerProjectRole
Database coreNuventra.NuvexaDBPages, WAL, B+tree, AES-256-GCM, NQL
Access libraryNuventra.NuvexaDBNuvexaDatabase / NuvexaCollection / AddNuvexaDB
Nuvexa Data StudioNuventra.NuvexaDB.ExplorerAvalonia desktop IDE on Windows, macOS, and Linux
CLINuventra.NuvexaDB.CliPackAsTool nuvexa. Also bundled into the VS Code and Visual Studio VSIX
Editor extensionsVS Code + Visual StudioCustom editor / tool window over ExplorerSession
C ABINuventra.NuvexaDB.NativeNative AOT shared library. JSON in, JSON out
Language SDKsbindings/*Thin overlays over nuvexa.h (ABI v2)

Supported platforms

Each guide names the exact release zip, an empty project, create/open/close, collection and document CRUD, and how to choose an encryption password.

Nuvexa Data Studio

Desktop workbench for one .nvx file: collection tree, typed browse grid, and NQL. Encrypted files prompt for the key and never store it.

Nuvexa Data Studio Database Structure tab with collections, columns, and observed fields
Database Structure: collections, typed columns, and a shape report from existing documents.

Data Studio documentation covers Structure, Browse Data, NQL, and the Visual Studio / VS Code editors.

Documentation

Discussion

Comment on NuvexaDB. The thread lives on this component's GitHub repository (nuvyntralabs/NuvexaDB). Sign in with GitHub — Giscus uses Discussions, Utterances uses Issues.