| .idea | 2 months ago | ||
| src | 2 months ago | ||
| target/ classes | 2 months ago | ||
| .DS_Store | 2 months ago | ||
| .gitignore | 2 months ago | ||
| BUILD.md | 2 months ago | ||
| README.md | 2 months ago | ||
| git.sh | 2 months ago | ||
| pom.xml | 2 months ago | ||
Version: 1.0.0
Java: 21 LTS
Framework: Spring Boot 3.2.0
Build Tool: Maven 3.6+
This package contains the complete, compilable source code for CubeCactus distributed database.
cubecactus-source/
โโโ pom.xml # Maven build configuration
โโโ README.md # This file
โโโ BUILD.md # Build instructions
โโโ STRUCTURE.md # Code structure guide
โ
โโโ src/
โโโ main/
โ โโโ java/com/cube/
โ โ โโโ CubeApplication.java # Main application
โ โ โโโ storage/ # LSM Storage Engine
โ โ โ โโโ LSMStorageEngine.java
โ โ โ โโโ WriteAheadLog.java
โ โ โ โโโ StorageEngine.java
โ โ โโโ cql/ # CQL Parser
โ โ โ โโโ CQLParser.java
โ โ โ โโโ QueryExecutor.java
โ โ โโโ sql/ # SQL Parser
โ โ โ โโโ SQLParser.java
โ โ โ โโโ SQLExecutor.java
โ โ โโโ gossip/ # Gossip Protocol
โ โ โ โโโ GossipProtocol.java
โ โ โ โโโ GossipMessageHandler.java
โ โ โโโ cluster/ # Cluster Management
โ โ โ โโโ ClusterNode.java
โ โ โ โโโ ClusterManager.java
โ โ โโโ replication/ # Replication
โ โ โ โโโ ReplicationCoordinator.java
โ โ โ โโโ HintedHandoffManager.java
โ โ โ โโโ ReadRepairManager.java
โ โ โโโ consistency/ # Consistency Levels
โ โ โ โโโ ConsistencyLevel.java
โ โ โโโ shell/ # Interactive Shell
โ โ โ โโโ CubeShell.java
โ โ โโโ api/ # REST API
โ โ โ โโโ QueryController.java
โ โ โ โโโ SQLController.java
โ โ โ โโโ ClusterController.java
โ โ โโโ examples/ # Examples
โ โ โโโ SQLExamples.java
โ โโโ resources/
โ โโโ application.properties
โ
โโโ test/
โโโ java/com/cube/
โโโ sql/
โ โโโ SQLParserTest.java
โโโ gossip/
โโโ GossipProtocolTest.java
# Navigate to source directory cd cubecactus-source/ # Build with Maven mvn clean package # Result: target/cubecactus-1.0.0.jar (executable JAR)
# Run the database java -jar target/cubecactus-1.0.0.jar # Server starts on http://localhost:8080 # Health check: curl http://localhost:8080/api/v1/health
mvn clean package
mvn clean package -DskipTests
mvn test
mvn clean install
mvn clean package spring-boot:repackage
If you don't want to install Maven/Java locally:
# Create Dockerfile cat > Dockerfile << 'EOF' FROM maven:3.9-eclipse-temurin-21 AS build WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn clean package -DskipTests FROM eclipse-temurin:21-jre WORKDIR /app COPY --from=build /app/target/cubecactus-1.0.0.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "app.jar"] EOF # Build image docker build -t cubecactus:latest . # Run docker run -p 8080:8080 cubecactus:latest
mvn test
mvn test -Dtest=SQLParserTest mvn test -Dtest=GossipProtocolTest
# Start server first java -jar target/cubecactus-1.0.0.jar & # Run integration tests mvn verify
pom.xmlCubeApplication.java โ Runpom.xmlCubeApplication# Build
mvn clean package
# Run
java -jar target/cubecactus-1.0.0.jar
# Test API
curl -X POST http://localhost:8080/api/v1/sql/execute \
-H "Content-Type: application/json" \
-d '{"sql": "CREATE TABLE test (id TEXT PRIMARY KEY, value TEXT)"}'
# Insert data
curl -X POST http://localhost:8080/api/v1/sql/execute \
-H "Content-Type: application/json" \
-d '{"sql": "INSERT INTO test (id, value) VALUES ('"'"'1'"'"', '"'"'hello'"'"')"}'
# Query data
curl -X POST http://localhost:8080/api/v1/sql/execute \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT * FROM test WHERE id = '"'"'1'"'"'"}'
# Ubuntu/Debian sudo apt install maven # macOS brew install maven # Windows # Download from: https://maven.apache.org/download.cgi
# Check version java -version javac -version # Must be 21+ # Install Java 21: # Ubuntu: sudo apt install openjdk-21-jdk # macOS: brew install openjdk@21
# Clean and rebuild mvn clean install -U # Check dependencies mvn dependency:tree # Verify pom.xml mvn validate
Apache License 2.0 Copyright 2026 CubeCactus Project
โ
LSM Storage Engine
โ
SQL & CQL Support
โ
Gossip Protocol (SWIM)
โ
Data Replication
โ
Hinted Handoff
โ
Read Repair
โ
REST API
โ
Interactive Shell
โ
Cluster Management
โ
Tunable Consistency
docs/ directoryReady to build and deploy CubeCactus! ๐ต๐
Build with: mvn clean package
Run with: java -jar target/cubecactus-1.0.0.jar