Home • About • Quick Start • Tutorial • Benchmark • Locale • SQL Guide • Türkçe
Publication Date: September 2026 (Version 5.24.0)
Author / Project: Maruf Çetin (AmberDB Project)
Test Environment: Ubuntu 24.04 LTS (Linux Kernel 6.8.0) | 8 vCPU | 8 GiB RAM | Ext4 Filesystem
Engines Evaluated: AmberDB v5.24.0 (Pure Perl + Berkeley DB) vs SQLite 3 (v3.45.1 / DBD::SQLite + FTS5)
Dataset: 100% Authentic IMDb Official Dumps (600,000 Feature Films)
The true merit of a database engine’s architecture cannot be measured by toy synthetic data; it must be tested against real-world scale, diversity, and natural data distributions.
This comprehensive benchmark evaluates AmberDB (an embedded NoSQL document database for Perl) against SQLite 3 (the world’s most widely deployed C-based embedded database) across 600,000 real feature films sourced from official IMDb data dumps (datasets.imdbws.com).
This report documents:
read_all).PRAGMA wal_checkpoint(TRUNCATE) was executed, statement handles were finished, and the database connection ($dbh->disconnect) was closed.table_close), flushing buffers, and the database coordinator instance was destroyed.Downloaded directly from CloudFront (datasets.imdbws.com): mapping 600,000 feature films, 227,000 directors, 540,000 movie casts, and authentic IMDb ratings.
PRAGMA synchronous = NORMAL; (NOT OFF): Adhered strictly to production engineering standards: WAL journal mode with NORMAL synchronization for crash resilience.All benchmarks below were executed on Linux Ext4 targeting pre-written disk files:
| Benchmark Metric / Scenario | SQLite 3 (FTS5 Indexed) | AmberDB v5.24.0 (Indexed) | Winner / Delta |
|---|---|---|---|
| Total Real Records | 600,000 movies | 600,000 movies | - |
| Point Read Latency (Random Lookup) | 9.0 µs | 1.7 µs | AmberDB (5.3x Faster - 588K ops/s) |
| Deep Paginated Scan (Offset: 430K, Limit: 20) | 32.59 ms | 3.26 ms | AmberDB (10.0x FASTER!) |
| Multi-Field Filter (Director + Genre + Language) | 91.84 ms | 8.96 ms | AmberDB (10.2x FASTER!) |
| Single-Block Fetch (All Director Movies) | 24.05 ms | 21.99 ms | AmberDB (Faster) |
| Date Range Filter (1990-2016) | 0.22 ms | 2.79 ms | Both sub-3 ms |
Cross-Block Multi-Word (Canadian Moore) |
0.32 ms | 1.00 ms | Both millisecond-scale |
Omnibox Search (beyaz 2012 ölü) |
0.23 ms | 0.46 ms | Both under 0.5 ms |
Omnibox Search (venky 2003 nenu) |
0.22 ms | 0.44 ms | Both under 0.5 ms |
Omnibox Search (natale 1996 green) |
0.38 ms | 0.99 ms | Both under 1.0 ms |
| Disk Storage Footprint | 488.91 MB | 522.95 MB | Close parity (AmberDB only +7%) |
| Bulk Ingest Rate | 12.55 sec (47,814 r/s) | 433.64 sec (1,384 r/s) | SQLite (Compiled C) |
When querying an individual record by primary key (table_readid or read_id):
$db->get($id, $rec)) via the native Berkeley DB (DB_File) C engine.read_all)In web applications and APIs, jumping to deep offsets (e.g. row 430,717) is an infamous performance trap:
430,717 * 8 bytes = 3,445,736 bytes in its .inx key index, extracting the target 20 IDs in under 1 microsecond. The entire operation finishes in 3.26 ms (10x faster).When intersecting multiple non-key conditions (Director + Genre + Language):
bin_crop) across memory-aligned 8-byte binary posting lists, resolving the intersection in 8.96 ms.All benchmarks and drivers are open-source and included in the repository:
# 1. Clone repository
git clone https://github.com/marufcetin/amberdb.git
cd amberdb
# 2. Download official IMDb dumps and build the 600K+ master dataset (~633K movies)
perl benchmark/download_real_imdb.pl
# (Alternative: Generate offline synthetic test data instantly without downloading)
# perl benchmark/data/prepare_data.pl --generate --total=100000
# 3. Run the 600K benchmark in isolated processes
perl -Ilib benchmark/run_benchmark.pl total=600000 motors=amberdb,sqlite -with-index -random action=read
SQLite is a masterwork of 24 years of micro-optimized C engineering. Its compiled C engine provides unmatched bulk ingestion speed.
However, AmberDB v5.24.0 (written in pure Perl) delivers a historic software architecture lesson:
“The right choice of algorithms and binary data structures can outperform even compiled C.”
Across 600,000 real-world movies:
AmberDB establishes itself as a state-of-the-art embedded NoSQL document database for Perl.