Browse the documentation

Performance

How fast NetlyDB is, how that is measured, and what release 1.2.0 made faster.

At a glance

NetlyDB keeps your data in memory, so reads and queries never wait for the disk. A write waits for one flush to disk, so it survives a crash. Opening a store takes longer as it grows, because the data is loaded into memory first.

OperationTypical time
Read a document by ida few microseconds
Write a documentunder 1 ms
Insert documents in a batchabout 6 µs per document
Read all 200,000 documents of a collectionabout 0.2 s
Open a store of 200,000 documentsunder 1 s

For bulk loads, insert in batches: a batch shares one flush to disk. Writes from several threads at once share flushes too.

What 1.2.0 made faster

NetlyDB was built correctness first: its first development phase, Phase 0, made the engine trustworthy before making it fast. Release 1.2.0 is the first release focused on performance. Stores from earlier versions open unchanged.

Time per operation, shorter is better. Collections of 200,000 small documents unless noted. Each row is drawn to the scale of its own 1.1.0 time.

The biggest change: writes no longer pause while a snapshot is taken. See the 1.2.0 release notes for the full list.

How it is measured

With BenchmarkDotNet on one machine: an 8-core AMD Ryzen 7 7800X3D with an NVMe SSD, on .NET 10. Each figure is the mean of 30 runs after warm-up, with every write waiting for its flush to disk. These are measurements, not guarantees: your hardware will differ, and NetlyDB does not yet state a maximum supported scale.

Compared with other databases

NetlyDB has not been benchmarked against other databases yet, so it makes no claim either way. If speed decides your choice, measure your own workload. Keep in mind that the whole data set has to fit in memory; see Limitations.

An unhandled error has occurred. Reload X

Reconnecting

Restoring the connection to the server...

Still trying

Next attempt in seconds

Connection lost

We could not reach the server.