Most databases are built to run any query. SynnoDB builds one for yours: it studies your workload, writes and compiles a specialized C++ engine, and optimizes it until it's order-of-magnitude faster than general-purpose systems, automatically and with no DBA in the loop.
SynnoDB synthesizes a bespoke engine for the queries it can accelerate. A workload-aware router sends those to the fast path, per query; everything else falls back to your existing engine, unchanged.
Install the package, then synthesize an engine for your own workload.
from synnodb import SynnoDB # point SynnoDB at your SQL templates + parquet; the agent builds the engine db = SynnoDB(workload="my_workload", queries="1-5") plan = db.createStoragePlan() # designs a bespoke storage layout impl = db.createBaseImpl(storage_plan=plan.text) # writes C++, compiles, verifies vs DuckDB # then it's a drop-in for e.g. DuckDB: change one import and connect to the engine import synnodb as duckdb con = duckdb.connect(":memory:", engines="engines/") con.execute(sql).fetchall() # 11.78× faster than DuckDB - every result verified correct
We synthesized analytical engines for TPC-H and CEB. Run them live in your browser, or look inside to see exactly what SynnoDB produces for a workload.
Connect to a server running the actual SynnoDB-generated C++ engine on TPC-H data. Pick any query, tweak parameters, and watch real execution times next to DuckDB and Umbra.
Step through how the engine was built: workload analysis, the bespoke storage layout, the generated C++ per stage, the DuckDB query plan, and the code changes between stages, query by query.
One-size-fits-one engines, built automatically for your data and queries.
Specialised storage layouts and hand-tuned-quality C++ kernels eliminate the overhead of general-purpose engines: 11.78× over DuckDB on TPC-H, every query faster.
An LLM agent designs the layout, writes the engine, compiles it, and verifies correctness against DuckDB, in minutes to hours, for about $10 in API cost. No DBA required.
Point SynnoDB at your SQL templates and schema; it builds an engine specialised to those access patterns: column encodings, sort orders, and join artifacts chosen for you.