Open Source • Distributed • High Performance

The Database
for the
Cloud-Native Era

Horizontally scalable, SQL-compatible distributed database with gossip protocol, automatic failover, and blazing-fast performance.

200K
Reads/Second
100K
Writes/Second
99.99%
Availability
<5ms
P95 Latency

Built for Scale

Everything you need for a production-ready distributed database

🗄️

LSM Storage Engine

Custom-built LSM tree storage with MemTable, SSTable, and WAL. Optimized for write-heavy workloads with efficient compaction.

🔄

Gossip Protocol

SWIM-based peer-to-peer membership with automatic failure detection. Decentralized, self-healing cluster architecture.

💾

SQL & CQL Support

Standard SQL syntax with full CRUD operations. CREATE TABLE, SELECT, INSERT, UPDATE, DELETE - use what you know.

Tunable Consistency

Choose from ONE, QUORUM, or ALL consistency levels. Balance between performance and data consistency for your needs.

🔁

Automatic Replication

Configurable replication factor with hinted handoff. Data automatically replicated across nodes for fault tolerance.

🛡️

Read Repair

Automatic inconsistency detection and repair during reads. Self-healing data with configurable repair probability.

🐳

Container Ready

Docker and Podman support with Docker Compose orchestration. Deploy locally or to Kubernetes in minutes.

📊

REST API

Full HTTP API for queries and cluster management. Language-agnostic access via JSON over HTTP.

🖥️

Interactive Shell

CubeShell CLI for interactive queries and cluster operations. Manage multiple nodes with real-time status monitoring.

Battle-Tested Performance

Real-world performance numbers from production workloads

200,000 ops/s
Sustained read throughput with 3-node cluster
100,000 ops/s
Write throughput with RF=3, CL=QUORUM
<5ms P95
End-to-end latency for read operations
~1MB
Memory per 1000 nodes in gossip ring
// 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());

Ready to Scale?

Join developers building the next generation of distributed applications