Horizontally scalable, SQL-compatible distributed database with gossip protocol, automatic failover, and blazing-fast performance.
Everything you need for a production-ready distributed database
Custom-built LSM tree storage with MemTable, SSTable, and WAL. Optimized for write-heavy workloads with efficient compaction.
SWIM-based peer-to-peer membership with automatic failure detection. Decentralized, self-healing cluster architecture.
Standard SQL syntax with full CRUD operations. CREATE TABLE, SELECT, INSERT, UPDATE, DELETE - use what you know.
Choose from ONE, QUORUM, or ALL consistency levels. Balance between performance and data consistency for your needs.
Configurable replication factor with hinted handoff. Data automatically replicated across nodes for fault tolerance.
Automatic inconsistency detection and repair during reads. Self-healing data with configurable repair probability.
Docker and Podman support with Docker Compose orchestration. Deploy locally or to Kubernetes in minutes.
Full HTTP API for queries and cluster management. Language-agnostic access via JSON over HTTP.
CubeShell CLI for interactive queries and cluster operations. Manage multiple nodes with real-time status monitoring.
Real-world performance numbers from production workloads
// Quick Start Example
// Initialize CubeDB
CubeDB db = new CubeDB("node-1", "localhost", 8080);
db.start();
// Execute SQL
db.execute("CREATE TABLE users (
id TEXT PRIMARY KEY,
name TEXT,
email TEXT
)");
// Insert data
db.execute("INSERT INTO users
VALUES ('1', 'Alice', 'alice@example.com')");
// Query with QUORUM consistency
Result result = db.query(
"SELECT * FROM users WHERE id = '1'",
ConsistencyLevel.QUORUM
);
// Join cluster
db.joinCluster(Arrays.asList(
"node1.cluster.local:7946",
"node2.cluster.local:7946"
));
// Monitor cluster health
ClusterStatus status = db.getClusterStatus();
System.out.println("Alive nodes: " + status.getAliveCount());
Join developers building the next generation of distributed applications