Skip to content
Nuvyntra Labs

Embedded NoSQL

NuvexaDB

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

Engine 1.0.6

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

Extract NuvexaDB-NuGet.zip from the release, then point --source at that folder. 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
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.

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.