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.

ASM

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.

SoA

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.

SQL

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;