High-performance database engine
The database that
thinks in SIMD.
Columnar HTAP engine with hand-tuned AVX2 and NEON query kernels. Real-time subscriptions. ACID transactions. Sub-millisecond analytics.
7B+
rows/sec aggregation
1.2B
rows/sec full scan
73M
rows/sec bulk insert
How it works
Three layers of purpose-built performance.
Assembly Core
Hand-written x86-64 FASM with AVX2 SIMD kernels. Every hot path is manually vectorized for maximum throughput on modern CPUs. AArch64 NEON port for Apple Silicon.
Columnar Storage
Structure-of-Arrays memory layout with 64-byte aligned columns. Cache-friendly sequential access patterns enable full memory bandwidth utilization for analytical queries.
Full SQL Engine
Complete SQL support with SELECT, INSERT, UPDATE, DELETE, JOINs, GROUP BY, and aggregates. Recursive descent parser and vectorized executor, all in assembly.
Built for developers
Everything you need for real-time analytics and transactional workloads.
SIMD Kernels
Hand-written AVX2 and NEON vectorized filters, aggregations, and hashing.
ACID Transactions
MVCC snapshot isolation with write-ahead logging and crash recovery.
Real-Time Subscriptions
WebSocket query subscriptions with incremental delta streaming.
REST API
Full CRUD, raw SQL endpoint, JWT and API key authentication.
CLI Client
Interactive REPL with SQL execution, REST commands, and live subscriptions.
Web Admin
Svelte-based dashboard with SQL editor, data grid, and table browser.
Reducers
Server-side transactional logic with atomic multi-table operations.
Multi-Architecture
x86-64 with AVX2 and AArch64 with NEON. Docker multi-arch support.
Performance at a glance
DoDB vs the competition at 1M rows. All benchmarks run in-process, 20 iterations, p50 reported.
| Operation | DoDB | DuckDB | SQLite | PostgreSQL |
|---|---|---|---|---|
| Bulk insert | 78M/s | 17.6M/s | 2.8M/s | 1.6M/s |
| SUM(value) | 7.58B/s | 1.26B/s | 31.9M/s | 37.8M/s |
| Filter COUNT (10%) | 6.85B/s | 980M/s | 34.3M/s | 39.5M/s |
| MIN/MAX | 8.0B/s | 1.06B/s | 30M/s | 37M/s |
| COUNT(*) | 2,500B/s | 1.39B/s | 7.0B/s | 45.5M/s |
Quick start
Up and running in under a minute.
# Start the server
$ docker compose up -d
# Connect with the CLI
$ dodb-cli
# Create a table and query it
dodb> CREATE TABLE users (id INT, name VARCHAR, age INT);
dodb> INSERT INTO users VALUES (1, 'Alice', 30);
dodb> SELECT * FROM users WHERE age > 25;