# World database

## [HSQLDB](https://hsqldb.org/) - the internal world database

ParadiseLand cleverly addresses and eases performance concerns using an asynchronous engine generator. To ensure everything flows smoothly, **it teams up with a local database to store and protect chunks** scheduled for asynchronous creation. It all comes together, working in harmony with Spigot and Paper frameworks.

{% hint style="warning" %} <mark style="color:yellow;">Any Paradise world will have a</mark> <mark style="color:yellow;"></mark><mark style="color:yellow;">`/ParadiseLand`</mark> <mark style="color:yellow;"></mark><mark style="color:yellow;">folder containing the HSQLDB database. Please refrain from editing any files within this directory</mark>.
{% endhint %}

### Verbose

<pre class="language-yaml"><code class="lang-yaml"><strong>hsqldb.verbose: false
</strong></code></pre>

You can enable or disable database verbosity (useful for debugging purposes).

### Compression

<pre class="language-yaml"><code class="lang-yaml"><strong>hsqldb.compression-type: COMPRESSION
</strong></code></pre>

Specify the data compression type.

<table data-view="cards"><thead><tr><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><mark style="color:yellow;"><strong>DISABLED</strong></mark></td><td><em>The world's database compression won't be used</em></td></tr><tr><td><mark style="color:red;"><strong>SPEED</strong></mark></td><td><em>The world's database will be heavier but you won't overload the CPU</em></td></tr><tr><td><mark style="color:green;"><strong>COMPRESSION</strong></mark></td><td><em>The world's database will be lighter at the cost of more CPU usage</em></td></tr></tbody></table>

### Compaction

<pre class="language-yaml"><code class="lang-yaml"><strong>hsqldb.compaction: true
</strong></code></pre>

Enabling this property will trigger the compaction of the world's database when the world is unloaded or the server is shut down.

{% hint style="success" %}
This will save some disk space but it requires more time.
{% endhint %}

{% hint style="success" %}
This is useful after the pre-generation of a big world!
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://paradiseland.gitbook.io/wiki/world-database.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
