Welcome to the world of VanillaCore, a powerful single node, multi-threaded relational database engine that partially supports SQL-92 standards and connects through JDBC, embedding, or Java-based stored procedures. This guide will help you compile, run, and interact with your own VanillaCore database server smoothly.
Required Tools
Before you begin, make sure you have the following tools installed:
- Java Development Kit 1.7 (or newer)
- Maven
Getting Started
This section will walk you through the steps needed to set up your database server and start interacting with it.
Compiling the Source and Packaging It into a Jar
VanillaCore is a Maven project, which simplifies the process of compilation and packaging. You can compile the source code and package it into a jar file using the following command:
mvn package
This command also triggers the testing phase, which can take around 3 minutes. If you’d like to skip the testing, use the following command instead:
mvn package -Dmaven.test.skip=true
Your jar file, named core-0.7.0.jar, will be located in the target folder of your project.
Starting up a VanillaCore Server
To launch your VanillaCore server, you will need to replace DB Name with your desired database name in the command below:
java -classpath core-0.7.0.jar org.vanilladb.core.server.StartUp DB Name
If everything is set up correctly, you should observe a confirmation message in your console:
INFO: database server ready
Your VanillaCore server will now create a directory named after your DB Name under your home directory, where your database files will be stored.
Using the SQL Interpreter
Let’s connect to your newly set-up database server! VanillaCore offers a JDBC interface compatible with any JDBC client, but you can also use a built-in SQL interpreter. Start the SQL interpreter with:
java -classpath core-0.7.0.jar org.vanilladb.core.util.ConsoleSQLInterpreter
Once started, you will see a SQL prompt:
SQL >
From here, you can execute SQL commands as per the SQL-92 standard. For a list of usable commands, please refer to the VanillaDB SQL documentation.
System Configurations
VanillaCore allows you to customize various settings through a configuration file named vanilladb.properties. After compiling your classes, this file will be available in:
target/properties/org/vanilladb/core
To adjust settings, you can modify the properties file found in the specified directory. Keep in mind that if the jar and properties files are not in the same directory, default values will be used.
Modifying Configurations
To customize configurations, open the vanilladb.properties file with your favorite text editor. Each entry is a key-value pair in the format:
key=value
Commonly Used Configurations
The following configurations are usually adjusted in VanillaCore:
- Physical block size:
org.vanilladb.core.storage.file.Page.BLOCK_SIZE=4096 - Database files location:
org.vanilladb.core.storage.file.FileMgr.DB_FILES_DIR= - Buffer pool size:
org.vanilladb.core.storage.buffer.BufferMgr.BUFFER_POOL_SIZE=1024 - Enable checkpointing:
org.vanilladb.core.server.VanillaDb.DO_CHECKPOINT=true
You can find more configurable options in the vanilladb.properties file.
Supported Syntax
For detailed information about supported syntax, please refer to the VanillaDB SQL documentation.
Architecture Tutorials
VanillaCore also provides educational slides that explain database internal architecture. Here’s what you can explore:
- Background
- Architecture Overview
- Server and Thread Management
- Query Processing
- Data Access and File Management
- Memory Management
- Record Management
- Transaction Concurrency
- Transaction Recovery
- Indexing
Linking via Maven
To include VanillaCore in your project using Maven, add the following dependency:
<dependency>
<groupId>org.vanilladb</groupId>
<artifactId>core</artifactId>
<version>0.7.0</version>
</dependency>
Troubleshooting
If you encounter any issues while setting up or running your VanillaCore database, consider the following troubleshooting steps:
- Ensure you have the correct version of Java Development Kit installed and properly configured in your PATH.
- Verify that Maven is installed and working correctly by checking its version with
mvn -v. - Check for any error messages in your console when starting the server; they may point to misconfigurations in your properties file.
- If the server does not start, ensure that the database name folder is correctly created in your home directory.
- For further issues, check the console log for hints on what might be going wrong.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

