How to Get Started with VanillaCore: Your Guide to a Relational Database Engine

Dec 8, 2022 | Programming

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:

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.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox