Nebari Benchmarks Overview
These benchmarks were built from git revision a94853fdd02dddb394d8b79faaf0df292011073f. They were executed
at 2023-02-27T16:15:39.954030567Z
at Scaleway on a GP1-XS instance running Ubuntu 20.04 with 4 CPU cores, 16GB of RAM, and local NVME storage. The full Criterion report is
available
here.
Do not use these measurements as a predicator for your application's performance. Every
application
performs differently. These micro-benchmarks are not meant to be used for anything
beyond answering
two questions:
- What is "reasonable" performance for a given benchmark?
- Are there any areas that Nebari's performance is sub-par that can be improved?
By including other engines in these benchmarks, we can better assess where Nebari can stand
to improve.
Each database engine has their strengths and weaknesses, and these benchmarks are
purposely aimed at
the functionality provided by Nebari only.
ACID-compliant Transactional Inserts
1 row per transaction, random u64 IDs
1 row per transaction, sequential u64 IDs
100 rows per transaction, random u64 IDs
100 rows per transaction, sequential u64 IDs
1,000 rows per transaction, random u64 IDs
1,000 rows per transaction, sequential u64 IDs
10,000 rows per transaction, random u64 IDs
10,000 rows per transaction, sequential u64 IDs
ACID-compliant Transactional "Blob" Inserts
1KB random blobs
1MB random blobs
64MB random blobs
Primary-Key Queries
Dataset containing 1,000 records with random u64 IDs
Single-record
32-records
64-records
Dataset containing 1,000 records with sequential u64 IDs
Single-record
32-records
64-records
Dataset containing 10,000 records with random u64 IDs
Single-record
100-records
625-records
Dataset containing 10,000 records with sequential u64 IDs
Single-record
100-records
625-records
Dataset containing 1,000,000 records with random u64 IDs
Single-record
1,000-records
62,500-records
Dataset containing 1,000,000 records with sequential u64 IDs
Single-record
1,000-records
62,500-records
Primary-Key Range Queries
Dataset containing 1,000 records with random u64 IDs
32-records
64-records
Dataset containing 1,000 records with sequential u64 IDs
32-records
64-records
Dataset containing 10,000 records with random u64 IDs
100-records
625-records
Dataset containing 10,000 records with sequential u64 IDs
100-records
625-records
Dataset containing 1,000,000 records with random u64 IDs
1,000-records
62,500-records
Dataset containing 1,000,000 records with sequential u64 IDs
1,000-records
62,500-records