What Is ThunderDB?

ThunderDB is a production-grade distributed HTAP (Hybrid Transactional/Analytical Processing) database written entirely in Rust. It combines transactional workloads (OLTP), analytical workloads (OLAP), and AI-native vector search into a single, unified system.

ThunderDB natively speaks PostgreSQL, MySQL, and Redis wire protocols, meaning your existing applications, drivers, ORMs, and tools connect without any code changes. It also exposes REST, gRPC, GraphQL, and WebSocket APIs for modern application architectures.

Rather than demanding a full migration, ThunderDB is designed to be deployed alongside your existing databases using Change Data Capture (CDC) and Foreign Data Wrappers (FDW), allowing you to adopt it incrementally and migrate workloads at your own pace.


Vision: Universal Database Companion for the AI Era

The database landscape is undergoing a fundamental shift. Applications increasingly require:

Today, teams cobble together PostgreSQL for transactions, ClickHouse or BigQuery for analytics, Pinecone or Milvus for vectors, Redis for caching, and a constellation of ETL pipelines to keep everything in sync. This fragmentation creates operational complexity, data inconsistency, increased latency, and skyrocketing infrastructure costs.

ThunderDB’s vision is to eliminate this fragmentation. A single system that handles transactional queries, analytical scans, and vector similarity search – with native protocol compatibility so you never have to rewrite your application.

We call this the Universal Database Companion philosophy: ThunderDB slots into your existing infrastructure, speaks the protocols your applications already use, and progressively absorbs workloads that currently require separate specialized systems.


Why ThunderDB Exists

The Problem: Fragmented Data Infrastructure

Modern data architectures suffer from several compounding problems:

  1. Database Sprawl. A typical organization runs 5-10 different database systems. Each requires its own operational expertise, monitoring, backup procedures, and security hardening.

  2. Data Synchronization Nightmares. Moving data between OLTP and OLAP systems involves complex ETL/ELT pipelines that introduce latency (minutes to hours), create consistency gaps, and break silently.

  3. The AI/ML Gap. Vector databases are yet another system to deploy and synchronize. Keeping embeddings in sync with source-of-truth data is a significant engineering burden.

  4. Protocol Lock-In. Switching from PostgreSQL to a new database means rewriting every application, ORM configuration, and database tool integration.

  5. Operational Overhead. Each database system has different scaling mechanisms, failure modes, upgrade procedures, and monitoring approaches.

The Solution: One Engine, Multiple Protocols, Zero Migration

ThunderDB solves these problems by:


Key Differentiators

ThunderDB vs CockroachDB

DimensionThunderDBCockroachDB
Processing modelTrue HTAP (row + columnar + vector)OLTP-focused with limited analytics
Wire protocolsPostgreSQL, MySQL, RedisPostgreSQL only
Vector searchNative HNSW + IVF indexesNot supported natively
CDC / FDWBuilt-in CDC consumer and FDWLimited CDC; no built-in FDW
LanguageRustGo
API surfaceSQL + REST + gRPC + GraphQL + WebSocketSQL + REST (limited)
LicenseApache 2.0 / BSL 1.1BSL 1.1 (converts to Apache)
Key-value accessNative Redis/RESP protocolNot available

CockroachDB is an excellent distributed SQL database for OLTP workloads. ThunderDB differentiates by offering true HTAP processing with columnar storage and vectorized execution, native vector search for AI/ML workloads, and multi-protocol support that avoids PostgreSQL lock-in.

ThunderDB vs TiDB

DimensionThunderDBTiDB
Processing modelUnified row + columnar + vectorSeparate TiKV (row) + TiFlash (columnar)
Wire protocolsPostgreSQL, MySQL, RedisMySQL only
Vector searchNative HNSW + IVF indexesNot supported
ArchitectureSingle binary, integrated engineMultiple components (TiDB, TiKV, PD, TiFlash)
LanguageRustGo (TiDB) + Rust (TiKV) + C++ (TiFlash)
Deployment complexitySingle binary or simple DockerRequires orchestrating 4+ components
CDC / FDWBuilt-in bidirectionalTiCDC (outbound only)

TiDB pioneered the HTAP model with its TiKV + TiFlash architecture. ThunderDB builds on this concept but simplifies deployment by integrating row storage, columnar storage, and vector indexing into a single engine. ThunderDB also supports multiple wire protocols and has a significantly simpler operational footprint.

ThunderDB vs YugabyteDB

DimensionThunderDBYugabyteDB
Processing modelTrue HTAP (row + columnar + vector)OLTP-focused (row store)
Wire protocolsPostgreSQL, MySQL, RedisPostgreSQL, YCQL (Cassandra-like)
Vector searchNative HNSW + IVF indexesVia pgvector extension
Analytical queriesNative columnar store + vectorized executionLimited; relies on PostgreSQL executor
LanguageRustC / C++
CDC / FDWBuilt-in CDC consumer + FDWCDC via Debezium; PostgreSQL FDW
Memory safetyRust ownership modelManual C/C++ memory management

YugabyteDB provides strong PostgreSQL compatibility and a Cassandra-compatible API. ThunderDB differentiates with its integrated HTAP engine (columnar + row + vector), native MySQL and Redis protocol support, and the memory safety guarantees that come from being written entirely in Rust.


Team and Community

ThunderDB is built by a team of database engineers, systems programmers, and distributed systems researchers passionate about solving the data fragmentation problem.

Contributing

ThunderDB is an open-source project and welcomes contributions of all kinds:

See the Contributor Guide for instructions on setting up your development environment, understanding the codebase, and submitting pull requests.

Community Channels

ChannelLink
GitHub Discussionsgithub.com/smetal1/thunder-db/discussions
Discorddiscord.gg/thunderdb
Twitter / X@thunderabordb
Monthly Community CallSecond Thursday of each month, 10:00 AM PT
Blogthunderdb.io/blog

Code of Conduct

ThunderDB follows the Contributor Covenant Code of Conduct. We are committed to providing a welcoming, inclusive, and harassment-free environment for everyone.


License

ThunderDB is dual-licensed:

The client libraries (SDKs for Python, Go, Java, Node.js, Rust) and the CLI tools are always Apache 2.0 licensed.

Copyright 2024-2026 ThunderDB Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.